Вывод отчета с заданным уровнем группировки

Как сделать subj? Т.е. стоит задача вывести многоуровневый отчет в табличный документ с заданным уровнем группировки, а именно 1. Чтобы пользователь потом смог раскрыть нужную ему группировку. Возможно ли такое? Отчет выводится в новый Табличный документ.

Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Анисимов Павел
Анисимов Павел
12 лет назад

ТабличныйДокумент.ПоказатьУровеньГруппировокСтрок(УровеньГруппировки)

Loon
Loon
12 лет назад

Прошу не пинать, недавно с 8-й занимаюсь. Реализовал так:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
ВыводитьШапкуНаВсехСтраницах = Истина;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Если СхемаКомпоновкиДанных = Неопределено тогда
СхемаКомпоновкиДанных = ЭтотОбъект.СхемаКомпоновкиДанных;
КонецЕсли;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
//Создадим и инициализируем процессор компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
//Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
//Обозначим начало вывода
ПроцессорВывода.НачатьВывод();
ТаблицаЗафиксирована = ложь;
ДокументРезультат.ФиксацияСверху = 0;
//Основной цикл вывода отчета
Пока Истина Цикл
//Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
// Уровень
ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);
Если ЭлементРезультата = Неопределено Тогда
//Следующий элемент не получен – заканчиваем цикл вывода
Прервать;
Иначе
// Зафиксируем шапку
Если Не ТаблицаЗафиксирована
И ЭлементРезультата.ЗначенияПараметров.Количество() > 0
И ТипЗнч(ЭтотОбъект.КомпоновщикНастроек.Настройки.Структура[0]) Тип(“ДиаграммаКомпоновкиДанных”) Тогда
ТаблицаЗафиксирована = Истина;
ДокументРезультат.ФиксацияСверху = ДокументРезультат.ВысотаТаблицы;
Если ВыводитьШапкуНаВсехСтраницах тогда
ОбластьШапки = ДокументРезультат.Область(4, ,ДокументРезультат.ВысотаТаблицы, );
ДокументРезультат.ПовторятьПриПечатиСтроки = ОбластьШапки;
КонецЕсли;
КонецЕсли;
//Элемент получен – выведем его при помощи процессора вывода
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры // ПриКомпоновкеРезультата()