Разработка и Конфигурация · 11 мин
Как создать объект конфигурации «Справочник» в 1С и описать его структуру
Пошаговая инструкция по созданию объекта конфигурации «Справочник» в 1С: реквизиты, табличные части, иерархия, владельцы, код и наименование, проверка результата.
Справочник в 1С — это объект конфигурации, предназначенный для хранения однотипной нормативно-справочной информации: номенклатуры, контрагентов, сотрудников, складов, валют. Элементы справочника многократно используются в документах и других объектах, поэтому от правильного описания структуры зависит удобство учёта и отсутствие дублей в данных.
Создание справочника выполняется в конфигураторе: разработчик добавляет объект в ветку «Справочники» дерева конфигурации, задаёт его свойства, описывает реквизиты и табличные части, настраивает представление и права. После обновления конфигурации базы данных платформа автоматически создаёт необходимые таблицы в СУБД — писать SQL вручную не требуется.
Структура справочника складывается из стандартных реквизитов (код, наименование, ссылка, пометка удаления), реквизитов, добавленных разработчиком, табличных частей и предопределённых элементов. Ниже разобран каждый шаг — от создания объекта до проверки результата в пользовательском режиме.
Что такое справочник и когда он нужен
Справочник хранит списки условно-постоянных значений, которые редко меняются и многократно используются. Классические примеры: «Номенклатура», «Контрагенты», «Сотрудники», «Организации», «Склады». Если некое значение выбирается в документах или других справочниках из списка — почти наверняка ему нужен отдельный справочник.
Альтернатива справочнику — перечисление, но оно подходит только для коротких жёстко фиксированных списков (например, «Вид оплаты: наличный/безналичный»), которые не должны пополняться пользователем. Если состав значений заранее неизвестен или пользователи будут добавлять элементы сами, выбирайте справочник.
Что выбрать для хранения данных
Создание объекта в конфигураторе
Откройте конфигуратор, загрузите конфигурацию (меню «Конфигурация → Открыть конфигурацию») и в дереве конфигурации найдите ветку «Справочники». Кликните по ней правой кнопкой мыши и выберите «Добавить» — откроется окно редактирования объекта конфигурации, где на закладках задаются все его свойства.
На закладке «Основные» укажите имя и синоним. Имя — это идентификатор для обращения из встроенного языка (например, Контрагенты), оно пишется без пробелов и начинается с буквы. Синоним — представление для пользователя, например «Контрагенты (покупатели и поставщики)», именно его видно в интерфейсе.
Здесь же задаётся способ редактирования (в форме, в списке или обоими способами) и представление объекта в единственном и множественном числе — эти строки платформа использует в заголовках форм и в командном интерфейсе.
- 1Откройте конфигуратор и дерево конфигурации
- 2Правой кнопкой по ветке «Справочники» выберите «Добавить»
- 3Задайте имя и синоним на закладке «Основные»
- 4Опишите реквизиты и табличные части на закладке «Данные»
- 5Настройте длину кода и наименования на закладке «Нумерация»
- 6Добавьте справочник в нужные подсистемы на закладке «Подсистемы»
- 7Выполните «Конфигурация → Обновить конфигурацию базы данных»
- 8Проверьте объект в режиме «1С:Предприятие»
Стандартные реквизиты: код, наименование, ссылка
Каждый справочник автоматически получает набор стандартных реквизитов. Главные из них — «Код» и «Наименование». Их длина и тип настраиваются на закладке «Нумерация» и в свойствах объекта. Код может быть числовым или строковым; при числовом коде удобна автонумерация и контроль уникальности. Наименование — строка, длину которой стоит задавать с запасом: 100–150 символов обычно достаточно, а слишком короткое наименование приведёт к обрезанию длинных названий.
Реквизит «Ссылка» — это уникальный внутренний идентификатор элемента (GUID). Именно ссылка хранится в документах и других объектах, когда они ссылаются на элемент справочника. Код и наименование можно менять, ссылка при этом остаётся прежней, поэтому связи не разрушаются.
Обратите внимание на свойство «Основное представление»: оно определяет, что пользователь видит при выборе элемента — код или наименование. Для большинства прикладных справочников выбирают наименование.
Реквизиты и табличные части: описание собственной структуры
Прикладная структура описывается на закладке «Данные». Кнопка «Добавить реквизит» открывает палитру свойств, где задаются имя, синоним и тип значения. Тип может быть примитивным (строка, число, дата, булево) или ссылочным — на другой справочник, документ, перечисление. Для строк всегда указывайте длину или отмечайте «Неограниченная длина» осознанно: неограниченные строки нельзя использовать в индексах и некоторых сравнениях.
Если одному элементу соответствует несколько строк однотипных данных (например, у контрагента — несколько контактных лиц, у товара — несколько единиц измерения), используйте табличную часть. Она добавляется кнопкой «Добавить табличную часть», а её колонки описываются так же, как реквизиты. Табличная часть хранится вместе с элементом и удаляется вместе с ним.
Для реквизитов доступны полезные свойства: «Проверка заполнения» (выдавать ошибку, если поле пустое), «Значение заполнения» (значение по умолчанию для новых элементов), индексирование для ускорения поиска. Не индексируйте всё подряд — каждый индекс замедляет запись.
| Элемент структуры | Назначение | Пример для «Контрагенты» |
|---|---|---|
| Стандартные реквизиты | Задаются платформой автоматически | Код, Наименование, Пометка удаления |
| Реквизит | Одно значение на элемент | ИНН, КПП, Телефон |
| Табличная часть | Несколько строк на элемент | Контактные лица, Адреса доставки |
| Предопределённый элемент | Создаётся в конфигураторе, доступен из кода | «Розничный покупатель» |
Иерархия, владельцы и предопределённые элементы
На закладке «Иерархия» включается группировка элементов. Иерархия групп и элементов позволяет создавать папки (как в «Номенклатуре»), иерархия элементов — вкладывать элементы друг в друга (как в подчинённых подразделениях). Если список заведомо плоский и короткий, иерархию лучше не включать — лишний уровень вложенности только усложнит интерфейс.
Закладка «Владельцы» нужна, когда элементы одного справочника имеют смысл только внутри элемента другого: «Договоры контрагентов» подчинены «Контрагентам», «Единицы измерения» — «Номенклатуре». У подчинённого справочника появляется стандартный реквизит «Владелец», и платформа умеет автоматически фильтровать список по текущему владельцу.
Предопределённые элементы создаются на одноимённой закладке прямо в конфигураторе. Их ключевая особенность — к ним можно обращаться из кода по имени через менеджер справочника, не боясь, что пользователь удалит нужный элемент. Типичный пример — элемент «Розничный покупатель», на который ссылаются алгоритмы проведения.
Не создавайте подчинённый справочник там, где достаточно реквизита ссылочного типа. Владелец нужен, когда элемент бессмысленен вне родителя и должен фильтроваться по нему; если связь необязательная или многие-ко-многим — используйте обычный реквизит или регистр сведений.
Формы, права и размещение в интерфейсе
По умолчанию платформа генерирует формы списка, элемента и выбора автоматически — для большинства задач этого достаточно. Собственные формы создаются на закладке «Формы» только когда нужна нестандартная компоновка, дополнительные команды или программная логика. Не создавайте формы «на всякий случай»: каждая самописная форма — это код, который придётся поддерживать при обновлениях.
Чтобы пользователь увидел справочник, добавьте его в подсистему на закладке «Подсистемы» — тогда команда открытия списка появится в соответствующем разделе панели навигации. Затем в конфигураторе через «Администрирование → Права доступа» или в ролях проверьте, что у целевых пользователей есть права на чтение и, при необходимости, на добавление и изменение.
Обновление базы и проверка результата
После описания структуры выполните «Конфигурация → Обновить конфигурацию базы данных». Платформа покажет окно реструктуризации со списком изменений — для нового справочника это создание таблиц. Подтвердите обновление и дождитесь завершения. На файловых базах с пользователями обновление потребует монопольного доступа: все сеансы должны быть завершены.
Запустите режим «1С:Предприятие» (сервис «Отладка → Начать отладку» или F5), откройте справочник через панель навигации и создайте тестовый элемент: заполните реквизиты, добавьте строки в табличную часть, запишите. Затем проверьте, что элемент доступен для выбора из документа или другого объекта, где используется ссылка на этот справочник.
Как проверить результат
Форма списка открывается без ошибок, видны колонки кода и наименования
Ошибка «Объект не обнаружен» — не выполнено обновление конфигурации БД
Элемент записывается, код присваивается автоматически, обязательные реквизиты проверяются
Запись невозможна без сообщения — проверьте права доступа роли
Элемент выбирается в документе, отображается наименование
Поле выбора пустое — не настроен тип реквизита или нет прав на чтение
Частые вопросы
Чем справочник отличается от регистра сведений?
Справочник хранит сущности, на которые ссылаются другие объекты, и не помнит историю изменений. Регистр сведений хранит значения в разрезе измерений и может быть периодическим — то есть сохраняет, каким было значение на каждую дату. Если нужна история (например, курсы валют, цены), используйте регистр сведений.
Можно ли изменить структуру справочника, когда в нём уже есть данные?
Добавление новых реквизитов и увеличение длины строк — безопасные операции. Удаление реквизитов, уменьшение длины строк и смена типа реквизита приводят к потере или преобразованию данных. Перед такими изменениями делайте резервную копию и проверяйте реструктуризацию на копии базы.
Как запретить дубли элементов по наименованию или ИНН?
Штатная уникальность контролируется только для кода. Для других реквизитов проверку реализуют в модуле объекта в обработчике «ПередЗаписью»: запросом ищут элемент с таким же значением и при нахождении отказывают в записи. Дополнительно можно включить индексирование реквизита для ускорения поиска.
Что такое пометка удаления и почему элемент не удаляется сразу?
Пометка удаления — стандартный механизм защиты ссылочной целостности: элемент остаётся в базе, пока на него могут ссылаться документы. Физическое удаление выполняется обработкой «Удаление помеченных объектов», которая проверяет все ссылки. Если ссылки есть, объект не удалится, пока они не будут устранены.
Нужно ли писать код, чтобы создать справочник?
Для базовой структуры код не нужен: имя, реквизиты, табличные части, иерархия и права настраиваются в окне редактирования объекта. Программирование требуется только для нестандартной логики — проверок при записи, автозаполнения, обработчиков событий форм.
Что важно запомнить
Справочник создаётся в конфигураторе через ветку «Справочники»: задаются имя и синоним, описываются реквизиты и табличные части на закладке «Данные», настраиваются код, наименование, иерархия и владельцы. После обновления конфигурации базы данных объект проверяется в режиме «1С:Предприятие». Длину строк закладывайте с запасом, а перед изменением структуры с данными делайте резервную копию.