Справочники и Данные · 10 мин
Что такое «Родитель» в 1С и как работает иерархия справочников
Что означает реквизит «Родитель» в 1С, как устроена иерархия справочников, как создать группу, перенести элемент и избежать типичных ошибок.
В справочниках 1С вроде «Номенклатура», «Контрагенты» или «Подразделения» почти у каждого элемента есть поле «Родитель». Оно показывает, в какую группу (папку) входит элемент, и формирует древовидную структуру справочника. Без понимания этого механизма легко «потерять» товары в списке, задвоить группы или сломать отбор в отчётах.
Родитель — это не отдельный объект, а служебный реквизит, который платформа 1С добавляет автоматически, если у справочника включён режим иерархии. Значением реквизита может быть другой элемент того же справочника (обычно группа) либо пустая ссылка — тогда элемент находится в корне дерева.
Механизм одинаков во всех типовых конфигурациях: «Бухгалтерия предприятия», «Управление торговлей», «Зарплата и управление персоналом», «Комплексная автоматизация». Различается только то, какие справочники сделаны иерархическими и какой вид иерархии у них выбран.
Что именно хранится в реквизите «Родитель»
Технически «Родитель» (Parent) — это системный реквизит типа «ссылка на тот же справочник». В нём хранится не название группы, а уникальная ссылка на её элемент. Поэтому переименование группы никак не влияет на связь: элементы остаются привязанными, потому что ссылка не меняется.
Если реквизит пуст, элемент расположен на верхнем уровне списка — в корне. Такие элементы видны сразу при открытии справочника, без разворачивания папок. Пустой родитель — нормальное состояние, а не ошибка.
Уровней вложенности может быть несколько: группа внутри группы внутри группы. Платформа не ограничивает глубину жёстко, но на практике больше 3–5 уровней используют редко — глубокое дерево неудобно просматривать и замедляет подбор в документах.
Виды иерархии: групп и элементов или только элементов
При настройке справочника в конфигураторе выбирается один из двух видов иерархии. От него зависит, кем может быть родитель.
Иерархия групп и элементов — классический вариант «папок и файлов». Справочник делится на группы (они только объединяют элементы и не участвуют в документах) и обычные элементы. Родителем элемента может быть только группа. Так устроены «Номенклатура», «Контрагенты», «Статьи затрат» в большинстве конфигураций.
Иерархия элементов — здесь нет отдельных «папок»: любой элемент может быть родителем другого элемента. Пример — справочник «Подразделения» в некоторых конфигурациях: отдел входит в управление, управление — в департамент, и каждый уровень является полноценным элементом, который можно выбрать в документе.
Сравнение видов иерархии
Группы только структурируют список и не выбираются в документах. Подходит для номенклатуры, контрагентов, складских категорий.
Любой элемент может быть родителем и одновременно использоваться в документах. Подходит для подразделений, статей, территорий.
Как посмотреть и изменить родителя элемента
В пользовательском режиме родитель отображается как поле «Группа» или «Входит в группу» в карточке элемента, если разработчики вывели его на форму. Если поля нет, положение элемента видно по дереву слева в списке справочника.
Самый быстрый способ сменить родителя — перетащить элемент мышью в нужную группу в древовидном представлении списка. Альтернатива — выделить один или несколько элементов, нажать правую кнопку и выбрать «Переместить в группу» (в типовых конфигурациях команда есть в меню «Ещё»).
Третий способ — открыть карточку элемента и в поле группы выбрать другую группу из списка. Это удобно, когда групп много и перетаскивание по дереву неудобно.
- 1Откройте справочник и включите режим просмотра «Дерево» или «Иерархический список»
- 2Найдите элемент через поиск, чтобы не листать папки вручную
- 3Перетащите элемент в целевую группу или используйте команду «Переместить в группу» из контекстного меню
- 4Проверьте, что элемент отображается внутри новой группы и исчез из старой
Как родитель влияет на отчёты, отборы и документы
Принадлежность к группе — частое условие отбора. В списках и отчётах доступен вид сравнения «В группе» или «В иерархии»: он подбирает не только саму группу, но и все элементы из неё и из вложенных подгрупп. Это удобно, например, для отчёта по продажам всей категории товаров.
Важный нюанс: отбор «Равно» по группе покажет только элементы, у которых родителем является именно эта группа, без вложенных. Если товар лежит на уровень глубже, в выборку он не попадёт. Это одна из самых частых причин «пропавших» позиций в отчётах.
В документах группа обычно недоступна для выбора как значение (при иерархии групп и элементов). Если в поле ввода нельзя выбрать нужную позицию, проверьте — возможно, вы пытаетесь указать группу, а не элемент.
Родитель в запросах и в коде 1С
Разработчики обращаются к реквизиту по имени Родитель (в английском синтаксисе — Parent). Типовые конструкции: проверка принадлежности к группе, обход дерева, поиск элементов верхнего уровня.
В языке запросов для учёта вложенности используется оператор В ИЕРАРХИИ. Он выбирает элементы группы и всех её подгрупп любой глубины. Для выборки только элементов корня применяют условие на пустую ссылку.
ВЫБРАТЬ
Номенклатура.Ссылка КАК Товар
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)
И НЕ Номенклатура.ЭтоГруппаПри программном переносе элемента достаточно присвоить свойству Родитель ссылку на новую группу и записать объект. Платформа сама контролирует, что родителем не станет обычный элемент (при иерархии групп) и не возникнет зацикливание, когда группа назначается родителем самой себе или своей подгруппы.
Типичные ошибки и ограничения
Самая распространённая проблема — хаотичное дерево: элементы валяются в корне, группы дублируются с похожими названиями («Товары», «Товары 2», «товары»). Это затрудняет поиск и делает отчёты по группам недостоверными. Решение — заранее договориться о структуре папок и периодически проверять корень справочника на «бесхозные» элементы.
Вторая ошибка — попытка удалить группу, в которой есть элементы. Платформа либо запретит удаление, либо при пометке на удаление группа останется в дереве с элементами внутри. Сначала переместите содержимое в другую группу или в корень, затем помечайте группу на удаление.
Третья ошибка — ожидание, что смена группы «перепроведёт» документы или изменит учётные данные. Родитель влияет только на структуру списка и отборы; себестоимость, остатки и проводки зависят от самого элемента и его учётных реквизитов, а не от папки.
Как проверить, что структура настроена правильно
Откройте справочник в режиме «Дерево» и оцените картину: корень не должен быть завален элементами, группы — называться единообразно, вложенность — не превышать разумные 3–4 уровня. Если в корне сотни позиций, структуру пора наводить в порядок.
Проверьте работу отборов: установите в списке отбор «В группе» по крупной группе и убедитесь, что выборка включает элементы из подгрупп. Если число позиций явно меньше ожидаемого — вероятно, часть элементов лежит вне этой ветки дерева.
Как проверить результат
Элемент виден внутри своей группы в режиме дерева
Элемент находится в корне или в чужой группе
В выборку входят элементы всех подгрупп
Позиции из вложенных папок отсутствуют
Поле группы заполнено и соответствует дереву
Поле пустое, хотя элемент должен быть в папке
Частые вопросы
Можно ли сделать справочник иерархическим, если он уже заполнен данными?
Да, в конфигураторе можно включить иерархию для существующего справочника — данные не пострадают, все элементы окажутся в корне. После этого создайте группы и распределите элементы. Учтите, что изменение структуры метаданных требует обновления конфигурации базы данных и обычно выполняется разработчиком.
Почему в документе нельзя выбрать группу номенклатуры?
При иерархии «групп и элементов» группа — это служебная папка, а не учётная позиция. Платформа запрещает её выбор в документах. Если нужно оперировать категорией целиком, используйте отборы «в группе» в отчётах и обработках, а в документе выбирайте конкретный элемент.
Что произойдёт с документами, если перенести элемент в другую группу?
Ничего: документы хранят ссылку на сам элемент, а не на его родителя. Проведённые документы, остатки и проводки не изменятся. Поменяется только отображение в списке и результат отборов по группам.
Как найти все элементы без группы (в корне)?
В списке справочника настройте отбор: поле «Родитель» (или «Группа»), вид сравнения «Не заполнено» либо «Равно» с пустым значением. В запросе используется условие Родитель = &ПустаяСсылка. Так удобно находить «бесхозные» позиции при наведении порядка.
Может ли группа быть родителем самой себя?
Нет. Платформа контролирует циклические ссылки: при попытке назначить группе родителем её саму или её собственную подгруппу будет выдана ошибка, и запись не выполнится.
Чем «Родитель» отличается от «Владельца» в 1С?
Родитель задаёт иерархию внутри одного справочника (какая папка содержит элемент). Владелец связывает два разных справочника: например, «Единицы измерения» подчинены «Номенклатуре». Это независимые механизмы, один справочник может использовать оба.
Что важно запомнить
Родитель — системный реквизит иерархического справочника, указывающий на группу элемента. Он управляет деревом списка и отборами «в группе», но не влияет на документы и учётные данные. Переносить элементы можно перетаскиванием или командой «Переместить в группу», а перед массовыми изменениями стоит сделать копию базы.