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

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

Обязательные реквизиты справочников в 1С

Какие обязательные реквизиты есть у всех справочников в 1С: код, наименование, владелец, родитель, пометка удаления. Различия 7.7 и 8.3, настройка и типовые ошибки.

Любой справочник в системе 1С, независимо от конфигурации и версии платформы, содержит набор стандартных (системных) реквизитов, которые платформа создаёт автоматически и удалить которые невозможно. Эти поля обеспечивают уникальность записей, упорядочивание списков, иерархию и служебную логику работы с данными. Разработчику и администратору важно понимать, какие именно реквизиты присутствуют всегда, а какие появляются только при включении определённых свойств объекта.

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

Код и Наименование — два реквизита, которые есть всегда

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

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

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

Служебные поля: Ссылка, ПометкаУдаления, Предопределенный

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

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

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

Родитель и Владелец: когда эти реквизиты появляются

Реквизит Родитель появляется только если в свойствах справочника включён признак «Иерархический». Он хранит ссылку на группу (при иерархии групп) или на другой элемент (при иерархии элементов), внутри которых находится текущий объект. У элементов верхнего уровня родитель пустой. Перенос элемента между группами — это просто изменение значения реквизита Родитель.

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

Код и НаименованиеЕсть всегда

Проверьте тип и длину кода в свойствах объекта в конфигураторе

РодительТолько при иерархии

Смотрите флаг «Иерархический» на закладке «Иерархия»

ВладелецТолько при подчинении

Смотрите список «Владельцы» в свойствах справочника

ПометкаУдаления, СсылкаВсегда, скрыты от пользователя

Видны в запросах и через «Вывести список» в режиме предприятия

Как посмотреть обязательные реквизиты в конфигураторе и в режиме Предприятие

В конфигураторе состав реквизитов виден в дереве объектов: раскройте ветку «Справочники», вызовите свойства нужного объекта и откройте закладку «Данные». Там задаются длина кода и наименования, а собственные (пользовательские) реквизиты перечислены отдельным списком. Стандартные реквизиты доступны через кнопку «Стандартные реквизиты» — оттуда видно полный системный набор, включая Родителя, Владельца и ПометкуУдаления.

В режиме 1С:Предприятие увидеть служебные поля можно через универсальный отчёт или консоль запросов: достаточно выбрать поля Ссылка, Код, Наименование, ПометкаУдаления из таблицы справочника. Ещё один способ — в форме списка нажать «Ещё → Изменить форму» и добавить на форму стандартные реквизиты, если разработчик не скрыл их полностью.

Как проверить состав реквизитов справочника
  1. 1
    Откройте конфигуратор и найдите справочник в дереве конфигурации
  2. 2
    Откройте свойства объекта и закладку «Данные» — проверьте тип и длину кода и наименования
  3. 3
    Нажмите «Стандартные реквизиты» и изучите полный системный набор
  4. 4
    Проверьте закладку «Иерархия» и список владельцев, чтобы понять наличие Родителя и Владельца
  5. 5
    В режиме Предприятие сформируйте запрос по справочнику и убедитесь, что поля доступны для выборки

Различия между версиями платформы

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

В платформе 8.2 и 8.3 модель унифицирована: Ссылка (GUID), Код, Наименование, ПометкаУдаления, Предопределенный есть у каждого справочника, а Родитель и Владелец добавляются по настройке. В управляемых формах стандартные реквизиты по умолчанию не выводятся, но доступны через настройку формы и в запросах. Меняться могут детали поведения — например, механизм обновления предопределённых данных, — но сам состав обязательных реквизитов стабилен.

Типичные ошибки при работе с обязательными реквизитами

Частая проблема — попытка использовать код как бизнес-идентификатор, который никогда не меняется, одновременно разрешая пользователям ручное редактирование. Рано или поздно коды начинают дублироваться или «плывут», и синхронизация с внешними системами ломается. Для интеграций надёжнее опираться на GUID, а код оставить техническим полем.

Вторая ошибка — физическое удаление элементов вместо пометки удаления через запросы или внешние обработки. Документы, ссылавшиеся на удалённый элемент, начинают показывать «Объект не найден», и восстановить связь можно только пересозданием элемента с тем же GUID, что требует специальных инструментов.

Типичные ошибки
01
Использование кода как вечного внешнего идентификатора — при обмене данными связи рушатся; используйте GUID
02
Физическое удаление элементов напрямую — в документах появляются битые ссылки «Объект не найден»
03
Уменьшение длины наименования без проверки данных — значения обрезаются при реструктуризации
04
Игнорирование обязательности владельца — импорт подчинённого справочника без владельца завершается ошибкой записи

Практические рекомендации по настройке

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

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

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

Как проверить корректность настройки

Запись нового элемента
Норма

Элемент сохраняется, код присваивается автоматически

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

Ошибка «Код не уникален» или пустой код при выключенной автонумерации

Подчинённый справочник
Норма

Элемент не записывается без владельца, владелец виден в форме

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

Элементы с пустым владельцем — признак загрузки в обход контролей

Помеченные на удаление
Норма

Помеченные элементы скрыты из подбора, документы открываются

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

В документах текст «Объект не найден» — ссылки биты

Итог

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

Все справочники 1С всегда содержат Код, Наименование, Ссылку (GUID), ПометкуУдаления и признак Предопределенный. Родитель и Владелец добавляются только при включении иерархии и подчинения. Для связей и интеграций опирайтесь на GUID, удаляйте элементы только через пометку удаления, а длину и тип кода меняйте с осторожностью и резервной копией.

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

Можно ли удалить реквизит «Код» у справочника?

Нет. Код и Наименование — неотъемлемые стандартные реквизиты, платформа не позволяет их удалить. Можно лишь изменить тип, длину, синоним и настройки автонумерации и контроля уникальности.

Почему у двух элементов одинаковое наименование, и это не ошибка?

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

Чем Ссылка отличается от Кода?

Ссылка — это уникальный внутренний идентификатор (GUID), который присваивается один раз при создании элемента и никогда не меняется. Код — видимый пользователю реквизит, который можно редактировать. Все связи между объектами базы строятся по ссылке, а не по коду.

Обязателен ли реквизит «Владелец» для заполнения?

Да, если справочник подчинён другому объекту: элемент без владельца платформа не запишет. Если справочник независимый, реквизита Владелец у него нет вовсе.

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

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

Как программно обратиться к стандартным реквизитам?

Через свойства объекта встроенного языка: СправочникОбъект.Код, .Наименование, .Родитель, .Владелец, .ПометкаУдаления, .Ссылка, .Предопределенный. В запросах эти же поля доступны по именам напрямую из таблицы справочника.