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

Новая тема
"Релиз платформы: 7.70.027, вариант dbf
База - любая с компонентой Бухгалтерсий учет.

Как выдумаете, почему работает так:
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,2);
Сообщить(БухИт.ДО());

, но не работает так:
Список=СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(ВыбКонтрагент);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,Список,1);
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,2);
Сообщить(БухИт.ДО());

в то же время замечательно работает так:
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"66.3","51",,2);
Сообщить(БухИт.КО());

и так:
Список=СоздатьОбъект("СписокЗначений");
Список.ДобавитьЗначение(ВыбКонтрагент);
БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.Контрагенты,Список,1);
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"66.3","51",,2);
Сообщить(БухИт.КО());

То есть, подытожим, имею проблему при фильтрации бухитогов по корреспондирующим субконто, если их подавать списком значений. Я чего то недопонимаю и в документации все же что то есть по этому поводу или это грабли движка?"
Вообщето я нигде не встречала в описании, что субконто может быть списком

Вот для этого метода при выбора операции и проводок написанно
".. Кроме того, в качестве значения данного параметра можно передавать ''Список значений''"
Да нет, не значение субконто = Список значений, а значение фильтра при выборке бухгалтерских итогов = Список значений и вид фильтра = 1, то есть, "разворачивать по субконто" = "искать вхождения в список". Такой прием повсеместно применяется в типовых конфигурациях, но относительно прямого субконто выборки, а не корреспондирующего. Относительно корреспондирующего, правда, тоже есть вхождение в типовой, в отчете "Анализ состояния НУ". Не знаю, работает ли там оно.
"ИспользоватьКорСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>)


> но не работает так:
> Список=СоздатьОбъект("СписокЗначений");
> Список.ДобавитьЗначение(ВыбКонтрагент);
> БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
> БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,Список,1);

и после этого вы утверждаете что <субконто> у вас не список значений?

" Использование параметра <типфильтра> со значением 1(разворачивать)в сочетание с выбранной группой справочника в параметре <субконто> позволяет получить итоги по всем элеметам данной группы"


> Такой прием повсеместно применяется в типовых конфигурациях, но
> относительно прямого субконто выборки, а не корреспондирующего.

Еще раз посмотрите описание . Метод использоватьсубконто() конкретно сказано, что <субконто> может быть объектом "СписокЗначени"

Для БИ метода использоватькорсубконто() такого упоминания нет."
> Еще раз посмотрите описание . Метод использоватьсубконто() конкретно сказано, что <субконто> может быть объектом "СписокЗначени"

> Для БИ метода использоватькорсубконто() такого упоминания нет.

Вот про это я и спрашивал!! У меня нет под рукой описания, я и хотел знать, что там про это написано. Но вообще то, неудобно и нелогично
"Я снова столкнулся с задачкой, в которой это было востребовано. Пришлось разобраться. Оказывается, оно все таки работает :) Просто надо применять верные методы. В документации может про это и написано, но "между строк". Итак, не работало у меня потому что надо было писать не БухИт.ДО(), а БухИт.КорДО()

Вообще, вот пример, который показывает где какие методы использовать, может пригодится кому:

БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.РасходыБудущихПериодов,СписокСтатей,1);
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Сотрудники,СписокСотрудников,1);
БухИт.ВыполнитьЗапрос(НачДата,КонДата,"97","70",,2);

Сообщить("Общая сумма оборотов: "+СокрЛП(Формат(БухИт.КорДО(),"Ч15.2.'")));

БухИт.ВыбратьСубконто(ВидыСубконто.РасходыБудущихПериодов,,1);
Пока БухИт.ПолучитьСубконто(ВидыСубконто.РасходыБудущихПериодов)=1 Цикл
  Сообщить("Значение аналитики (доминантное субконто): "+Строка(БухИт.Субконто(ВидыСубконто.РасходыБудущихПериодов))+", сумма: "+СокрЛП(Формат(БухИт.ДО(),"Ч15.2.'")));  //странно, правда? тут все таки надо писать именно ДО()
  БухИт.ВыбратьКорСубконто(ВидыСубконто.Сотрудники,,1);
  Пока БухИт.ПолучитьКорСубконто(ВидыСубконто.Сотрудники)=1 Цикл
     Сообщить("Значение аналитики (корреспондирующее субконто): "+Строка(БухИт.КорСубконто(ВидыСубконто.Сотрудники))+", сумма: "+СокрЛП(Формат(БухИт.КорДО(),"Ч15.2.'")));
  КонецЦикла;
КонецЦикла;

вот таким образом работает все корректно
"
"БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,ВыбКонтрагент,2);
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,3);
Сообщить(БухИт.ДО());"
тема называется "Фильтрация бух.итогов по списку корр. субконто". В общем там именно в фильтре по списку проблема была
"> тема называется "Фильтрация бух.итогов по списку корр. субконто". В общем там именно в фильтре по списку проблема была

так различие всего в одно параметре :
БухИт.ВыполнитьЗапрос(Дата("01.10.2007"),Дата("31.12.2007"),"51","66.3",,3);"
Читают тему
(гостей: 1)

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