Отчет позволяет выбирать любой иерархический справочник и выводить его по колонкам. При этом группы без родителя попадают в заголовки, а элементы и группы более нижнего уровня попадают в столбец под заголовок соответствующий самому верхнему родителю, при этом подгруппы выделяются. Элементы без родителя выводятся отдельным столбцом.
В коде используется дерево значений и рекурсия.