Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:19

Вывод отчета в поле табличного документа с иерархией

Автор anateron, 06 ноя 2011, 16:09

0 Пользователей и 1 гость просматривают эту тему.

anateron

Здравствуйте, стоит задача сделать отчет, который должен выводиться в поле табличного документа.
Каким образом вывести данный отчет так, чтобы он сворачивался по первой колонке "Триста"(должен быть + разворачивающий все остальные детальные записи). В консоле запросов я так сделать могу(если выбрать способ выгрузки "дерево"). Вот сам код

Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   ВЫБОР
|    КОГДА ХозрасчетныйОстатки.СуммаОстаток > 300000
|    ТОГДА ""Более трехсот""
|    ИНАЧЕ ""Менее трехсот""
|   КОНЕЦ КАК Поле1,
|   ХозрасчетныйОстатки.Субконто1,
|   СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток
|ИЗ
|   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
|
|СГРУППИРОВАТЬ ПО
|   ХозрасчетныйОстатки.Субконто1,
|   ВЫБОР
|    КОГДА ХозрасчетныйОстатки.СуммаОстаток > 300000
|    ТОГДА ""Более трехсот""
|    ИНАЧЕ ""Менее трехсот""
|   КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
|   Поле1
|ИТОГИ
|   СУММА(СуммаОстаток)
|ПО
|   Поле1";

ЭлементыФормы.ДокументРезультат.Очистить();

Макет = ПолучитьМакет("Анализ");

ЗаголовокОтчета = Макет.ПолучитьОбласть("ЗаголовокОтчета");

ЭлементыФормы.ДокументРезультат.Вывести(ЗаголовокОтчета);

//ЭлементыФормы.ДокументРезультат.НачатьАвтогруппировкуСтрок();

ОбластьСтрокаСчет = Макет.ПолучитьОбласть("Строка");

ЭлементыФормы.ДокументРезультат.НачатьАвтогруппировкуСтрок();

Результат = Запрос.Выполнить();
ВыборкаПоТриста = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Поле1");
Пока ВыборкаПоТриста.Следующий() Цикл
ВыборкаПоКонтрагентам = ВыборкаПоТриста.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоКонтрагентам.Следующий() Цикл
ОбластьСтрокаСчет.Параметры.Триста = ВыборкаПоКонтрагентам.Поле1;
ОбластьСтрокаСчет.Параметры.Контрагент = ВыборкаПоКонтрагентам.Субконто1;
ОбластьСтрокаСчет.Параметры.СуммаОстаток = ВыборкаПоКонтрагентам.СуммаОстаток;
ЭлементыФормы.ДокументРезультат.Вывести(ОбластьСтрокаСчет);
КонецЦикла;

КонецЦикла;

ЭлементыФормы.ДокументРезультат.ЗакончитьАвтогруппировкуСтрок();

КонецПроцедуры

has

НачатьАвтогруппировкуСтрок() и ЗакончитьАвтогруппировкуСтрок()

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск