четверг, 22 августа 2013 г.

Свернутые группировки при выводе отчета на СКД

По умолчанию отчеты на СКД выводятся с уже развернутыми группировками. Чтобы при выводе отчета группировки были свернуты нужно добавить следующий код в модуль отчета:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

   
СтандартнаяОбработка = Ложь;
   
КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;
   
Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
   
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   
ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки);
   
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
   
//ДокументРезультат.ПоказатьУровеньГруппировокСтрок(2); //Уровень 3
    //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); //Уровень 2
   
ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);   //Уровень 1

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


Добавить комментарий

2 комментария :

  1. Чтобы и вложенные уровни были свернуты нужно пробежаться по ним в цикле
    КонечныйУровеньГруппировки = 0;
    ТекущийУровень = ДокументРезультат.КоличествоУровнейГруппировокСтрок() - 1;
    Пока ТекущийУровень > КонечныйУровеньГруппировки Цикл
    ДокументРезультат.ПоказатьУровеньГруппировокСтрок(ТекущийУровень);
    ТекущийУровень = ТекущийУровень - 1;
    КонецЦикла;
    ДокументРезультат.ПоказатьУровеньГруппировокСтрок(КонечныйУровеньГруппировки);

    ОтветитьУдалить