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

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

Что такое «Родитель» в 1С и как работает иерархия справочников

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

В справочниках 1С вроде «Номенклатура», «Контрагенты» или «Подразделения» почти у каждого элемента есть поле «Родитель». Оно показывает, в какую группу (папку) входит элемент, и формирует древовидную структуру справочника. Без понимания этого механизма легко «потерять» товары в списке, задвоить группы или сломать отбор в отчётах.

Родитель — это не отдельный объект, а служебный реквизит, который платформа 1С добавляет автоматически, если у справочника включён режим иерархии. Значением реквизита может быть другой элемент того же справочника (обычно группа) либо пустая ссылка — тогда элемент находится в корне дерева.

Механизм одинаков во всех типовых конфигурациях: «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом», «Комплексная автоматизация». Различается только то, какие справочники сделаны иерархическими и какой вид иерархии у них выбран.

Что именно хранится в реквизите «Родитель»

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

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

Уровней вложенности может быть несколько: группа внутри группы внутри группы. Платформа не ограничивает глубину жёстко, но на практике больше 3–5 уровней используют редко — глубокое дерево неудобно просматривать и замедляет подбор в документах.

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

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

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

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

Сравнение видов иерархии

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

Группы только структурируют список и не выбираются в документах. Подходит для номенклатуры, контрагентов, складских категорий.

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

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

Как посмотреть и изменить родителя элемента

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

Самый быстрый способ сменить родителя — перетащить элемент мышью в нужную группу в древовидном представлении списка. Альтернатива — выделить один или несколько элементов, нажать правую кнопку и выбрать «Переместить в группу» (в типовых конфигурациях команда есть в меню «Ещё»).

Третий способ — открыть карточку элемента и в поле группы выбрать другую группу из списка. Это удобно, когда групп много и перетаскивание по дереву неудобно.

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

Как родитель влияет на отчёты, отборы и документы

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

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

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

Родитель в запросах и в коде 1С

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

В языке запросов для учёта вложенности используется оператор В ИЕРАРХИИ. Он выбирает элементы группы и всех её подгрупп любой глубины. Для выборки только элементов корня применяют условие на пустую ссылку.

bsl
ВЫБРАТЬ
	Номенклатура.Ссылка КАК Товар
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
	И НЕ Номенклатура.ЭтоГруппа

При программном переносе элемента достаточно присвоить свойству Родитель ссылку на новую группу и записать объект. Платформа сама контролирует, что родителем не станет обычный элемент (при иерархии групп) и не возникнет зацикливание, когда группа назначается родителем самой себе или своей подгруппы.

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

Самая распространённая проблема — хаотичное дерево: элементы валяются в корне, группы дублируются с похожими названиями («Товары», «Товары 2», «товары»). Это затрудняет поиск и делает отчёты по группам недостоверными. Решение — заранее договориться о структуре папок и периодически проверять корень справочника на «бесхозные» элементы.

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

Третья ошибка — ожидание, что смена группы «перепроведёт» документы или изменит учётные данные. Родитель влияет только на структуру списка и отборы; себестоимость, остатки и проводки зависят от самого элемента и его учётных реквизитов, а не от папки.

Типичные ошибки
01
Отбор «Равно» по группе вместо «В иерархии» — вложенные элементы не попадают в отчёт
02
Пометка группы на удаление до переноса элементов — получается «мусорная» ветка
03
Создание дублей групп с похожими названиями — элементы расползаются, отчёты по группам врут
04
Попытка выбрать группу в документе вместо элемента — платформа не даёт это сделать, пользователь считает, что позиция «пропала»

Как проверить, что структура настроена правильно

Откройте справочник в режиме «Дерево» и оцените картину: корень не должен быть завален элементами, группы — называться единообразно, вложенность — не превышать разумные 3–4 уровня. Если в корне сотни позиций, структуру пора наводить в порядок.

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

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

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

Положение элемента
Норма

Элемент виден внутри своей группы в режиме дерева

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

Элемент находится в корне или в чужой группе

Отчёт по группе
Норма

В выборку входят элементы всех подгрупп

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

Позиции из вложенных папок отсутствуют

Карточка элемента
Норма

Поле группы заполнено и соответствует дереву

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

Поле пустое, хотя элемент должен быть в папке

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

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

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

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

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

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

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

Как найти все элементы без группы (в корне)?

В списке справочника настройте отбор: поле «Родитель» (или «Группа»), вид сравнения «Не заполнено» либо «Равно» с пустым значением. В запросе используется условие Родитель = &ПустаяСсылка. Так удобно находить «бесхозные» позиции при наведении порядка.

Может ли группа быть родителем самой себя?

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

Чем «Родитель» отличается от «Владельца» в 1С?

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

Итог

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

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