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