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