Создание справочника-классификатора в конфигураторе 1С

· 8 мин

Содержание

Классификатор в 1С — это справочник, который хранит заранее заданный набор значений: виды номенклатуры, статьи затрат, категории контрагентов, собственный аналог ОКВЭД или ОКПД. Создаётся он в конфигураторе объектом Справочник: добавляете объект, настраиваете код и наименование, при необходимости включаете иерархию и табличные части.

Разберём весь путь — от простого линейного справочника до иерархической структуры с группами и предопределёнными элементами. Работаем в 1С:Предприятие 8.3, интерфейс «Такси», режим разработки — конфигуратор или расширение конфигурации . Если дорабатываете типовую конфигурацию (БП 3.0, ЗУП 3.1, УТ 11), снятую с поддержки, изменения удобнее вносить через расширение, чтобы не терять их при обновлении.

Что такое справочник-классификатор и когда он нужен

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

Отличие от обычного справочника — в роли, а не в типе объекта. Технически это один и тот же Справочник. Классификатор отличает то, что его значения:

  • 📌 заданы заранее и редко меняются пользователем;
  • 🔢 обычно имеют код из внешней системы кодирования (ОКВЭД, ОКЕИ, собственная нумерация);
  • 🌳 часто выстроены в иерархию «раздел → подраздел → элемент».

Создавать собственный классификатор стоит, когда готового в типовой конфигурации нет, а значения нужны для отбора, аналитики или подстановки в документы. Если же нужен адресный классификатор (КЛАДР/ФИАС), классификатор банков или ОКВЭД — их не создают вручную, а загружают из сервиса 1С или из файлов; это отдельная задача.

Виды классификаторов: какой выбрать для задачи

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

ВидКогда подходитКлючевые настройки
Линейный (плоский)Короткий список без вложенности: статусы, причины, единицыИерархия выключена
Иерархия групп и элементовКлассический классификатор: разделы-папки + значения внутриИерархический, вид «группы и элементы»
Иерархия элементовЭлемент сам может быть родителем (структура счетов, подразделения)Иерархический, вид «иерархия элементов»
ПодчинённыйЗначения зависят от владельца (договоры → контрагент)Указан владелец
Какой вид классификатора выбрать?

Создаём классификатор в конфигураторе по шагам

Откройте конфигуратор: Конфигурация → Открыть конфигурацию. В дереве объектов найдите ветку Справочники.

  1. Встаньте на ветку Справочники и нажмите Ins (или правая кнопка → Добавить). Откроется окно редактирования нового объекта.
  2. На вкладке Основные задайте Имя — латиницей, без пробелов, например ВидыДеятельности. Синоним подставится автоматически — это подпись для пользователя, её можно поправить («Виды деятельности»).
  3. Перейдите на вкладку Данные. Здесь настраивается код и наименование:
    • Длина кода — сколько символов в коде. Для числовой автонумерации хватает 9–11; для буквенно-цифрового кода выберите Тип кода = Строка.
    • Длина наименования — обычно 50–150 символов, по длине ваших названий.
    • Контроль уникальности оставьте включённым, если коды не должны повторяться.
  4. На этой же вкладке добавьте Реквизиты, если элементам нужны дополнительные поля (признак, ссылка на другой справочник, числовой коэффициент). Встаньте на Реквизиты → Добавить, задайте имя и тип.
  5. Проверьте вкладку Нумерация: Автонумерация формирует код сама; Серии кодов = Во всём справочнике или В пределах подчинения (для иерархии коды могут нумероваться внутри каждой группы).
  6. Назначьте формы. Для начала можно оставить автогенерируемые — платформа построит форму списка и форму элемента сама. Свои формы делают позже, когда нужен особый вид.
  7. Закройте окно и выполните Конфигурация → Обновить конфигурацию базы данных (F7). Платформа создаст таблицу справочника.

Обновление структуры базы требует монопольного доступа: другие пользователи в этот момент работать в базе не смогут. Делайте это, когда в базе никого нет, или на копии.

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

Минимальный набор для нового классификатора
Выполнено: 0 / 6

Иерархия: группы и элементы в классификаторе

Иерархию включают на вкладке Данные (в части конфигураций — Основные): флаг Иерархический справочник и ниже Вид иерархии.

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

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

Чтобы одни элементы подчинялись другим, в режиме 1С:Предприятие используют поле Родитель: при создании элемента внутри группы оно заполняется автоматически, а перенести элемент между группами можно командой Ещё → Переместить в группу или перетаскиванием.

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

Для отбора по иерархии в запросах и отчётах есть параметр Иерархия и оператор В ИЕРАРХИИ — он выбирает элемент вместе со всеми вложенными.

Предопределённые элементы: когда они нужны

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

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

Как добавить:

  1. Откройте объект справочника в конфигураторе, перейдите на вкладку Прочее.
  2. Нажмите кнопку Предопределённые.
  3. В открывшемся списке добавьте элемент (или группу): задайте Имя (латиницей, для обращения из кода), Код и Наименование.
  4. Обновите конфигурацию базы (F7).

Обращаются к такому элементу в коде через менеджер справочника и свойство ПредопределённоеЗначение, например через ПредопределённоеЗначение("Справочник.ВидыДеятельности.Прочее"). Это надёжнее поиска по наименованию, которое пользователь может переименовать.

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

Табличные части: когда классификатору нужны вложенные данные

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

Примеры:

  • 📋 у вида работ — перечень нормативов с расценками;
  • 📋 у категории клиента — список применяемых скидок по условиям;
  • 📋 у шаблона — набор строк-параметров.

Как добавить:

  1. В дереве объекта справочника встаньте на ветку Табличные части → Добавить.
  2. Задайте имя табличной части (например Нормативы).
  3. Внутри неё добавьте Реквизиты табличной части: номенклатура, количество, цена — с нужными типами.
  4. Выведите табличную часть на форму элемента (если форма автогенерируемая, она появится сама; для своей формы перетащите реквизит в дерево элементов формы).

Решая, нужна ли табличная часть, задайте вопрос: эти строки принадлежат только одному элементу и не используются отдельно? Если да — табличная часть. Если же на эти данные ссылаются другие объекты — заведите отдельный справочник и ссылайтесь на него.

Не выносите в табличную часть то, что меняется часто и массово: редактировать строки внутри карточки менее удобно, чем работать с отдельным списком.

Частые ошибки при создании классификатора

Ошибки, из-за которых справочник приходится переделывать уже с данными:

  • ❌ Слишком короткая длина кода. Задали 5 символов под автонумерацию — список перевалил за 99 999 записей, коды закончились. Закладывайте запас (9–11 цифр).
  • ❌ Строковый код вместо числового при автонумерации. Если планируете автонумерацию, тип кода должен быть Число. Строковый код не инкрементируется автоматически в привычном виде.
  • ❌ Группы там, где нужны элементы. В виде «группы и элементы» группу нельзя подставить в документ. Если «раздел» должен быть выбираемым значением — берите вид «иерархия элементов».
  • ❌ Доработка типовой конфигурации напрямую, а не расширением. Изменения в снятой с поддержки конфигурации теряются или конфликтуют при обновлении. Классификатор и его реквизиты добавляйте расширением конфигурации (доступны с платформы 8.3.6).
  • ❌ Предопределённые элементы для пользовательских данных. Помечать предопределёнными всё подряд — значит плодить зависимости в коде. Предопределённые — только опорные значения.
  • ❌ Обновление структуры базы при работающих пользователях. Реструктуризация требует монопольного доступа. Запуск при активных сеансах завершится ошибкой, а начатая реструктуризация оборвёт чужую работу.

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

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

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