|
Уровни группировок в СКД | ☑ | ||
---|---|---|---|---|
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) Идеально! Спасибо, Мастер!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |