Допустим, перед нами стоит задача получить сумму начислений по подразделениям, при этом важно учесть иерархию этих подразделений. Мы можем реализовать это, написав небольшой запрос.
ВЫБРАТЬ
НачислениеЗарплатыНачисления.Подразделение КАК Подразделение,
СУММА(НачислениеЗарплатыНачисления.Результат) КАК Результат
ИЗ
Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления
ГДЕ
НачислениеЗарплатыНачисления.Ссылка.МесяцНачисления = &МесяцНачисления
СГРУППИРОВАТЬ ПО
НачислениеЗарплатыНачисления.Подразделение
УПОРЯДОЧИТЬ ПО
Подразделение
ИТОГИ
СУММА(Результат)
ПО
Подразделение ТОЛЬКО ИЕРАРХИЯ
После выполнения кода мы увидим дерево значений, которое будет выглядеть следующим образом:
А теперь представьте: вы сформировали отчет по начислениям зарплаты для компании с разветвленной структурой подразделений. Данные выводятся в виде классического «дерева» — это работает, если уровней 2–3. Но когда подразделений десятки, а иерархия напоминает матрешку (например, «Головной офис → Финансы → Бухгалтерия → Отдел расчетов → Группа первички»), отчет превращается в бесконечную вертикальную прокрутку. Такое дерево значений визуально оценить сложно. При 3+ уровнях навигация усложняется — пользователь теряет контекст.
А если представить, что дерево значений с большим количеством уровней можно отобразить горизонтально ?
Уверен, что в таком виде дерево значений визуально оценить куда проще.
Эта обработка — наглядный пример того, как с помощью программного кода данные преобразуются в удобную горизонтальную таблицу. Вот что делает её особенной:
- Количество уровней определяется динамически — система сама подстраивается под структуру ваших данных. Никаких ручных расчетов!
- Хотите изменить логику или добавить новые параметры? Всё, что вам нужно — отредактировать запрос. Никаких сложных доработок!
- Код написан максимально прозрачно, чтобы вы могли легко разобраться в его работе или адаптировать под свои задачи.
Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.26.1521).
Проверено на следующих конфигурациях и релизах: Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.29.78).
С программным кодом можно ознакомиться на Git Hub: horizontal-view-of-data