Фильтрация бух.итогов по списку корр. субконто

Новая тема
"Релиз платформы: 7.70.027, вариант dbf<br>База - любая с компонентой Бухгалтерсий учет.<br><br>Как выдумаете, почему работает так:<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,2);<br>Сообщить(БухИт.ДО());<br><br>, но не работает так:<br>Список=СоздатьОбъект("СписокЗначений");<br>Список.ДобавитьЗначение(ВыбКонтрагент);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,Список,1);<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,2);<br>Сообщить(БухИт.ДО());<br><br>в то же время замечательно работает так:<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"66.3","51",,2);<br>Сообщить(БухИт.КО());<br><br>и так:<br>Список=СоздатьОбъект("СписокЗначений");<br>Список.ДобавитьЗначение(ВыбКонтрагент);<br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Список,1);<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"66.3","51",,2);<br>Сообщить(БухИт.КО());<br><br>То есть, подытожим, имею проблему при фильтрации бухитогов по корреспондирующим субконто, если их подавать списком значений. Я чего то недопонимаю и в документации все же что то есть по этому поводу или это грабли движка?"
Вообщето я нигде не встречала в описании, что субконто может быть списком<br><br>Вот для этого метода при выбора операции и проводок написанно<br>".. Кроме того, в качестве значения данного параметра можно передавать ''Список значений''"
Да нет, не значение субконто = Список значений, а значение фильтра при выборке бухгалтерских итогов = Список значений и вид фильтра = 1, то есть, "разворачивать по субконто" = "искать вхождения в список". Такой прием повсеместно применяется в типовых конфигурациях, но относительно прямого субконто выборки, а не корреспондирующего. Относительно корреспондирующего, правда, тоже есть вхождение в типовой, в отчете "Анализ состояния НУ". Не знаю, работает ли там оно.
"ИспользоватьКорСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>)<br><br><br>> но не работает так:<br>> Список=СоздатьОбъект("СписокЗначений");<br>> Список.ДобавитьЗначение(ВыбКонтрагент);<br>> БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>> БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,Список,1);<br><br>и после этого вы утверждаете что <субконто> у вас не список значений?<br><br>" Использование параметра <типфильтра> со значением 1(разворачивать)в сочетание с выбранной группой справочника в параметре <субконто> позволяет получить итоги по всем элеметам данной группы"<br><br><br>> Такой прием повсеместно применяется в типовых конфигурациях, но <br>> относительно прямого субконто выборки, а не корреспондирующего. <br><br>Еще раз посмотрите описание . Метод использоватьсубконто() конкретно сказано, что <субконто> может быть объектом "СписокЗначени"<br><br>Для БИ метода использоватькорсубконто() такого упоминания нет."
> Еще раз посмотрите описание . Метод использоватьсубконто() конкретно сказано, что <субконто> может быть объектом "СписокЗначени"<br><br>> Для БИ метода использоватькорсубконто() такого упоминания нет.<br><br>Вот про это я и спрашивал!! У меня нет под рукой описания, я и хотел знать, что там про это написано. Но вообще то, неудобно и нелогично
"Я снова столкнулся с задачкой, в которой это было востребовано. Пришлось разобраться. Оказывается, оно все таки работает :) Просто надо применять верные методы. В документации может про это и написано, но "между строк". Итак, не работало у меня потому что надо было писать не БухИт.ДО(), а БухИт.КорДО()<br><br>Вообще, вот пример, который показывает где какие методы использовать, может пригодится кому:<br><br>БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьСубконто(ВидыСубконто.РасходыБудущихПериодов,СписокСтатей,1);<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Сотрудники,СписокСотрудников,1);<br>БухИт.ВыполнитьЗапрос(НачДата,КонДата,"97","70",,2);<br><br>Сообщить("Общая сумма оборотов: "+СокрЛП(Формат(БухИт.КорДО(),"Ч15.2.'")));<br><br>БухИт.ВыбратьСубконто(ВидыСубконто.РасходыБудущихПериодов,,1);<br>Пока БухИт.ПолучитьСубконто(ВидыСубконто.РасходыБудущихПериодов)=1 Цикл<br>   Сообщить("Значение аналитики (доминантное субконто): "+Строка(БухИт.Субконто(ВидыСубконто.РасходыБудущихПериодов))+", сумма: "+СокрЛП(Формат(БухИт.ДО(),"Ч15.2.'")));  //странно, правда? тут все таки надо писать именно ДО()<br>   БухИт.ВыбратьКорСубконто(ВидыСубконто.Сотрудники,,1);<br>   Пока БухИт.ПолучитьКорСубконто(ВидыСубконто.Сотрудники)=1 Цикл<br>      Сообщить("Значение аналитики (корреспондирующее субконто): "+Строка(БухИт.КорСубконто(ВидыСубконто.Сотрудники))+", сумма: "+СокрЛП(Формат(БухИт.КорДО(),"Ч15.2.'")));<br>   КонецЦикла;<br>КонецЦикла;<br><br>вот таким образом работает все корректно<br>"
"БухИт=СоздатьОбъект("БухгалтерскиеИтоги");<br>БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,3);<br>Сообщить(БухИт.ДО());"
тема называется "Фильтрация бух.итогов по списку корр. субконто". В общем там именно в фильтре по списку проблема была
"> тема называется "Фильтрация бух.итогов по списку корр. субконто". В общем там именно в фильтре по списку проблема была<br><br>так различие всего в одно параметре :<br>БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,3);"

Читают тему

(гостей: 1)

Быстрый переход