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

Разработка и Конфигурация · 12 мин

Планы видов характеристик в 1С: назначение и практическое применение

Зачем в 1С нужны планы видов характеристик, как они хранят дополнительные свойства объектов, когда их создавать и как избежать типичных ошибок при настройке.

План видов характеристик — это объект метаданных 1С, который решает одну конкретную задачу: хранение произвольного набора свойств, заранее не известного разработчику. Когда у номенклатуры, контрагента или договора нужны дополнительные реквизиты вроде «Цвет», «Материал», «Срок гарантии» или «Способ доставки», и этот список должен расширяться пользователем без доработки конфигурации — применяется именно план видов характеристик (ПВХ).

Механизм построен на классической схеме «объект — свойство — значение» (EAV, Entity-Attribute-Value). План видов характеристик хранит перечень самих характеристик (видов свойств), а значения этих характеристик обычно записываются в регистр сведений, где одно из измерений ссылается на объект, второе — на элемент ПВХ, а ресурс содержит значение. Такая структура позволяет добавлять новые свойства прямо в пользовательском режиме, не изменяя состав реквизитов справочников и документов.

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

Что такое план видов характеристик и как он устроен

План видов характеристик внешне похож на справочник: у него есть код, наименование, иерархия, предопределённые элементы. Принципиальное отличие — поле «Тип значения характеристики», которое задаёт составной тип данных. Например, одна характеристика «Цвет» может иметь тип «Справочник.Цвета», другая — «Гарантийный срок» — тип «Число», третья — «Облагается НДС» — тип «Булево». Один план ПВХ хранит разнотипные характеристики, что невозможно в обычном справочнике с фиксированным набором реквизитов.

Составной тип значения — ключевая настройка объекта. В него включают примитивные типы (строка, число, дата, булево) и ссылочные типы (справочники, документы, перечисления). Чем шире составной тип, тем гибче механизм, но тем медленнее работают запросы и тем сложнее контролировать корректность данных. На практике тип ограничивают реально нужным набором: строки, числа, даты, булево и один-два справочника дополнительных значений.

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

Какие задачи решает механизм на практике

Основной сценарий — дополнительные реквизиты и сведения в типовых конфигурациях (Управление торговлей, ERP, Бухгалтерия предприятия, Зарплата и управление персоналом). Когда компании нужно хранить у контрагентов «Категорию надёжности», а у номенклатуры — «Плотность» или «Рекламный слоган», типовой механизм БСП (Библиотека стандартных подсистем) использует именно план видов характеристик «Дополнительные реквизиты и сведения».

Вторая область — характеристики номенклатуры: размеры, цвета, модификации одного товара. Здесь ПВХ помогает описать серии и варианты исполнения, не плодя отдельные карточки номенклатуры под каждый размер. Третий сценарий — параметрические отборы и произвольные классификаторы: например, гибкая сегментация клиентов по набору признаков, который маркетолог меняет каждый месяц.

Ещё одно применение — хранение настроек и параметров обменов, когда состав параметров заранее не фиксирован, а также построение механизмов произвольных правил: «если у объекта свойство X равно Y, применить скидку». Во всех этих случаях объединяющий признак один — структура данных должна расширяться пользователем, а не программистом.

Чем хранить дополнительные данные

Обычный реквизит объекта

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

План видов характеристик + регистр сведений

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

Табличная часть объекта

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

Как связать ПВХ с объектами: типовая схема хранения

Сам план видов характеристик хранит только «заголовки» свойств. Значения размещают в регистре сведений со структурой: измерение «Объект» (ссылка на номенклатуру, контрагента и т.д.), измерение «Свойство» (ссылка на ПВХ), ресурс «Значение» (составной тип, совпадающий с типом значения характеристики ПВХ). Такой регистр называют «Значения свойств объектов».

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

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

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

Ограничения и цена гибкости

