Вывод элементов иерархии верхнего уровня на СКД
Как получить родителя первого уровня иерархического справочника с помощью СКД.
- Описание
- Подробнее
Описание
Постановка задачи
Имеем иерархический справочник, с различной степенью вложенности элементов. Необходимо в отчете вывести сам элемент и его родителя первого (верхнего уровня)
Вывод только первого уровня иерархии
- В наборе данных запрос выбираем ссылку на элемент справочника два раза (в примере Товар, ТоварИерархия)
- В настройках структуры указываем:
- Группировку по полю ТоварИерархия с типом группировки — Только иерархия. Здесь будет выведен родитель первого уровня;
- В группировке ТоварИерархия устанавливаем отбор по системному полю Уровень = 1, Применение = Только иерархия. В дополнительных настройках группировки отключаем отображение отбора;
- Добавляем вложенную группировку по полю Товар.
Получим следующий результат
Вывести родителя в той же строке
Если надо вывести родителя первого уровня с номенклатурой в одной строке, то выполняем следующие настройки:
- Создаем группировку по полю Товар. В настройках группировки указываем Расположение группировок = нет. Это делается чтобы скрыть данную группировку, но иметь возможность вывести значение поля Товар в следующей группировке;
- В группировку товар добавляем вложенную группировку ТоварИерархия с типом группировки — Только иерархия. Здесь будет выведен родитель первого уровня и сам Товар;
- В группировке ТоварИерархия устанавливаем отбор по системному полю Уровень = 2, Применение = Только иерархия. В дополнительных настройках группировки отключаем отображение отбора;
- В выбранные поля группировки ТоварИерархия добавляем поле Товар
Суть решения
Результат будет выглядеть следующим образом