Отчет выводит как на рис.1. А надо, чтобы в дебет счета 10.3.2 и далее все что к нему относится, В дебет счета 10.3 и далее все что к нему относится. А он, как видно на рисунке В дебет счета пишет для каждого вида номенклатуры. Что в коде исправить можно?
Приложение:
Запрос = Новый Запрос("ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК Номенклатура,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК ФизическоеЛицо,
| СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма,
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ,
| СУММА(ХозрасчетныйДвиженияССубконто.КоличествоДт) КАК Количество,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код КАК ТабельныйНомер,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ХозрасчетныйДвиженияССубконто.СчетДт.Код КАК Код,
| ХозрасчетныйДвиженияССубконто.СчетДт.Наименование КАК ИмяСчета
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| &НачПериода,
| &КонПериода,
| СчетДт В ИЕРАРХИИ (&Счет10_3)
| И СчетКт В ИЕРАРХИИ (&Счет71_1)) КАК ХозрасчетныйДвиженияССубконто
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.Регистратор,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения
|ИТОГИ
| СУММА(Сумма),
| СУММА(Количество)
|ПО
| ОБЩИЕ,
| СчетДт,
| Номенклатура,
| ФизическоеЛицо");
Запрос.Параметры.Вставить("НачПериода", НачПериода);
Запрос.Параметры.Вставить("КонПериода", КонПериода);
Запрос.Параметры.Вставить("Счет10_3", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03"));
Запрос.Параметры.Вставить("Счет71_1", ПланыСчетов.Хозрасчетный.НайтиПоКоду("71.01"));
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат;
КонецЕсли;
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
Макет = ПолучитьМакет("МакетТопливо");
ОбластьШапкаТаблицы= Макет.ПолучитьОбласть("Шапка");
ОбластьСчетДт=Макет.ПолучитьОбласть("СчетДт");
ОбластьДетали= Макет.ПолучитьОбласть("Детали");
ОбластьИтоги= Макет.ПолучитьОбласть("ОбщиеИтоги");
ОбластьИтогиПоГруппировке= Макет.ПолучитьОбласть("ИтогПоГруппировке");
ОбластьИтогПоСчету= Макет.ПолучитьОбласть("ИтогПоСчету");
ТабДок.Очистить();
ОбластьШапкаТаблицы.Параметры.НачПериода = Формат(НачПериода, "ДФ=dd.MM.yyyy");
ОбластьШапкаТаблицы.Параметры.КонПериода = Формат(КонПериода, "ДФ=dd.MM.yyyy");
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОбщие.Следующий() Цикл
ВыборкаСчет = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСчет.Следующий() Цикл
ВыборкаНоменклатура = ВыборкаСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
Выборка = ВыборкаНоменклатура.Выбрать();
ОбластьСчетДт.Параметры.Заполнить(ВыборкаНоменклатура);
ТабДок.Вывести(ОбластьСчетДт,1);
ВыборкаФизЛицо = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаФизЛицо.Следующий() Цикл
Выборка = ВыборкаФизЛицо.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьДетали.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьДетали);
КонецЦикла;
ОбластьИтогиПоГруппировке.Параметры.Заполнить(ВыборкаФизЛицо);
ТабДок.Вывести(ОбластьИтогиПоГруппировке);
КонецЦикла;
КонецЦикла;
ОбластьИтогПоСчету.Параметры.Заполнить(ВыборкаСчет);
ТабДок.Вывести(ОбластьИтогПоСчету);
//заполнение итогово по счету в макете
КонецЦикла;
ОбластьИтоги.Параметры.Заполнить(ВыборкаОбщие);
ТабДок.Вывести(ОбластьИтоги);
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();