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