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

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

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

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

Понятие «родитель» в 1С встречается в иерархических справочниках: «Номенклатура», «Контрагенты», «Статьи затрат», «Подразделения» и других. Родитель — это группа (папка), внутри которой находится элемент или другая группа. Если элементу назначен родитель «Канцтовары», значит, он лежит в этой папке и наследует её положение в дереве справочника.

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

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

Где в 1С используется понятие «родитель»

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

Кроме справочников, слово «родитель» встречается в языке запросов и встроенном языке 1С. Там оно означает ссылку на группу-владельца элемента: например, обращение Товар.Родитель вернёт группу, в которой лежит товар. Разработчики используют это для отборов, проверок и построения деревьев.

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

Как устроена иерархия: группы и элементы

В иерархическом справочнике существуют два вида записей: группы и элементы. Группа — это папка, она не участвует в документах как самостоятельный объект, а служит контейнером. Элемент — рабочая запись: товар, контрагент, статья расходов. У каждого элемента и каждой группы (кроме корневых) есть родитель.

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

Уровней вложенности может быть несколько: «Товары → Продукты → Молочные → Сыры → Конкретная позиция». Ограничение глубины задаётся в конфигурации, но практический совет — не строить дерево глубже 4–5 уровней, иначе навигация станет неудобной.

Виды иерархии

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

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

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

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

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

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

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

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

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

Зачем родитель нужен в отчётах и правах доступа

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

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

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

Родитель в запросах и встроенном языке

Разработчики и продвинутые пользователи обращаются к родителю в запросах. Типичная задача — отобрать все элементы конкретной группы с учётом вложенных подгрупп. Для этого используется оператор В ИЕРАРХИИ: условие ГДЕ Номенклатура.Родитель В ИЕРАРХИИ(&Группа) вернёт элементы самой группы и всех её подгрупп любого уровня вложенности.

Во встроенном языке родитель доступен как свойство объекта: Элемент.Родитель. Чтобы проверить, является ли запись группой, используют свойство ЭтоГруппа. При программном создании элемента родителя назначают до записи: НовыйЭлемент.Родитель = ГруппаСсылка;, затем НовыйЭлемент.Записать();.

Частая задача — найти все элементы без родителя (лежащие в корне) или наоборот, «потерянные» элементы с битой ссылкой на группу. Для первого случая в запросе проверяют Родитель = &ПустаяГруппа, для второго помогает тестирование и исправление информационной базы.

bsl
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура
|ГДЕ Родитель В ИЕРАРХИИ(&Группа) И НЕ ЭтоГруппа";
Запрос.УстановитьПараметр("Группа", ГруппаСсылка);
Результат = Запрос.Выполнить().Выгрузить();

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

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

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

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

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

Ограничения и когда нужна помощь специалиста

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

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

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

Итог

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

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

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

Можно ли у элемента быть два родителя?

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

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

При пометке на удаление группы 1С обычно помечает и все вложенные элементы. Перед удалением перенесите нужные позиции в другую группу. Окончательное удаление выполняется через «Удаление помеченных объектов» с проверкой ссылочной целостности.

Почему в карточке элемента нет поля «Родитель»?

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

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

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

Как найти все элементы, лежащие в корне справочника?

Отберите элементы с пустым родителем: в запросе условие Родитель = &ПустаяСсылка, а в списке — переключитесь в режим «Иерархический список» и посмотрите записи вне папок. Это полезно при наведении порядка в справочнике.

Что означает «Родитель.Родитель» в отчётах?

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