При переходе на актуальные версии типовых конфигураций (1С:Управление торговлей 11, 1С:Комплексная автоматизация 2, 1С:ERP 2) разработчики часто сталкиваются с ситуацией: в карточке номенклатуры реквизит Товарная категория (Честный знак) заполнен и отображается, но при попытке программно прочитать реквизит объекта или посмотреть его через групповое изменение реквизитов поле оказывается пустым. Кроме того, подчиненный справочник ТоварныеКатегории также не содержит нужных записей. Выясним причину такого поведения системы и разберем, как устроено хранение данных маркировки.
В современных редакциях конфигураций 1С подсистема интеграции с государственной информационной системой маркировки (БИСМП) вынесена в отдельный архитектурный слой. Поле «Товарная категория» не является непосредственным реквизитом справочника Номенклатура.
Проанализируем ключевые особенности хранения данных:
ОписаниеНоменклатурыИС. Измерением выступает ссылка на позицию номенклатуры (и характеристика при наличии).ПриСозданииНаСервере из регистра сведений и при сохранении формы записывается через механизмы подсистемы БИСМП.Для чтения признаков маркировки и сопоставленных категорий номенклатуры не рекомендуется писать прямые запросы к внутренним таблицам без необходимости. Подсистема ГосИС предоставляет штатные API общего модуля ОбщегоНазначенияИС.
Посмотрим на пример безопасного программного чтения параметров номенклатуры:
ОписаниеНоменклатуры = ОбщегоНазначенияИС.ОписаниеНоменклатуры(СсылкаНаНоменклатуру);
ВидПродукцииИС = ОписаниеНоменклатуры[СсылкаНаНоменклатуру].КлючВидовПродукции;
ПризнакМаркировки = ЗначениеЗаполнено(ВидПродукцииИС);
Такой подход гарантирует получение актуальных данных с учетом текущей версии библиотеки интеграции.
При автоматизации массового заполнения товарных категорий важно избегать прямой записи набора записей в регистр ОписаниеНоменклатурыИС. Если записать данные «в лоб», без формирования корректных ключей и связей со справочниками Национального каталога, при первой же синхронизации с Честным Знаком или регламентном обмене эти записи могут быть перезаписаны или очищены, что приведет к ошибкам при проверке кодов маркировки в документах реализации. Для безопасного изменения параметров и перепривязки данных маркировки можно использовать обработку для исправления и создания маркировки в УТ.
Разберем штатные и безопасные способы заполнения:
Одежда, Обувная продукция, Молочная продукция). При привязке номенклатуры к виду система автоматически подтягивает доступную товарную категорию из настроек маркировки.ОписаниеНоменклатурыИС.