К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как сделать иерархию в отчете 1С

Как сделать иерархию в отчете 1С: группировки в СКД, иерархические группировки справочников, итоги по уровням, типичные ошибки и проверка результата.

Иерархия в отчете 1С — это вывод данных с вложенными уровнями: например, сначала группа номенклатуры, внутри неё товары, а внутри товара — документы продаж. Такая структура нужна, когда плоский список нечитаем: пользователь сворачивает лишние уровни и сначала смотрит итоги, а детали раскрывает только там, где это нужно.

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

Способ зависит от того, где вы работаете: в пользовательском режиме «Ещё → Изменить вариант» или в конфигураторе при доработке схемы компоновки данных (СКД). Ниже разобраны оба подхода, ограничения каждого и способы проверить, что итоги посчитались правильно.

Как устроена иерархия в отчетах 1С

Под иерархией обычно понимают две разные вещи, и их важно различать до начала настройки. Первая — структурная вложенность группировок: вы сами решаете, что «Контрагент» будет верхним уровнем, а «Договор» — вложенным. Такая иерархия задаётся пользователем и не зависит от того, как организованы данные в справочниках.

Вторая — иерархия самих данных. Справочники «Номенклатура», «Статьи затрат», «Подразделения» хранят папки и элементы в виде дерева. Если в группировке включить тип «Иерархия», отчет покажет элементы внутри их папок, а итоги посчитает по каждой папке с учётом вложенных.

Оба подхода можно комбинировать: например, верхний уровень — склад (обычная группировка), внутри него — номенклатура с типом «Иерархия». Главное — понимать, что ресурсы (суммы, количества) считаются снизу вверх: сначала детальные записи, затем каждый уровень группировки, затем общий итог.

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

В типовых конфигурациях на управляемых формах (1С:ERP, УТ, Бухгалтерия, ЗУП) большинство отчетов построено на СКД, и структуру можно менять без конфигуратора. Откройте отчет, нажмите «Ещё → Изменить вариант» (в некоторых конфигурациях — «Настройки» с кнопкой «Расширенные»).

Перейдите на вкладку «Структура». Выделите существующую группировку, которая должна стать верхним уровнем, и нажмите «Добавить → Новая группировка» — она появится внутри выделенной. В поле группировки укажите реквизит, например «Номенклатура» или «Контрагент». Если добавить группировку на верхнем уровне дерева структуры, она станет соседней, а не вложенной — следите, куда именно вы её помещаете.

После добавления уровней перейдите на вкладку «Поля» и убедитесь, что нужные ресурсы (суммы, количества) выведены. Сформируйте отчет: строки должны отображаться со значками сворачивания «плюс/минус» слева от каждого уровня.

Порядок действий в пользовательском режиме
  1. 1
    Откройте отчет и нажмите «Ещё → Изменить вариант»
  2. 2
    На вкладке «Структура» выделите группировку верхнего уровня
  3. 3
    Нажмите «Добавить → Новая группировка» и выберите поле вложенного уровня
  4. 4
    При необходимости повторите для третьего уровня
  5. 5
    Проверьте ресурсы на вкладке «Поля» и нажмите «Сформировать»

Иерархическая группировка по справочнику

Если нужно, чтобы элементы выводились внутри папок справочника, обычной группировки недостаточно. Выделите группировку в структуре, откройте её свойства (двойной щелчок или кнопка редактирования поля группировки) и найдите параметр «Тип группировки». Доступны три варианта: «Элементы», «Иерархия», «Только иерархия».

«Элементы» — поведение по умолчанию: выводятся сами элементы без папок. «Иерархия» — выводятся и папки, и элементы внутри них, итоги считаются по каждой папке. «Только иерархия» — выводятся только папки с итогами, без детализации до элементов. Для отчета по продажам в разрезе групп номенклатуры обычно подходит «Иерархия», для укрупнённого анализа по папкам — «Только иерархия».

Важный нюанс: иерархическая группировка работает только для полей, ссылающихся на иерархические справочники с видом иерархии «Список групп и элементов». Если справочник линейный (без папок), переключение типа группировки ничего не изменит.

Типы группировки по справочнику

Элементы

Плоский список элементов без папок. Подходит, когда структура папок не важна.

Иерархия

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

Только иерархия

Только папки с итогами, без элементов. Подходит для укрупнённых сводок, но детализацию раскрыть нельзя.

Настройка иерархии в конфигураторе через СКД

Если отчет разрабатывается или дорабатывается, иерархия задаётся в схеме компоновки данных. Откройте отчет в конфигураторе, перейдите в «Основная схема компоновки данных», вкладка «Настройки». В дереве структуры добавьте группировку, а внутрь неё — вложенную, аналогично пользовательскому режиму.

Для иерархической группировки выделите поле группировки и в таблице полей установите «Тип группировки — Иерархия». Если в запросе набора данных нужно получить родителей элемента (например, для собственной логики обхода), используйте конструкцию ИЕРАРХИЯ в секции ИТОГИ запроса или обращение к реквизиту «Родитель».

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

bsl
ВЫБРАТЬ
	Продажи.Номенклатура КАК Номенклатура,
	СУММА(Продажи.СуммаОборот) КАК Сумма
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Продажи
СГРУППИРОВАТЬ ПО
	Продажи.Номенклатура
ИТОГИ
	СУММА(Сумма)
ПО
	Номенклатура ИЕРАРХИЯ

Итоги, ресурсы и проверка корректности

Иерархия имеет смысл только вместе с правильно настроенными ресурсами. На вкладке «Ресурсы» (в пользовательском режиме — «Поля») должны быть выбраны суммируемые поля, иначе строки группировок появятся, но без итогов. Если ресурс не выводится на каком-то уровне, проверьте, что для него не задано ограничение «Рассчитывать по» только для конкретной группировки.

Для проверки сверните все уровни до верхнего и сравните общий итог с контрольным значением — например, с оборотом по регистру за тот же период или с другим эталонным отчетом. Затем раскройте один уровень: сумма итогов дочерних строк должна равняться итогу родительской строки. Расхождение обычно означает, что часть записей имеет пустое значение группировочного поля и попадает в отдельную строку с пустым значением.

Ещё один признак проблемы — «потерянные» строки: элемент есть в справочнике, но в отчете его нет. Чаще всего причина в том, что по элементу не было движений за период, а в настройках не включён вывод группировок без данных. Это нормальное поведение СКД, а не ошибка иерархии.

Контрольные точки

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

Суммы по уровням
Норма

Итог родителя равен сумме итогов дочерних строк

Тревожный признак

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

Сворачивание уровней
Норма

У каждого уровня есть значок сворачивания, структура раскрывается

Тревожный признак

Все строки выведены плоским списком без уровней

Папки справочника
Норма

Папки показаны с итогами, элементы внутри своих папок

Тревожный признак

Элементы идут без папок — тип группировки остался «Элементы»

Ограничения и типичные ошибки

Глубина вложенности группировок практически не ограничена, но на деле больше 3–4 уровней делает отчет неудобным: пользователь теряется при раскрытии, а формирование замедляется. Если уровней нужно много, лучше вынести часть в отборы или в детализацию по щелчку (расшифровку).

Частая ошибка — попытка построить иерархию по неиерархическому полю. Например, по строковому реквизиту «Категория» тип «Иерархия» не работает: система не знает родителя строки. Решение — сделать поле ссылкой на иерархический справочник или строить обычные вложенные группировки.

Вторая распространённая ошибка — редактирование структуры в режиме «Быстрые настройки», когда вложенность недоступна. Если в окне настроек нет вкладки «Структура», переключитесь в расширенный режим настроек. Также помните: изменения в пользовательском варианте не затрагивают других пользователей — для общего варианта нужны права на сохранение настроек «для всех пользователей» или доработка в конфигураторе.

Типичные ошибки
01
Добавление группировки на верхний уровень вместо вложенной — получаются две соседние группировки, а не иерархия
02
Ожидание дерева папок при типе группировки «Элементы» — папки не выводятся, нужно переключить на «Иерархия»
03
Отсутствие ресурсов в настройках — уровни есть, но итоги пустые
04
Попытка включить иерархию по неиерархическому полю — настройка игнорируется без сообщений
05
Сохранение варианта только для себя — коллеги не видят новую структуру отчета

Когда иерархию лучше не делать

Иерархия не нужна, если отчет используется для выгрузки в Excel и дальнейшей обработки формулами: вложенные строки и промежуточные итоги мешают сводным таблицам. В этом случае выводите плоский список детальных записей, а группировку делайте уже в Excel.

Также вложенность избыточна, когда у группировки мало значений: например, два склада и пять товаров проще показать плоской таблицей. И наоборот, при сотнях контрагентов и тысячах документов без иерархии отчет становится нечитаемым — ориентируйтесь на объём строк и то, как пользователь реально анализирует данные.

Маршрут решения

Как выбрать подход

Нужно дерево папок справочника с итогами по папкамГруппировка по полю-ссылке с типом «Иерархия»
Нужны произвольные уровни, например «Менеджер → Контрагент → Документ»Вложенные группировки в структуре отчета
Отчет выгружается в Excel для дальнейших расчетовПлоский список детальных записей без группировок
Нужны только укрупнённые цифры по папкам без элементовТип группировки «Только иерархия»

Частые вопросы

Почему в отчете не видно папок номенклатуры, только сами товары?

У группировки по номенклатуре стоит тип «Элементы». Откройте настройки структуры, выделите группировку и измените тип на «Иерархия» — тогда папки появятся вместе с итогами по ним. Если папок всё равно нет, проверьте, что справочник действительно иерархический и папки заполнены.

Как вывести итоги только по верхнему уровню, убрав промежуточные?

Удалите лишние вложенные группировки из структуры, оставив один уровень. Если уровни нужны для детализации, но итоги по ним не требуются, ограничьте вывод ресурса на вкладке «Ресурсы», указав конкретную группировку в поле «Рассчитывать по».

Можно ли сделать иерархию в отчете без доступа к конфигуратору?

Да, если отчет построен на СКД — а это большинство отчетов типовых конфигураций. Через «Ещё → Изменить вариант» доступны вложенные группировки, тип иерархии, отборы и ресурсы. Конфигуратор нужен только для изменения запроса, добавления новых полей или создания отчета с нуля.

Почему сумма по папке не равна сумме элементов внутри неё?

Чаще всего часть документов проведена по элементам без заполненной папки или по элементам из другой ветки, а в отборе стоит ограничение. Проверьте строку с пустым значением группировки и отборы отчета. Также убедитесь, что ресурс считается по всем записям, а не только по детальным.

Как сохранить настроенную иерархию для всех пользователей?

В окне изменения варианта сохраните настройки как новый вариант отчета и отметьте доступность «Для всех пользователей» — для этого нужны соответствующие права. Если прав нет, попросите администратора сохранить вариант или перенести структуру в схему компоновки через конфигуратор.

Что делать, если отчет с глубокой иерархией формируется очень долго?

Сократите число уровней до 2–3, добавьте отборы по периоду и ключевым измерениям, уберите неиспользуемые ресурсы. Если данные берутся из большого регистра, проверьте, что отборы накладываются по индексированным полям — это задача разработчика, в пользовательском режиме она не решается.

Итог

Что важно запомнить

Иерархия в отчете 1С строится вложенными группировками через «Ещё → Изменить вариант → Структура», а дерево папок справочника включается типом группировки «Иерархия». Обязательно проверяйте ресурсы, равенство итогов по уровням и не превышайте 3–4 уровня вложенности — иначе отчет станет неудобным и медленным.