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

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

Владелец справочника в 1С: что это такое и как использовать подчинённые справочники

Что такое владелец справочника в 1С, зачем нужны подчинённые справочники, как настроить связь владелец–элемент и в каких задачах её применять.

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

Каждый элемент подчинённого справочника хранит ссылку на элемент-владельца в специальном реквизите «Владелец» (Owner). Благодаря этому платформа умеет автоматически фильтровать списки, строить иерархию «владелец → его элементы» и не даёт создать «бесхозный» элемент, если настроен соответствующий контроль.

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

Что такое владелец справочника простыми словами

Представьте картотеку: папка «Контрагенты», внутри каждой карточки контрагента лежат его договоры. Договор вне контрагента смысла не имеет — он всегда «чей-то». В терминах 1С справочник «Контрагенты» — владелец, а справочник «Договоры контрагентов» — подчинённый.

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

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

Чем подчинённый справочник отличается от обычного реквизита

Частый вопрос при проектировании: зачем делать отдельный подчинённый справочник, если можно просто добавить в справочник реквизит типа «СправочникСсылка.Контрагенты»? Разница принципиальна.

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

КритерийПодчинённый справочникОбычный реквизит-ссылка
Обязательность связиВладелец обязателен (при соответствующей настройке)Реквизит может быть пустым
Фильтрация списковАвтоматическая по владельцуТолько вручную через отбор
Навигация в интерфейсеПереход от владельца к его элементамНет встроенной навигации
Удаление владельцаКонтроль ссылочной целостности платформойКонтроль есть, но логика принадлежности не выражена
Типичное применениеДоговоры, счета, спецификации, единицы измеренияОтветственный, склад, произвольные аналитики

Где посмотреть и как настроить владельца в конфигураторе

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

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

Как работает связь «владелец — элемент» в пользовательском режиме

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

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

Типовые примеры использования владельцев

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

  • Договоры контрагентов — подчинены справочнику «Контрагенты»; договор без контрагента бессмыслен.
  • Банковские счета — подчинены организациям и контрагентам; счёт всегда принадлежит конкретному юрлицу.
  • Единицы измерения / упаковки — подчинены номенклатуре; упаковка имеет смысл только для конкретного товара.
  • Спецификации — подчинены номенклатуре; состав изделия привязан к конкретному изделию.
  • Контактные лица — подчинены контрагентам или партнёрам.

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

Маршрут решения

Когда делать подчинённый справочник

Элементы не имеют смысла вне конкретного родителя и всегда смотрятся в его разрезеДелайте подчинённый справочник с владельцем
Связь необязательна или элемент может менять «родителя» в ходе работыИспользуйте обычный реквизит-ссылку
Нужна структура «группа — элемент» внутри одного спискаИспользуйте иерархический справочник с реквизитом «Родитель», а не владельца
Один элемент должен принадлежать сразу нескольким объектамПодчинённость не подойдёт — рассмотрите регистр сведений для связи многие-ко-многим

Обращение к владельцу в коде и запросах

Во встроенном языке доступ к владельцу выполняется через свойство Владелец объекта или ссылки. Например, получить контрагента по договору можно так:

bsl
КонтрагентДоговора = ДоговорСсылка.Владелец;
// или в запросе:
// ВЫБРАТЬ Договоры.Ссылка, Договоры.Владелец КАК Контрагент
// ИЗ Справочник.ДоговорыКонтрагентов КАК Договоры
// ГДЕ Договоры.Владелец = &Контрагент

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

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

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

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

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

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

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

Создание элемента из карточки владельца
Норма

Поле «Владелец» заполнено автоматически, элемент записывается

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

Поле пустое, при записи ошибка проверки заполнения

Список подчинённого справочника из карточки владельца
Норма

Видны только элементы текущего владельца

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

Видны элементы всех владельцев без отбора

Удаление владельца с элементами
Норма

Платформа сообщает о наличии ссылок и блокирует удаление

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

Владелец удаляется, элементы остаются «бесхозными»

Отчёт по подчинённым данным
Норма

Элементы группируются по владельцам корректно

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

Элементы без владельца или в чужих группах

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

Может ли у справочника быть несколько владельцев?

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

Чем владелец отличается от родителя в иерархическом справочнике?

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

Можно ли изменить владельца у уже созданного элемента?

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

Что произойдёт с подчинёнными элементами при удалении владельца?

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

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

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

Итог

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

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