Справочники и Данные · 11 мин
1С: как создать подчиненный справочник
Как создать подчиненный справочник в 1С: настройка иерархии, владельца, связей и использование в конфигураторе и пользовательском режиме. Пошаговая инструкция.
Подчиненный справочник в 1С — это справочник, элементы которого привязаны к элементам другого справочника-владельца. Классический пример: справочник «Договоры контрагентов», подчиненный справочнику «Контрагенты». Каждый договор существует только в рамках конкретного контрагента, и без владельца такой элемент создать нельзя.
Такой механизм нужен, когда данные логически зависят друг от друга: единицы измерения у номенклатуры, банковские счета у организаций, контактные лица у партнеров. Подчинение отличается от обычной иерархии групп: здесь связь идет не «группа — элемент», а «владелец — подчиненный элемент», причем владельцем может быть элемент другого справочника или даже документа.
Ниже разберем, как создать подчиненный справочник в конфигураторе, как настроить связь с владельцем, как работать с ним в пользовательском режиме и каких ошибок стоит избегать. Инструкция применима к типовым конфигурациям на платформе 1С:Предприятие 8.3 и к самописным решениям.
Что такое подчиненный справочник и когда он нужен
Подчиненный справочник хранит данные, которые не имеют смысла в отрыве от родительского объекта. Например, договор всегда заключен с конкретным контрагентом, а банковский счет открыт конкретной организацией. Если удалить владельца, подчиненные элементы теряют логический смысл.
Важно отличать подчинение от двух похожих механизмов. Первый — иерархический справочник с группами: там элементы складываются в папки внутри одного справочника. Второй — реквизит со ссылкой на другой справочник: это простая связь без жесткой зависимости. Подчинение — более сильная связь: платформа автоматически требует указания владельца и строит интерфейс с учетом этой связи.
Типичные сценарии применения подчиненных справочников:
- договоры, подчиненные контрагентам;
- банковские счета, подчиненные организациям или контрагентам;
- единицы измерения, подчиненные номенклатуре;
- контактные лица, подчиненные партнерам;
- спецификации или варианты комплектации, подчиненные товарам.
Подготовка: что проверить перед созданием
Перед изменением конфигурации убедитесь, что у вас есть права на работу в конфигураторе и что конфигурация не находится на полной поддержке без возможности изменения. Если конфигурация типовая и стоит на замке, потребуется включить возможность изменений через «Поддержка — Настройка поддержки».
Обязательно сделайте резервную копию информационной базы. Изменение структуры метаданных при обновлении конфигурации базы данных затрагивает физические таблицы, и в случае сбоя вы рискуете потерять данные. Для файловой базы достаточно скопировать файл 1Cv8.1CD, для клиент-серверной — выполнить выгрузку через конфигуратор или средствами СУБД.
Также продумайте, не существует ли уже готовый механизм в типовой конфигурации. В 1С:Бухгалтерии, Управлении торговлей и ERP большинство стандартных подчиненных справочников (договоры, счета, контактные лица) уже реализованы — возможно, достаточно использовать их, а не создавать новые.
Создание подчиненного справочника в конфигураторе
Основная работа выполняется в конфигураторе. Последовательность действий одинакова для любой конфигурации на платформе 8.3.
- 1Откройте конфигуратор и раскройте ветку «Справочники» в дереве конфигурации
- 2Нажмите «Добавить» и задайте имя нового справочника, например «ДоговорыКонтрагентов»
- 3Перейдите на закладку «Владельцы» и отметьте справочник-владелец, например «Контрагенты»
- 4Выберите вид использования: «Элементы» или «Группы и элементы»
- 5На закладке «Данные» добавьте нужные реквизиты (номер, дата, сумма и т.д.)
- 6Настройте формы элемента и списка на закладке «Формы» при необходимости
- 7Обновите конфигурацию базы данных (F7) и проверьте результат в режиме предприятия
После указания владельца платформа автоматически добавляет в справочник служебный реквизит «Владелец». Его не нужно создавать вручную — он появляется в запросах, формах и программном коде как стандартное поле Владелец.
На закладке «Владельцы» есть важный параметр — «Использование подчинения». Вариант «Элементам» означает, что подчиненный элемент привязывается к элементу владельца. Вариант «Группам и элементам» позволяет привязывать и к группам владельца. Для большинства задач достаточно первого варианта.
Настройка длины кода и наименования
На закладке «Данные» задайте длину наименования с запасом: для договоров, например, 100–150 символов, чтобы вмещались формулировки вида «Договор поставки № 15 от 12.03.2026». Если планируется нумерация внутри владельца, учтите, что стандартная нумерация справочника сквозная по всем элементам, а не в рамках каждого владельца — для отдельной нумерации потребуется программная доработка.
Как работать с подчиненным справочником в режиме 1С:Предприятие
После обновления конфигурации откройте базу в пользовательском режиме. Переход к подчиненным элементам обычно выполняется из формы владельца: откройте элемент справочника-владельца и найдите команду перехода к подчиненному списку — в типовых конфигурациях это ссылка в панели навигации, например «Договоры» в карточке контрагента.
При создании нового элемента из формы владельца поле «Владелец» заполняется автоматически и часто скрыто от редактирования. Если открыть подчиненный справочник напрямую из общего списка справочников, владельца придется указывать вручную — без него записать элемент не получится.
Как проверить результат
Платформа выдает сообщение о необходимости заполнить владельца
Элемент записывается без владельца — связь не настроена
При переходе из карточки владельца видны только его элементы
Показываются все элементы всех владельцев без отбора
Поле «Владелец» доступно в конструкторе запросов
Поля «Владелец» нет — владелец не назначен в конфигураторе
Программная работа с подчиненными справочниками
Во встроенном языке доступ к подчиненным элементам выполняется через отбор по владельцу. Типовой пример — выборка всех договоров конкретного контрагента:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Договоры.Ссылка КАК Договор
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК Договоры
|ГДЕ
| Договоры.Владелец = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", КонтрагентСсылка);
Результат = Запрос.Выполнить().Выбрать();
Для создания элемента программно обязательно заполните владельца до записи:
НовыйДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
НовыйДоговор.Владелец = КонтрагентСсылка;
НовыйДоговор.Наименование = "Договор поставки № 12";
НовыйДоговор.Записать();
Если подчиненных элементов у одного владельца много (тысячи записей), отбирайте их запросом с условием по владельцу, а не методом Выбрать() с последующей фильтрацией в цикле — это заметно быстрее, особенно в клиент-серверном режиме.
Подчинение или реквизит-ссылка: что выбрать
Не всегда нужен именно подчиненный справочник. Иногда достаточно обычного реквизита со ссылкой на другой объект. Выбор зависит от жесткости связи и требований к интерфейсу.
Сравнение вариантов
Подходит, когда элемент не существует без владельца: договоры, счета, контактные лица. Платформа сама контролирует заполнение владельца и строит интерфейс перехода. Ограничение: перенос элемента к другому владельцу требует осознанного изменения поля «Владелец».
Подходит для свободных связей: основной договор контрагента, ответственный менеджер. Реквизит может быть пустым и легко меняется. Минус: нет автоматического интерфейса «объект — его подчиненные данные».
Подходит для классификации внутри одного справочника: группы товаров, статьи затрат. Не заменяет подчинение, так как группа — это папка, а не самостоятельный объект-владелец.
Если сомневаетесь, задайте себе вопрос: может ли элемент существовать сам по себе, если удалить связанный объект? Если нет — делайте подчиненный справочник. Если да — используйте реквизит-ссылку.
Типичные ошибки и ограничения
Отдельно учтите ограничение по правам: новый справочник по умолчанию может быть недоступен ролям пользователей. После создания откройте роли в конфигураторе и установите права на чтение, добавление и изменение нового объекта, иначе пользователи увидят пустое меню или ошибку доступа.
Еще одно ограничение — обмен данными. Если база участвует в обмене (РИБ, обмен с другими конфигурациями), новый справочник нужно добавить в планы обмена и правила конвертации, иначе данные не будут синхронизироваться.
Что важно запомнить
Подчиненный справочник создается в конфигураторе через закладку «Владельцы». Платформа автоматически добавляет обязательное поле «Владелец» и контролирует его заполнение. Перед изменениями сделайте копию базы, после — проверьте права доступа и работу отбора в пользовательском режиме.
Часто задаваемые вопросы
Можно ли создать подчиненный справочник без конфигуратора, в режиме 1С:Предприятие?
Нет. Создание и изменение объектов метаданных возможно только в конфигураторе. В пользовательском режиме можно лишь заполнять уже существующие справочники данными. Механизм «Дополнительные реквизиты и сведения» позволяет добавлять поля без конфигуратора, но не создает новые справочники.
Можно ли у одного справочника быть несколько владельцев?
Да, на закладке «Владельцы» можно отметить несколько объектов. Например, справочник «Банковские счета» может быть подчинен и «Контрагентам», и «Организациям». Тогда поле «Владелец» станет составного типа, и при создании элемента нужно будет выбрать владельца одного из разрешенных типов.
Что произойдет с подчиненными элементами при удалении владельца?
Платформа не даст удалить владельца, если на него есть ссылки: при удалении через контроль ссылочной целостности вы увидите список подчиненных элементов. Если владелец помечен на удаление, подчиненные элементы останутся в базе и потребуют отдельной обработки — переноса к другому владельцу или удаления.
Как изменить владельца у уже созданного элемента?
Откройте элемент подчиненного справочника и измените поле «Владелец», если оно доступно для редактирования в форме. В типовых конфигурациях это поле часто скрыто — тогда изменение выполняется программно или через настройку формы. Учтите, что документы, где использовался элемент, сохранят старую связь только в виде ссылки на сам элемент, а не на владельца.
Чем подчиненный справочник отличается от табличной части?
Табличная часть хранится внутри самого объекта и недоступна для независимых ссылок. Подчиненный справочник — самостоятельный объект: на его элементы можно ссылаться из документов, строить по ним отчеты и назначать права. Если данные нужно выбирать в других документах (например, указывать договор в счете), нужен именно подчиненный справочник, а не табличная часть.
Почему пользователи не видят новый подчиненный справочник после обновления?
Наиболее вероятная причина — не настроены права в ролях или справочник не добавлен в командный интерфейс подсистем. Проверьте роли на закладке «Роли» конфигуратора и включите справочник в нужные подсистемы на закладке «Подсистемы» его свойств.