1С табличный документ свернуть группировки

Табличный документ может содержать группировки. Группировки в табличном документе могут быть созданы интерактивно, программно, а также при выводе отчета с помощью построителя отчета или системы компоновки данных.

Иногда требуется, чтобы группировки в сформированном табличном документе были свернуты до определенного уровня. Например, после формирования отчета отображать группировки только самого верхнего уровня.

Для того чтобы свернуть/развернуть группировки определенного уровня у табличного документа имеется метод ПоказатьУровеньГруппировокСтрок() (для колонок имеется аналогичный метод ПоказатьУровеньГруппировокКолонок ). Данный метод раскрывает группировки с уровнем, меньше переданного в метод (нумерация уровней начинается с нуля), закрывает группировки с уровнем, равным переданным и отставляет без изменений группировки с уровнем больше переданного.

Таким образом, если вызывать метод ПоказатьУровеньГруппировокСтрок() с уровнем 1, то результат для приведенного в начале статьи примера будет следующим:

При этом если раскрыть зарытые группировки, то вложенные группировки будут раскрытыми.

Если нужно, чтобы были скрыты все группировки до определенного уровня, то следует вызывать метод ПоказатьУровеньГруппировокСтрок() в цикле, последовательно скрывая все уровни до нужного.

Данный пример скроет все группировки до первого уровня. Результат будет такой же, как в предыдущем примере, однако при раскрытии закрытой группировки вложенные группировки будут закрытыми.

1с. СКД. Уровень группировки по умолчанию.
Как-то изощрялся и понадобилось мне выводить отчет СКД 1с так, чтобы группировки были свернуты до определенного уровня по умолчанию. Вот как это было сделано.

1. В Модуле объекта отчета создать типовую процедуру "ПриКомпоновкеРезультата"
2. В тело процедуры вставить код

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

Читайте также:  Часы wooden clock инструкция на русском

3. В последнй строке задать уровень группировок. 0-самый верхий уровень

Формируем ТабДок а далее пишем:
Код 1C v 8.х

Либо при выводе:
ТабличныйДокумент (SpreadsheetDocument)
Вывести (Put)
Синтаксис:
Код 1C v 8.х
Параметры:
(обязательный)
Тип: ТабличныйДокумент, ПолеТабличногоДокумента. Выводимая таблица.
(необязательный)
Тип: Число. Уровень используется для автоматической группировки строк табличного документа. Соседние строки с одинаковым уровнем будут отнесены к одной группе. Строки с минимальным уровнем в группу не объединяются.
(необязательный)
Тип: Строка. Название группы, к которой относятся выводимые строки.
Значение по умолчанию: Пустая строка
(необязательный)
Тип: Булево. Истина – выведенная группа будет открыта, Ложь – группа будет выведена в свернутом виде.
Значение по умолчанию: Истина
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента. Область, в которую был осуществлен вывод.
Описание:
Выводит табличный документ в результирующий табличный документ, добавляя его со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки.

Обратите внимание на параметр номер 2 "Уровень".

Оцените статью
Добавить комментарий

Adblock detector