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