ИерархическаяГруппировкаТаблицыМакетаКомпоновкиДанных

Типы · DataCompositionTemplateTableHierarchicalGroup

Иерархическая группировка таблицы.

Полное описание, параметры и ограничения

ИерархическаяГруппировкаТаблицыМакетаКомпоновкиДанных (DataCompositionTemplateTableHierarchicalGroup)

ИерархическаяГруппировкаТаблицыМакетаКомпоновкиДанных (DataCompositionTemplateTableHierarchicalGroup)

Доступен, начиная с версии 8.1.

Описание:

Иерархическая группировка таблицы.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data-composition-system/composition-template}. Имя типа XDTO: TableHierarchicalGroup.

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Распознать иерархические узлы собственного скомпилированного макета

Прямой фрагмент для реального узла макета: различаем пять специальных типов и выбираем роль узла при диагностике структуры.

Где и как запускать

Серверный модуль своего учебного отчета либо толстый клиент; без обращения к рабочим данным.

Подготовка

  1. Создайте собственный макет УчебнаяИерархия типа СКД на своем иерархическом справочнике. В настройках включите иерархические группировки и детальные записи; отдельно изучите вариант структуры Таблица и Диаграмма.

  2. Макет.Тело[0] — только начальный узел для диагностики. Для оси таблицы выберите настоящий узел из Макет.Тело[0].Строки или .Колонки; для диаграммы — из группировки Серии или Точки. Для вложенных детальных записей выберите реальный узел соответствующего ТелоИерархии в отладчике вместо первой позиции.

Схема = ПолучитьМакет("УчебнаяИерархия");
Компоновщик = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = Компоновщик.Выполнить(Схема, Схема.НастройкиПоУмолчанию);
Узел = Макет.Тело[0];
Вид = ТипЗнч(Узел);
Если Вид = Тип("ИерархическаяГруппировкаМакетаКомпоновкиДанных") Тогда
    Сообщить("Иерархическая группировка отчета");
ИначеЕсли Вид = Тип("ИерархическаяГруппировкаТаблицыМакетаКомпоновкиДанных") Тогда
    Сообщить("Иерархическая группировка оси таблицы");
ИначеЕсли Вид = Тип("ИерархическаяГруппировкаДиаграммыМакетаКомпоновкиДанных") Тогда
    Сообщить("Иерархическая группировка диаграммы");
ИначеЕсли Вид = Тип("ИерархическиеЗаписиМакетаКомпоновкиДанных") Тогда
    Сообщить("Место иерархических детальных записей отчета");
ИначеЕсли Вид = Тип("ИерархическиеЗаписиТаблицыМакетаКомпоновкиДанных") Тогда
    Сообщить("Место иерархических детальных записей таблицы");
Иначе
    Сообщить("Получен другой узел: " + Строка(Вид));
КонецЕсли;

Разбор по шагам

  1. Скомпилируйте свою подготовленную иерархическую схему.

  2. Выберите реальный интересующий узел в его настоящей коллекции.

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

Как проверить результат

  1. Сравните роль узла с настройками своего отчета.

  2. Другой тип не считается найденной иерархической группировкой.

Ожидаемый результат

Диагностика конкретного реально полученного узла, а не гарантия, что все пять типов есть в каждом макете.

На что обратить внимание

  1. У этих специальных типов нет самостоятельных конструкторов. Форма дерева определяется компилятором и настройками; не создавайте узлы случайными именами типов и не выдавайте нулевое наличие типа за успешную демонстрацию.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.