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

1С:Предприятие ::

Метки: 

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

Я
   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) Идеально! Спасибо, Мастер!)


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