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