Привет всем, недавно подымал вопрос как в СКД выводить форматированный результат
v8: Вывод результата отчета одной строкой.
Теперь появилась необходимость в отчете без использования СКД выводить в таком виде:
Ведомость1|Договор1| |6000
|Договор2| |4400
|Договор3| |5600
Ведомость2|Договор4| |3000
|Договор5| |2400
|Договор6| |7600
Ведомость3|Договор1|Допик1|3000
|Договор1|Допик2|2400
|Договор3|Допик1|7600
Есть код:
Макет = ОтчетОбъект.ПолучитьМакет("МойМакет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетАгента.Номер КАК Ведомость,
| ДСП.Номер КАК Договор,
| ДопсДСП.Номер КАК Допик,
| ОтчетАгента.СуммаДокумента КАК Сумма
|ИЗ
| Документ.ОтчетАгента КАК ОтчетАгента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ДСП КАК ДСП
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ДопсДСП КАК ДопсДСП
| ПО ДСП.Ссылка = ДопсДСП.ИсходныйДоговор.Ссылка
| ПО ОтчетАгента.Договоры.Ссылка = ДСП.Ссылка";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
Но он задваивает номера Ведомостей. Как правильно дописать вышеописанный код?
Сейчас выводит вот так:
Ведомость1|Договор1| |6000
Ведомость1|Договор2| |4400
Ведомость1|Договор3| |5600
Ведомость2|Договор4| |3000
Ведомость2|Договор5| |2400
Ведомость2|Договор6| |7600
Ведомость3|Договор1|Допик1|3000
Ведомость3|Договор1|Допик2|2400
Ведомость3|Договор3|Допик1|7600