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