Продажа маркированной табачной продукции блоками в 1С:Розница (особенно в версиях 2.2 и ранних 2.3) часто сопровождается техническими сложностями. Пользователи сталкиваются с ошибкой «Запрещено запрашивать данные по неизвестным штрихкодам в МОТП» или невозможностью корректно считать код блочного DataMatrix. В этой статье мы подробно разберем причины возникновения этих проблем и подготовим пошаговое решение, объединяющее программную настройку и конфигурацию оборудования.
При сканировании блока программа должна автоматически «понимать», какие пачки в него входят. Это называется механизмом агрегации. Ошибка «неизвестный штрихкод» возникает тогда, когда в локальной базе 1С отсутствует связь между кодом блока и кодами вложенных пачек. Рассмотрим основные причины:
Проанализируем правильность заполнения карточки товара. Для того чтобы программа корректно обрабатывала блок как совокупность пачек, необходимо выполнить следующие настройки:
В коде конфигурации за обработку вложенности отвечает специализированный механизм библиотеки интеграции. Посмотрим на упрощенную логику поиска упаковки:
// Пример логики поиска упаковки в базе
ПараметрыПоиска = ИнтеграцияИСМП.ПараметрыПоискаШтрихкодаУпаковки();
ПараметрыПоиска.Штрихкод = СканированныйКод;
ДанныеУпаковки = МенеджерОборудованияВызовСервера.ПоискШтрихкодаУпаковки(ПараметрыПоиска);
Если ДанныеУпаковки = Неопределено Тогда
// Здесь возникает запрос к ИС МП, который может вернуть ошибку "неизвестный штрихкод"
РезультатПроверки = ИнтеграцияИСМП.ПроверитьСтатусКодаВГИСМТ(СканированныйКод);
КонецЕсли;
Выясним, как данные о блоках попадают в систему. Согласно правилам маркировки, полноценная работа с блоками возможна только при получении товаров через Электронный документооборот (ЭДО).
Когда вы подтверждаете УПД от поставщика, 1С автоматически заполняет регистр Штрихкоды упаковок и товаров. В этом регистре хранится древовидная структура: код блока (родитель) и коды пачек (дети). Если вы сканируете блок, 1С обращается к этому регистру, находит все вложенные пачки и добавляет их в документ реализации. Если приемка велась вручную (без кодов), агрегация внутри 1С не сработает, и программа будет вынуждена обращаться к внешним серверам Честного Знака, что часто приводит к ошибкам прав доступа или таймаутам.
Часто проблема кроется не в программе, а в физическом считывании кода. Коды на сигаретных пачках и блоках имеют специфику: они мелкие, часто инвертированные и находятся под бликующей пленкой. Рассмотрим настройку на примере популярного сканера Honeywell 1450g.
Проанализируем необходимые манипуляции с оборудованием:
EZConfig-Scanning.GS - Group Separator) могут передаваться некорректно, из-за чего 1С не сможет распознать структуру кода GS1 DataMatrix.Проверим настройки в 1С. В разделе «Администрирование» — «Подключаемое оборудование» для вашего сканера должен быть установлен корректный драйвер (например, «1С:Сканеры штрихкода (COM)»).
Если вы уверены в легальности продукции, но 1С блокирует продажу из-за ошибки запроса в МОТП, проанализируем настройки интеграции. Рассмотрим вариант временного обхода проблемы:
Внимание: это действие повышает риск продажи товаров, не принадлежащих вашей организации или находящихся в некорректном статусе. Рекомендуется использовать это только как временное решение до настройки полноценного ЭДО.
Проанализируем ситуацию с версиями. 1С:Розница 2.2.13.8 — это достаточно старый релиз. Разработчики 1С постоянно обновляют «Библиотеку интеграции с ИС МП», исправляя ошибки взаимодействия с серверами «Честного Знака».
В новых версиях (ветка 2.3.10 и выше) реализован механизм офлайн-проверки и улучшена работа с «серым» списком кодов. Если ваша текущая версия выдает ошибки, которые невозможно устранить настройками, рассмотрим план обновления конфигурации до актуального релиза 2.3 или перехода на 3.0 (УНФ+Розница).
Подводя итог, для стабильной продажи табачных блоков выполним следующие действия:
Соблюдение этих технических регламентов позволит избежать очередей на кассе и обеспечит корректное списание маркированной продукции в государственных системах контроля.