|
1С как в СКД свернуть вообще все группировки? | ☑ | ||
---|---|---|---|---|
0
DeXeD
15.12.14
✎
08:36
|
Нужно, чтобы при открытии вложенной группировки, вложенные в нее были также свернуты.
|
|||
1
DeXeD
15.12.14
✎
08:37
|
ПоказатьУровеньГруппировокСтрок сворачивает самый верхний уровень, вложенные в нее остаются развернуты
|
|||
2
Бледно Золотистый
15.12.14
✎
08:50
|
(1) КоличествоУровнейГруппировокСтрок()
Описание: Получает количество уровней группировок строк. |
|||
3
DeXeD
15.12.14
✎
08:56
|
(2)Как это помогает?
* Вывод идет в поле табличного документа. |
|||
4
DeXeD
16.12.14
✎
07:44
|
ап
|
|||
5
Mankubus
16.12.14
✎
07:57
|
ПоказатьУровеньГруппировокСтрок (ShowRowGroupLevel)
Синтаксис: ПоказатьУровеньГруппировокСтрок(<Уровень>) Параметры: <Уровень> (обязательный) Тип: Число. Уровень, до которого необходимо раскрыть группировки строк. Описание: Показывает уровень группировки строк до заданного уровня. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: // ПолеТД - реквизит (поле табличного документа) для показа результатов отчета // В имени кнопки содержится уровень Процедура ОткрытьУровень(Кнопка) Уровень = Число(Сред(Кнопка.Имя, 2)) - 1; У = ПолеТД.КоличествоУровнейГруппировокСтрок() - 1; Пока У > Уровень Цикл ПолеТД.ПоказатьУровеньГруппировокСтрок(У); У = У - 1; КонецЦикла; ПолеТД.ПоказатьУровеньГруппировокСтрок(Уровень); КонецПроцедуры |
|||
6
Лефмихалыч
16.12.14
✎
08:31
|
жаль сдох ТелепатБот
(0) кодом свернуть все после вывода отчета |
|||
7
Мимохожий Однако
16.12.14
✎
08:36
|
(6)С ним было весело
|
|||
8
DeXeD
16.12.14
✎
09:22
|
(6) - ну будет свернуто, все до указанного уровня. Раскрываешь группировку - там все уже развернуто. Вариант ПоказатьУровеньГруппировокСтрок(<Уровень>) не канает.
|
|||
9
DeXeD
16.12.14
✎
09:25
|
Группировок больше 2-х. Допустим , их 3. ПоказатьУровеньГруппировокСтрок(1). Верхний уровень свернут. Раскрываю группировку - раскрывается 2 и 3 сразу. Надо , чтобы 1 был раскрыт, 2 и 3 свернут. (7) - Что не понятного в вопросе?
|
|||
10
pessok
16.12.14
✎
09:34
|
(8) чтобы понять рекурсию, надо понять рекурсию
|
|||
11
pessok
16.12.14
✎
09:35
|
+(10) циклом прекрасно сворачиваются все вложенные группировки
|
|||
12
DeXeD
16.12.14
✎
09:38
|
(11) - напиши пример для ТабличногоДокумента. Вывод идет через ПроцессорВывода.
|
|||
13
pessok
16.12.14
✎
09:41
|
(12) а процессор вывода у тебя идет не в ПолеТабличногоДокумента? А в ПолеТабличногоДокумента у тебя не ТабличныйДокумент? А после обработки ПроцессораВывода уже нельзя с ПТД ничего делать?
|
|||
14
DeXeD
16.12.14
✎
09:43
|
(13) - конкретно. У меня есть ПолеТабличногоДокумента. В нем области. Что дальше?
|
|||
15
pessok
16.12.14
✎
09:49
|
(13) конкретно было в (5)
|
|||
16
pessok
16.12.14
✎
09:49
|
Процедура ДействияФормыСформироватьВручную(Кнопка)
ЭлементыФормы.Результат.Очистить(); ИсполняемыеНастройки = КомпоновщикНастроек.Настройки; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, ИсполняемыеНастройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат); ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда Прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультатаКомпоновкиДанных); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(0); КонецПроцедуры |
|||
17
DeXeD
16.12.14
✎
09:54
|
(16) и? что вложенные группировки там свернуты? - Нет. Вопрос в теме звучит именно: (0)
|
|||
18
pessok
16.12.14
✎
10:07
|
(17) ну так цикл как в (5)...
У = ЭлементыФормы.Результат.КоличествоУровнейГруппировокСтрок() - 1; Пока У > 0 Цикл ЭлементыФормы.Результат.ПоказатьУровеньГруппировокСтрок(У); У = У - 1; КонецЦикла; |
|||
19
DeXeD
16.12.14
✎
10:09
|
(18) к чему его привязать? Это цикл подошел бы, если бы было событие ПриРаскрытииГруппировки.
|
|||
20
pessok
16.12.14
✎
10:09
|
(19) это цикл вызывается после полной компоновки результат
|
|||
21
pessok
16.12.14
✎
10:10
|
+(20) он сворачивает все группировки после компоновки. если группы уже были развернуты вручную, то уже никак их не свернуть
|
|||
22
pessok
16.12.14
✎
10:11
|
и да,
Пока У >= 0 Цикл |
|||
23
DeXeD
16.12.14
✎
10:16
|
(21) - Спасибо. Не думал, что этот метод сворачивает группировки. Даже не пробывал этот цикл. Все, тема закрыта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |