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

Справочники и Данные · 12 мин

Иерархический справочник в 1С: устройство, настройка и работа

Что такое иерархический справочник в 1С, виды иерархии, настройка групп и элементов, типичные ошибки и проверка результата при работе со справочниками.

Иерархический справочник в 1С — это справочник, элементы которого можно вкладывать друг в друга, образуя древовидную структуру. Классический пример — справочник «Номенклатура», где товары распределены по группам: «Продукты питания → Молочные изделия → Сыры», а конкретный товар лежит внутри конечной группы. Без иерархии все позиции лежали бы одним плоским списком, и найти нужную среди тысяч записей было бы практически невозможно.

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

Что такое справочник и зачем ему иерархия

Справочник в 1С — это объект конфигурации для хранения нормативно-справочной информации: номенклатуры, контрагентов, сотрудников, складов, договоров. Каждый элемент справочника имеет как минимум код и наименование, а также произвольный набор реквизитов, заданных разработчиком. Документы ссылаются на элементы справочников, поэтому справочники — фундамент всего учёта.

Иерархия добавляет к справочнику служебное поле «Родитель» (Parent). У элемента верхнего уровня родитель пустой, у вложенного — ссылка на группу или другой элемент. Благодаря этому полю платформа умеет отображать справочник в виде дерева, фильтровать по вхождению в группу и проверять принадлежность элемента ветке через запрос с конструкцией «В ИЕРАРХИИ».

Два вида иерархии: группы и элементы против иерархии элементов

В конфигураторе на закладке «Иерархия» объекта справочника выбирается один из двух видов. Первый — «Иерархия групп и элементов». Здесь существуют два типа записей: группы (папки) и элементы. Группа служит только для группировки и обычно не используется в документах как самостоятельное значение. Так устроены типовые справочники «Номенклатура» и «Контрагенты» в большинстве конфигураций.

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

ПараметрИерархия групп и элементовИерархия элементов
Типы записейГруппы и элементыТолько элементы
Можно ли выбрать «папку» в документеОбычно нет (зависит от конфигурации)Да, любой элемент доступен
Типичные примерыНоменклатура, контрагентыПодразделения, статьи затрат
Признак записиЕсть служебный признак «ЭтоГруппа»Признака группы нет

Какой вид иерархии выбрать

Группы и элементы

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

Иерархия элементов

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

Как устроено дерево: родитель, уровни и владельцы

Глубина вложенности иерархии в 1С практически не ограничена, но на практике больше 5–7 уровней использовать не рекомендуется: дерево становится неудобным для навигации, а отчёты по верхним группам теряют информативность. Оптимальная структура — 2–4 уровня, где верхний отражает крупный раздел, а нижний — конкретную категорию.

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

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

Как создать и настроить иерархический справочник

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

Если вы настраиваете конфигурацию самостоятельно, вид иерархии задаётся в конфигураторе: свойства справочника → закладка «Иерархия» → флаг «Иерархический справочник» и выбор вида. После изменения свойств требуется обновление конфигурации базы данных. Уже существующие элементы при включении иерархии останутся на верхнем уровне, их придётся разнести по группам вручную или обработкой.

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

Работа с иерархией в запросах и отчётах

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

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

// Пример: отбор элементов внутри группы с учётом вложенности

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Ссылка

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)

| И НЕ Номенклатура.ЭтоГруппа";

Запрос.УстановитьПараметр("Группа", ГруппаОтбора);

Типичные ошибки при работе с иерархическими справочниками

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

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

Типичные ошибки
01
Создание дублирующих групп с похожими названиями — отчёты по группам раздваивают одни и те же данные.
02
Удаление группы без проверки содержимого — помечаются на удаление все вложенные элементы.
03
Попытка указать группу в документе вместо элемента — поле не заполняется или возникает ошибка выбора.
04
Изменение вида иерархии в конфигураторе на рабочей базе без анализа данных — часть записей теряет родителя или меняет поведение в отчётах.
05
Смешивание товаров и услуг в одних группах — затрудняет аналитику и настройку счетов учёта по группам.

Проверка результата и обслуживание структуры

После реорганизации дерева полезно выполнить несколько контрольных проверок. Убедитесь, что на верхнем уровне не осталось «бесхозных» элементов, которые должны лежать в группах. Проверьте ключевые отчёты: итоги по группам должны сходиться с общими итогами. Если используется обмен данными между базами, убедитесь, что группы синхронизируются — при обмене по коду или наименованию возможно задвоение папок.

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

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

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

Элементы на верхнем уровне
Норма

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

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

Десятки элементов вне групп — отчёты по папкам их не учитывают

Итоги отчёта по группам
Норма

Сумма итогов по группам равна общему итогу

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

Есть расхождение или строка «без группы» с большой суммой

Содержимое групп
Норма

В каждой группе несколько элементов, дублей веток нет

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

Пустые группы, группы-дубли, ветки глубже 4–5 уровней

Обмен данными
Норма

Группы в связанных базах совпадают по составу

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

После синхронизации появились задвоенные папки

Часто задаваемые вопросы

Можно ли превратить группу в элемент или наоборот?

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

Почему в документе нельзя выбрать группу номенклатуры?

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

Что произойдёт с документами, если переместить элемент в другую группу?

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

Есть ли ограничение на глубину вложенности?

Жёсткого технического ограничения платформа не накладывает, но практический предел определяется удобством: дерево глубже 5–7 уровней тяжело разворачивать, а группировки в отчётах становятся громоздкими. Рекомендуемый диапазон — 2–4 уровня.

Как найти все элементы, не входящие ни в одну группу?

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

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

Да, в типовых конфигурациях на платформе с RLS (ограничение доступа на уровне записей) можно настроить доступ по группам, например разрешить менеджеру работать только со своей веткой контрагентов. Настройка выполняется через профили групп доступа и требует проверки на тестовой копии, так как ошибочные шаблоны RLS заметно замедляют запросы.

Итог

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

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