Гибкость ПВХ оплачивается производительностью и сложностью выборок. Значения хранятся «вертикально»: одна строка на пару «объект — свойство». Чтобы получить таблицу, где каждое свойство — колонка, запрос должен выполнить соединения или группировку с условиями по каждому свойству. На больших объёмах (сотни тысяч объектов, десятки свойств) такие запросы заметно медленнее чтения обычных реквизитов.

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

Третье ограничение касается отчётов. В СКД каждое свойство приходится вытаскивать отдельным полем через характеристики СКД (механизм «Характеристики» в настройках источника данных) либо вручную прописывать соединения. Пользователь, привыкший перетаскивать реквизиты в отчёт, с произвольными свойствами без подготовленной схемы не справится.

Планы видов характеристик в типовых конфигурациях

В конфигурациях на БСП механизм уже готов: разработчику достаточно подключить объект к подсистеме «Свойства», и пользователи получают кнопку «Дополнительные реквизиты» / «Ещё — Дополнительные сведения» без единой строки кода. За хранение отвечает предопределённый ПВХ «ДополнительныеРеквизитыИСведения». Отличие реквизитов от сведений: реквизиты выводятся прямо на форму объекта и хранятся в его табличной части, сведения — в отдельном регистре и видны по команде.

В «Управлении торговлей» и ERP план видов характеристик также лежит в основе механизма характеристик номенклатуры: вид номенклатуры определяет, используются ли характеристики, а их состав задаётся пользователем. В «1С:Документооборот» через ПВХ реализованы дополнительные реквизиты документов и произвольные свойства файлов. Знание этого устройства помогает понимать, где искать данные при написании отчётов и обменов.

Типичные ошибки при проектировании

Типичные ошибки
01
Неограниченно широкий составной тип значения: включают «на всякий случай» все справочники, из-за чего растут таблицы и падает скорость запросов.
02
Хранение значений прямо в реквизитах элемента ПВХ вместо регистра сведений — значение привязывается к свойству, а не к объекту, и механизм перестаёт работать.
03
Перенос в ПВХ ключевых реквизитов (единицы измерения, ставки НДС), по которым строятся проведение и отчёты — итоговая деградация производительности.
04
Отсутствие контроля заполнения: обязательность свойств не проверяется, и отчёты показывают неполные данные.
05
Дублирование механизма в типовой конфигурации вместо использования штатной подсистемы «Свойства».

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

Как проверить, что механизм работает правильно

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

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

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

Как проверить результат

Тип значения в регистре
Норма

Совпадает с типом, заданным у характеристики в ПВХ

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

Все значения сохраняются как строки или пустые ссылки

Удаление объекта
Норма

Значения свойств удаляются вместе с объектом

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

В регистре остаются записи с битой ссылкой

Отчёт по свойствам
Норма

Свойство выводится отдельной колонкой за приемлемое время

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

Отчёт формируется минутами или свойство недоступно для выбора

FAQ

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

Структурно ПВХ похож на справочник, но у него есть поле «Тип значения характеристики» с составным типом: разные элементы одного плана могут иметь значения разных типов (число, строка, ссылка). У справочника набор реквизитов фиксирован и одинаков для всех элементов.

Где физически хранятся значения характеристик?

Сам план хранит только описание свойств. Значения размещаются либо в регистре сведений с измерениями «Объект» и «Свойство», либо в табличной части самого объекта (как дополнительные реквизиты в конфигурациях на БСП).

Можно ли сделать свойство обязательным для заполнения?

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

Почему отчёт по свойствам работает медленно?

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

Нужно ли дорабатывать конфигурацию, чтобы добавить новое свойство?

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

Что выбрать: дополнительный реквизит или дополнительное сведение?

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

Итог

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

План видов характеристик — механизм хранения свойств, состав которых определяет пользователь, а не разработчик. Свойства описываются в ПВХ с типом значения, значения — в регистре сведений. Механизм даёт гибкость ценой производительности и контроля: ключевые данные оставляйте обычными реквизитами, а в типовых конфигурациях используйте готовую подсистему «Свойства».