Создание справочника-классификатора в конфигураторе 1С
Содержание
Классификатор в 1С — это справочник, который хранит заранее заданный набор значений: виды номенклатуры, статьи затрат, категории контрагентов, собственный аналог ОКВЭД или ОКПД. Создаётся он в конфигураторе объектом Справочник: добавляете объект, настраиваете код и наименование, при необходимости включаете иерархию и табличные части.
Разберём весь путь — от простого линейного справочника до иерархической структуры с группами и предопределёнными элементами. Работаем в 1С:Предприятие 8.3, интерфейс «Такси», режим разработки — конфигуратор или расширение конфигурации . Если дорабатываете типовую конфигурацию (БП 3.0, ЗУП 3.1, УТ 11), снятую с поддержки, изменения удобнее вносить через расширение, чтобы не терять их при обновлении.
Что такое справочник-классификатор и когда он нужен
Справочник хранит список однотипных объектов, на которые ссылаются документы и другие справочники. Классификатором его называют, когда список стабильный и служит для группировки или кодирования: единицы измерения, причины списания, направления деятельности, категории клиентов.
Отличие от обычного справочника — в роли, а не в типе объекта. Технически это один и тот же Справочник. Классификатор отличает то, что его значения:
- 📌 заданы заранее и редко меняются пользователем;
- 🔢 обычно имеют код из внешней системы кодирования (ОКВЭД, ОКЕИ, собственная нумерация);
- 🌳 часто выстроены в иерархию «раздел → подраздел → элемент».
Создавать собственный классификатор стоит, когда готового в типовой конфигурации нет, а значения нужны для отбора, аналитики или подстановки в документы. Если же нужен адресный классификатор (КЛАДР/ФИАС), классификатор банков или ОКВЭД — их не создают вручную, а загружают из сервиса 1С или из файлов; это отдельная задача.
Виды классификаторов: какой выбрать для задачи
Перед созданием определите три вещи: нужна ли иерархия, откуда берутся коды и будут ли у элементов дополнительные характеристики. От этого зависят настройки объекта.
| Вид | Когда подходит | Ключевые настройки |
|---|---|---|
| Линейный (плоский) | Короткий список без вложенности: статусы, причины, единицы | Иерархия выключена |
| Иерархия групп и элементов | Классический классификатор: разделы-папки + значения внутри | Иерархический, вид «группы и элементы» |
| Иерархия элементов | Элемент сам может быть родителем (структура счетов, подразделения) | Иерархический, вид «иерархия элементов» |
| Подчинённый | Значения зависят от владельца (договоры → контрагент) | Указан владелец |
Создаём классификатор в конфигураторе по шагам
Откройте конфигуратор: Конфигурация → Открыть конфигурацию. В дереве объектов найдите ветку Справочники.
- Встаньте на ветку
Справочникии нажмитеIns(или правая кнопка →Добавить). Откроется окно редактирования нового объекта. - На вкладке Основные задайте Имя — латиницей, без пробелов, например
ВидыДеятельности. Синоним подставится автоматически — это подпись для пользователя, её можно поправить («Виды деятельности»). - Перейдите на вкладку Данные. Здесь настраивается код и наименование:
- Длина кода — сколько символов в коде. Для числовой автонумерации хватает 9–11; для буквенно-цифрового кода выберите Тип кода =
Строка. - Длина наименования — обычно 50–150 символов, по длине ваших названий.
- Контроль уникальности оставьте включённым, если коды не должны повторяться.
- Длина кода — сколько символов в коде. Для числовой автонумерации хватает 9–11; для буквенно-цифрового кода выберите Тип кода =
- На этой же вкладке добавьте Реквизиты, если элементам нужны дополнительные поля (признак, ссылка на другой справочник, числовой коэффициент). Встаньте на
Реквизиты→Добавить, задайте имя и тип. - Проверьте вкладку Нумерация: Автонумерация формирует код сама; Серии кодов =
Во всём справочникеилиВ пределах подчинения(для иерархии коды могут нумероваться внутри каждой группы). - Назначьте формы. Для начала можно оставить автогенерируемые — платформа построит форму списка и форму элемента сама. Свои формы делают позже, когда нужен особый вид.
- Закройте окно и выполните
Конфигурация → Обновить конфигурацию базы данных(F7). Платформа создаст таблицу справочника.
Обновление структуры базы требует монопольного доступа: другие пользователи в этот момент работать в базе не смогут. Делайте это, когда в базе никого нет, или на копии.
После обновления справочник доступен в режиме 1С:Предприятие. Чтобы он появился в меню, добавьте команду открытия в нужную подсистему на вкладке Подсистемы или через настройку командного интерфейса.
Иерархия: группы и элементы в классификаторе
Иерархию включают на вкладке Данные (в части конфигураций — Основные): флаг Иерархический справочник и ниже Вид иерархии.
Иерархия групп и элементов. Появляются два типа записей: группы (папки) и элементы. Группа — только контейнер, в документ её подставить нельзя. Так удобно раскладывать плоский список значений по разделам. Глубину вложенности можно ограничить флагом Ограничение количества уровней иерархии.
Иерархия элементов. Группы как отдельного типа нет — родителем может стать любой элемент. Подходит, когда «раздел» сам является значением: структура подразделений, вложенные категории товаров, где и верхний узел — реальная позиция.
Чтобы одни элементы подчинялись другим, в режиме 1С:Предприятие используют поле Родитель: при создании элемента внутри группы оно заполняется автоматически, а перенести элемент между группами можно командой Ещё → Переместить в группу или перетаскиванием.
Сменить вид иерархии или выключить её у справочника, где уже есть данные, можно, но платформа предупредит о реструктуризации. Перед изменением структуры заполненного справочника сделайте резервную копию базы.
Для отбора по иерархии в запросах и отчётах есть параметр Иерархия и оператор В ИЕРАРХИИ — он выбирает элемент вместе со всеми вложенными.
Предопределённые элементы: когда они нужны
Предопределённые элементы — это значения справочника, которые создаются самой конфигурацией и существуют в любой базе. На них можно сослаться из кода по имени, не завися от того, что введёт пользователь.
Типичные примеры: валюта «рубль», ставка НДС «Без НДС», статья «Прочее», корневая группа классификатора. Пользователь такой элемент видит, но удалить его не может — платформа помечает его особой иконкой.
Как добавить:
- Откройте объект справочника в конфигураторе, перейдите на вкладку Прочее.
- Нажмите кнопку Предопределённые.
- В открывшемся списке добавьте элемент (или группу): задайте Имя (латиницей, для обращения из кода), Код и Наименование.
- Обновите конфигурацию базы (
F7).
Обращаются к такому элементу в коде через менеджер справочника и свойство ПредопределённоеЗначение, например через ПредопределённоеЗначение("Справочник.ВидыДеятельности.Прочее"). Это надёжнее поиска по наименованию, которое пользователь может переименовать.
Не делайте предопределёнными те элементы, которыми наполняет справочник пользователь, — только те, на которые жёстко опирается логика конфигурации. Иначе при обновлении возникнут лишние зависимости.
Табличные части: когда классификатору нужны вложенные данные
Табличная часть — это вложенная таблица строк внутри элемента справочника. Она нужна, когда у одного значения есть набор однотипных связанных данных, которые не вынести в отдельный справочник.
Примеры:
- 📋 у вида работ — перечень нормативов с расценками;
- 📋 у категории клиента — список применяемых скидок по условиям;
- 📋 у шаблона — набор строк-параметров.
Как добавить:
- В дереве объекта справочника встаньте на ветку Табличные части →
Добавить. - Задайте имя табличной части (например
Нормативы). - Внутри неё добавьте Реквизиты табличной части: номенклатура, количество, цена — с нужными типами.
- Выведите табличную часть на форму элемента (если форма автогенерируемая, она появится сама; для своей формы перетащите реквизит в дерево элементов формы).
Решая, нужна ли табличная часть, задайте вопрос: эти строки принадлежат только одному элементу и не используются отдельно? Если да — табличная часть. Если же на эти данные ссылаются другие объекты — заведите отдельный справочник и ссылайтесь на него.
Не выносите в табличную часть то, что меняется часто и массово: редактировать строки внутри карточки менее удобно, чем работать с отдельным списком.
Частые ошибки при создании классификатора
Ошибки, из-за которых справочник приходится переделывать уже с данными:
- ❌ Слишком короткая длина кода. Задали 5 символов под автонумерацию — список перевалил за 99 999 записей, коды закончились. Закладывайте запас (9–11 цифр).
- ❌ Строковый код вместо числового при автонумерации. Если планируете автонумерацию, тип кода должен быть
Число. Строковый код не инкрементируется автоматически в привычном виде. - ❌ Группы там, где нужны элементы. В виде «группы и элементы» группу нельзя подставить в документ. Если «раздел» должен быть выбираемым значением — берите вид «иерархия элементов».
- ❌ Доработка типовой конфигурации напрямую, а не расширением. Изменения в снятой с поддержки конфигурации теряются или конфликтуют при обновлении. Классификатор и его реквизиты добавляйте расширением конфигурации (доступны с платформы 8.3.6).
- ❌ Предопределённые элементы для пользовательских данных. Помечать предопределёнными всё подряд — значит плодить зависимости в коде. Предопределённые — только опорные значения.
- ❌ Обновление структуры базы при работающих пользователях. Реструктуризация требует монопольного доступа. Запуск при активных сеансах завершится ошибкой, а начатая реструктуризация оборвёт чужую работу.
Если справочник уже в работе и структуру надо менять, сначала выгрузите резервную копию базы , а изменения по возможности протестируйте на копии — особенно смену длины кода, вида иерархии и типов реквизитов.
Частые вопросы
Чем классификатор отличается от обычного справочника?
Можно ли создать классификатор без конфигуратора?
Как включить иерархию у уже созданного справочника?
Как сослаться на конкретный элемент из кода надёжно?
Нужно ли монопольно останавливать работу пользователей при создании справочника?
Обновить конфигурацию базы данных требует, чтобы в базе никого не было.