Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Уровни группировок в СКД

Уровни группировок в СКД
Я
   prilforreal
 
07.02.18 - 10:46
Доброго всем! Часто пишу отчеты в СКД, появилась необходимость задать изанчальный уровень группировок, пишу в модуле отчета код:

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

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

Но все группировки остаются раскрытыми, помогите разобраться, в чем же дело.
 
 
   GGDots
 
1 - 07.02.18 - 10:54
Может это поможет:

v8: СКД. Уровни группировок.

то что надо?
   prilforreal
 
2 - 07.02.18 - 11:20
(1) Пробовал и так, все равно все группировки раскрыты
   evorle145
 
3 - 07.02.18 - 11:25
(2) да, кажется была такая проблема.. выкручивался как то через форму документа... то есть  ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0) в форме документа вызывал при каком то событии.. Но могу дико ошибаться..
   Rokford
 
4 - 07.02.18 - 11:35
у меня в ПриКомпоновкеРезультата работает

   //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(2); //Уровень 3

   //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); //Уровень 2

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



Лучший вариант (еще раз намекаю на СП)

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

Будут вложенные тоже свернуты.
   prilforreal
 
15 - 07.02.18 - 14:51
(14) Идеально! Спасибо, Мастер!)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует