|   |   | 
| 
 | Уровни группировок в СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        prilforreal 07.02.18✎ 10:46 | 
        Доброго всем! Часто пишу отчеты в СКД, появилась необходимость задать изанчальный уровень группировок, пишу в модуле отчета код:
 Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки); ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0); КонецПроцедуры Но все группировки остаются раскрытыми, помогите разобраться, в чем же дело. | |||
| 1
    
        GGDots 07.02.18✎ 10:54 | ||||
| 2
    
        prilforreal 07.02.18✎ 11:20 | 
        (1) Пробовал и так, все равно все группировки раскрыты     | |||
| 3
    
        evorle145 07.02.18✎ 11:25 | 
        (2) да, кажется была такая проблема.. выкручивался как то через форму документа... то есть  ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0) в форме документа вызывал при каком то событии.. Но могу дико ошибаться..     | |||
| 4
    
        Rokford 07.02.18✎ 11:35 | 
        у меня в ПриКомпоновкеРезультата работает
 //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(2); //Уровень 3 //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); //Уровень 2 ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0); //Уровень 1 | |||
| 5
    
        prilforreal 07.02.18✎ 11:39 | 
        (4) А вы где либо эту процедуру указываете?     | |||
| 6
    
        Rokford 07.02.18✎ 11:41 | 
        Где ж может быть ПриКомпоновкеРезультата? В модуле объекта, конечно.     | |||
| 7
    
        Rokford 07.02.18✎ 11:44 | 
        Код один в один как в (0). Только в разных отчетах параметр (уровень) разный. Всегда работало. (необходимость была только в БП 3.0 пока)     | |||
| 8
    
        Mankubus 07.02.18✎ 11:47 | 
        (0) а эта процедура выполняется вообще? Может вы забыли привязать её к событию?     | |||
| 9
    
        prilforreal 07.02.18✎ 11:47 | 
        (6) Вот же, а у меня процедура в модуле формы)     | |||
| 10
    
        prilforreal 07.02.18✎ 11:54 | 
        (7) Прописал процедуру в модуле объекта и все заработало, теперь другой вопрос, при раскрытии уровня вснутренние уровни оказываются раскрыты, как с этим бороться?     | |||
| 11
    
        Rokford 07.02.18✎ 11:55 | 
        (9) Бывает :)
 (10) Задай в параметре нужный уровень, до которого нужно раскрывать. У тебя сейчас 0 стоит, т.е. все раскрыто (по-моему) | |||
| 12
    
        Rokford 07.02.18✎ 12:02 | 
        (9)Пользуйся кнопкой "Процедуры и функции". Не ошибешься где и что.
 https://hkar.ru/SQlg (10) синтакс-помощник рулит :) | |||
| 13
    
        prilforreal 07.02.18✎ 12:17 | 
        (11) 0 как раз таки все закрыто, точнее закрыто до верхнего уровня, его раскрываю, и внутри все уровни открыты. 
 (12) Спасибо, реально полезная вещь!) | |||
| 14
    
        Rokford 07.02.18✎ 12:49 | 
        (13) Тупой вариант
 ... ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0); Лучший вариант (еще раз намекаю на СП) У = ДокументРезультат.КоличествоУровнейГруппировокСтрок() - 1; Пока У <> 0 Цикл ДокументРезультат.ПоказатьУровеньГруппировокСтрок(У); У = У - 1; КонецЦикла; ДокументРезультат.ПоказатьУровеньГруппировокСтрок(У); Будут вложенные тоже свернуты. | |||
| 15
    
        prilforreal 07.02.18✎ 14:51 | 
        (14) Идеально! Спасибо, Мастер!)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |