Подскажите, что не так делаю, мне надо сгруппировать по контрагенту, но сгруппировать получается только в цикле по документу, а мне надо по всем документам чтобы группировало контрагента
Процедура Сформировать()
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "
|Период с НачДата По КонДата;
|Док = Документ.БанковскаяВыписка.ТекущийДокумент;
|Затраты = Документ.ПланБюджетирование.КодЗатрат, Документ.ПриходныйКассовый.Затраты, Документ.РасходныйКассовый.Затраты, Документ.БанковскаяВыписка.ВидыЗатрат;
|Группировка Док;";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("ТаблицаЗначений");
Таб.НоваяКолонка("Док");
Таб.НоваяКолонка("Примечание");
Таб.НоваяКолонка("План","Число");
Таб.НоваяКолонка("Факт","Число");
ТаблСтрок = СоздатьОбъект("ТаблицаЗначений");
ТаблСтрок.НоваяКолонка("Контр");
ТаблСтрок.НоваяКолонка("Сумма");
ТаблСтрок.НоваяКолонка("Прим");
ТаблСтрок.НоваяКолонка("Статья");
Табл = СоздатьОбъект("Таблица");
Табл.ИсходнаяТаблица("Таблица");
Табл.ВывестиСекцию("Шапка");
Табл.Опции(0,0,Табл.ВысотаТаблицы(),0);
Итог = 0;
Пока Запрос.Группировка(1) = 1 Цикл
ПечСумма = 0;
Док = Запрос.Док;
Таб.НоваяСтрока();
Таб.Док = Док;
Таб.Примечание = Док.Примечание;
Если (Док.Вид() = "БанковскаяВыписка") Тогда
Док.ВыбратьСтроки();
ТаблСтрок.УдалитьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
Если ПроверкаСоответствия(Док.ВидыЗатрат) = 1 Тогда
Сум = глПересчет(Док.СуммаСНДС,Док.РСчет.Валюта,Док.ДатаДок,Гривня,Док.ДатаДок,Док.ДатаДок);
ПечСумма = ПечСумма + Сум;
ТаблСтрок.НоваяСтрока();
ТаблСтрок.Контр = Док.Субконто1;
ТаблСтрок.Сумма = Сум;
КонецЕсли;
КонецЦикла;
ТаблСтрок.Свернуть("Контр", "Сумма");
Если ТаблСтрок.КоличествоСтрок() > 0 Тогда
Таб.Факт = ПечСумма;
ТаблСтрок.ВыбратьСтроки();
Пока ТаблСтрок.ПолучитьСтроку() = 1 Цикл
ПечКонтр = ТаблСтрок.Контр;
ПечСум = ТаблСтрок.Сумма;
Табл.ВывестиСекцию("Строка");
КонецЦикла;
КонецЕсли;
Иначе
Если ПроверкаСоответствия(Док.Затраты) = 1 Тогда
ПечСумма = глПересчет(Док.СуммаВал,Док.РСчет.Валюта,Док.ДатаДок,Гривня,Док.ДатаДок,Док.ДатаДок);
Таб.Факт = ПечСумма;
Табл.ВывестиСекцию("Док");
ПечКонтр = Док.Субконто1;
Если Док.Вид() = "ПлатежноеПоручение" Тогда
ПечПримечание = Док.Содержание;
Иначе
ПечПримечание = Док.Примечание;
КонецЕсли;
ПечСум = ПечСумма;
ПечСтатья = Док.Затраты;
Табл.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЦикла;
Таб.ВыбратьСтроки();
Факт = Таб.Итог("Факт");
Табл.ВывестиСекцию("Итог");
Табл.ТолькоПросмотр(1);
Табл.Показать();