При внедрении обязательного разрешительного режима в розничной торговле многие пользователи столкнулись со специфической ошибкой: «КМ не прошла верификацию в стране эмитента» — для решения задачи есть инструмент фискализации и проверки кодов маркировки. Эта проблема возникает в программах 1С:РМК, 1С:Розница, 1С:УНФ и других решениях на платформе 1С:Предприятие 8.3 при попытке пробить чек с маркированным товаром (табак, обувь, одежда, шины, антисептики, разливное пиво).
Ситуация осложняется тем, что ошибка может возникать эпизодически (не забывайте про автоматическое обновление токенов): на одной кассе товар пробивается, на другой — нет, или же вчера всё работало, а сегодня — блокировка. В этой статье мы подробно разберем причины возникновения этой ошибки и изучим пошаговые алгоритмы её устранения.
Прежде всего, проанализируем, что происходит «под капотом» системы. Ошибка, возвращаемая через API Честного ЗНАКа (функция ВерификацияКодаТовара), имеет технический код 8 (помочь в диагностике может информация по кодам марок из Честного знака). Она означает, что при проверке криптографической части кода маркировки (так называемого «криптохвоста») серверы ГИС МТ не смогли подтвердить его легитимность через национальную систему страны, где этот код был выпущен.
Особенно часто это касается товаров, произведенных в странах ЕАЭС (Беларусь, Казахстан, Киргизия, Армения). Когда кассовое ПО 1С отправляет запрос на проверку, российский сервер «Честного ЗНАКа» переадресует его коллегам в страну-эмитент. Если связь между серверами нестабильна, или данные в иностранной системе еще не синхронизировались, касса выдает предупреждение о непройденной верификации.
Как показывает практика и опыт участников профессиональных форумов, наиболее эффективным решением является очистка пула кодов маркировки. В системе 1С реализован механизм предварительного кэширования результатов проверки для ускорения работы. Если однажды код попал в этот кэш (пул) с ошибкой (например, из-за временного сбоя связи), программа будет выдавать эту ошибку снова и снова, даже если сервер «Честного ЗНАКа» уже готов подтвердить валидность кода.
Рассмотрим, как выполнить очистку пула пошагово:
После выполнения этого задания 1С будет вынуждена отправить «чистый» запрос к серверу ГИС МТ, игнорируя старые закэшированные ошибки.
Разрешительный режим работает через распределенную сеть серверов — CDN (Content Delivery Network) — для стабильного обмена данными подойдёт универсальный драйвер касс для работы с маркировкой. Это сделано для того, чтобы кассы по всей стране могли быстро получать ответы. Иногда конкретный сервер, к которому обратилась ваша база 1С, работает некорректно или содержит устаревшие данные о статусах кодов стран ЕАЭС.
Выясним, как сменить площадку:
Проанализируем ситуацию: часто обновление CDN-площадок дает моментальный, но временный эффект. Для надежности рекомендуется сочетать этот метод с Решением №1 (очисткой пула).
Если ошибка возникает на всех марках подряд, проанализируем работу оборудования. Для корректной верификации в разрешительном режиме 1С должна передавать код в формате Base64, сохраняя все управляющие символы (например, GS — ASCII 29).
Если сканер настроен в режиме эмуляции клавиатуры (HID), он может «проглатывать» эти невидимые символы. В результате 1С формирует неверную строку запроса, и сервер возвращает ошибку верификации, так как криптохвост без этих символов считается недействительным.
Посмотрим на рекомендации по настройке:
]d2. Это признак кода DataMatrix стандарта GS1.Если вы сомневаетесь, в чем проблема — в 1С или в самой марке — используйте официальное приложение «Честный ЗНАК» (пользовательское) или «Честный ЗНАК.Бизнес». Если при сканировании в мобильном приложении на смартфоне вы видите ту же ошибку («Ошибка верификации»), значит, проблема на стороне ГИС МТ или серверов страны-производителя. В этом случае остается только ждать синхронизации баз данных или обращаться в техподдержку «Честного ЗНАКа».
Однако, если приложение показывает статус «В обороте» и не выдает ошибок, а 1С продолжает блокировать продажу — используйте метод с РегламентнымиЗаданиями для очистки пула, описанный выше.
Подводя итог, проанализируем последовательность действий системного администратора при возникновении ошибки верификации в стране эмитента:
Помните, что разрешительный режим — это сложная цепочка взаимодействий между вашим сканером, кассовой программой 1С, локальным сервером CDN и серверами маркировки нескольких государств. Регулярная очистка кэша (пула кодов) в 1С является лучшей профилактикой подобных сбоев.