Внедрение разрешительного режима в системе «Честный Знак» — это важный этап автоматизации розничной торговли, который требует от программиста и системного администратора четкого понимания механизмов взаимодействия кассового ПО и серверов ГИС МТ. Смысл этого режима заключается в том, что кассовое ПО перед пробитием чека отправляет запрос в систему маркировки, чтобы проверить, можно ли продавать конкретную единицу товара. Рассмотрим подробно, как реализовать этот механизм, с какими сложностями можно столкнуться и как их решить на базе 1С и популярного кассового оборудования.
Разберем, что именно происходит в момент сканирования марки. Система «Честный Знак» проверяет код на наличие в базе, статус (должен быть «В обороте»), принадлежность продавцу и срок годности (если применимо). Если проверка не проходит, касса блокирует продажу.
Проанализируем сроки внедрения для категорий одежды и обуви:
Важно понимать, что обычная проверка маркировки, которая существовала ранее, теперь дополняется обязательным запросом через CDN-площадки с использованием специального токена.
Выясним причину, по которой обычное сканирование может перестать работать. Для функционирования разрешительного режима недостаточно просто обновить прошивку ККТ. В личном кабинете «Честного Знака» (ГИС МТ) необходимо сгенерировать токен для проверки товаров. Этот токен предназначен не для подписания документов, а именно для авторизации запросов с кассового узла.
Рассмотрим порядок действий:
Также проанализируем ситуацию с CDN-площадками. Это распределенная сеть серверов, которая обеспечивает быстрый ответ (до 1.5 секунд). Кассовое ПО должно уметь автоматически выбирать ближайшую площадку. В современных версиях 1С этот механизм уже встроен, но в самописных или старых конфигурациях его придется реализовывать через API.
Посмотрим на пример работы со старыми конфигурациями. Если у вас используется 1С:Розница 2, которая была значительно доработана («перепилена в хлам»), стандартное обновление может быть невозможным. В этом случае оптимальным решением станет использование расширений.
Разберем по шагам, что должно делать такое расширение:
IndustryAttribute в интеграционную компоненту.Проанализируем техническую деталь: при формировании данных для ККТ необходимо правильно заполнить тег 1260. Рассмотрим пример структуры XML, которую подготавливает система перед отправкой в интеграционную компоненту:
// Пример формирования атрибутов для передачи в ККТ
СтруктураРеквизита = Новый Структура;
СтруктураРеквизита.Вставить("IndustryAttribute", "ИдентификаторСистемы:ЗначениеАтрибута");
// Код маркировки должен быть предварительно проверен через API ЧЗ
РезультатПроверки = ИнтеграцияИСМП.ПроверитьКодМаркировки(Токен, КодМаркировки);
Если РезультатПроверки.Разрешено Тогда
// Добавляем товар в корзину и готовимся к пробитию чека
КонецЕсли;
Выясним, как обстоят дела с драйверами. Пользователи отмечают, что на оборудовании Штрих-М и Атол система работает штатно, если обновлены драйверы до актуальных версий (например, для Атол это 10-я серия последних релизов).
Важный момент: для работы разрешительного режима касса должна поддерживать ФФД 1.2. Если вы работаете с обувью или одеждой, переход на этот формат обязателен. При настройке драйвера Штрих-М обратите внимание на таблицы параметров, где указываются адреса серверов проверки марок. Зачастую документация производителей не дает полных ответов, и приходится обращаться к первоисточникам в КонсультантПлюс или техподдержку ЦРПТ.
Рассмотрим подробнее вопрос возвратов. На практике возникает дискуссия: нужно ли делать разрешительный запрос при возврате товара от покупателя? Исходя из логики API и опыта коллег, возврату разрешительный режим не требуется. Возврат разрешен даже без марки (в определенных случаях), либо с маркой, которая уже выведена из оборота. При возврате система просто возвращает код в оборот, а не проверяет право на его реализацию.
Также разберем ситуацию «технического отказа»:
Если вы работаете на очень старых платформах, например 1С 7.7, задача усложняется, но остается выполнимой. Вам потребуется написать внешнюю компоненту или использовать ActiveX для работы с HTTP-запросами к API «Честного Знака». Основная сложность здесь заключается в правильной обработке JSON-ответов и передаче данных в драйвер ККТ через AddIn.FPrnM10 (для Атола) или соответствующие методы Штриха.
Подведем итог: для успешного запуска системы необходимо:
Соблюдение этих шагов позволит избежать штрафов (которые могут достигать 300 000 рублей для юрлиц) и обеспечит стабильную работу розничной точки.