Как исправить ошибки разрешительного режима в 1С:Розница 2.3 и настроить корректную работу с ККТ АТОЛ

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

С введением разрешительного режима (РР) для маркируемых товаров многие пользователи конфигурации 1С:Розница 2.3 столкнулись с рядом технических сложностей. Основные проблемы включают появление статуса [M] вместо ожидаемого [M+] в чеках, постоянные запросы электронной цифровой подписи (ЭЦП) при наличии настроенного токена, а также ошибки при продаже весовой молочной продукции. В данной статье мы подробно разберем, как диагностировать и устранить эти неисправности, основываясь на практическом опыте интеграции.

Проблема статуса [M] на кассовых аппаратах АТОЛ: принудительное ожидание ответа

Одной из самых частых жалоб является ситуация, когда в чеке печатается символ [M], что означает успешную проверку кода маркировки в фискальном накопителе (ФН), но отсутствие подтверждения от системы «Честный знак» (ОИСМ). На кассовых аппаратах АТОЛ это часто происходит из-за специфики обработки асинхронных запросов драйвером. Иногда это связано с системным временем устройства, поэтому предварительно рекомендуется выполнить коррекцию времени на кассах Атол.

Проанализируем причину: при отправке команды на проверку кода 1С передает параметр WaitForResult со значением False. Это дает команду кассе не дожидаться ответа от серверов ГИС МТ и закрывать чек сразу. Однако для корректного формирования тега 1260 и получения статуса [M+] кассе необходимо дождаться квитанции от сервера. Рассмотрим, как изменить это поведение программно, если стандартные патчи не помогают.

Нам необходимо найти в модулях интеграции с оборудованием (обычно это обработчики драйвера или общие модули работы с маркировкой) фрагмент формирования XML-запроса к ККТ. Выясним, где именно устанавливается атрибут ожидания. Нам нужно заменить автоматическое определение режима на принудительное ожидание:


// Было:
ЗаписьXML.ЗаписатьАтрибут("WaitForResult", ?(ПараметрыОперации.ОжидатьПолучениеОтветаОИСМ, "True", "False"));

// Стало:
ЗаписьXML.ЗаписатьАтрибут("WaitForResult", "True");

После внесения этой правки драйвер ККТ будет принудительно дожидаться ответа от сервера «Честного знака» перед финализацией чека, что позволит кассе АТОЛ корректно проставить признак успешной проверки в тегах ФФД.

Настройка токена доступа и устранение лишних запросов ЭЦП

Часто программисты и системные администраторы сталкиваются с тем, что программа требует вставить токен с ЭЦП при каждом сканировании марки, хотя в настройках Интеграции с ГИС МТ уже прописан токен доступа (авторизационный ключ). В этой ситуации крайне полезно настроить автоматическое обновление токенов ИС МП, чтобы система всегда имела актуальный ключ доступа. Разберем пошагово, как это исправить.

  1. Проверка даты начала действия: Перейдем в настройки параметров сканирования кодов маркировки. По умолчанию дата начала разрешительного режима может стоять 01.04.2024. Если текущая дата меньше или равна указанной, система может использовать старые алгоритмы проверки через криптографию. Попробуем установить дату на «вчера» или на текущее число.
  2. Обновление CDN-площадок: Разрешительный режим работает через специальные узлы (CDN). Если список площадок пуст или недоступен, 1С не сможет выполнить запрос по токену и перейдет к поиску локального сертификата. Используйте проверенный механизм проверки QR марок через CDN Честного знака и нажмите кнопку «Обновить» в справочнике CDN-площадок.
  3. Первичная авторизация: Заметим важную особенность: иногда первый запрос после смены настроек все равно требует подпись для инициализации сессии. Чтобы автоматизировать этот процесс, особенно в территориально распределенных базах, подойдет внешняя обработка для актуализации токенов через РИБ, которая избавит от необходимости держать ЭЦП на каждой кассе — удобно через удаленная печать чеков с поддержкой разрешительного режима.

Ошибки в журналах проверки и пустые статусы разрешений

Рассмотрим ситуацию, когда в личном кабинете «Честного знака» все чеки проходят успешно, но в самой 1С в журнале «Проверка кодов маркировки» отображается статус «Проверка КП КМ не выполнена, статус товаров не проверен». При этом вкладка «Разрешение» остается пустой.

Проанализируем эту ситуацию: это происходит из-за того, что 1С работает в режиме веб-клиента или через Apache, и ответ от кассы о результатах проверки не успевает корректно записаться в базу данных до завершения транзакции чека. Если вы хотите исключить продажу товара без подтверждения, можно внедрить специальное расширение, осуществляющее запрет продажи при отсутствии ответа от Честного знака. Важно понимать: если в ОФД и в личном кабинете ГИС МТ чеки «зеленые» и содержат теги 1260 и 2106, то с точки зрения законодательства нарушений нет. Однако для корректного отображения в 1С рекомендуется:

Исправление работы с весовой молочной продукцией

В релизе 2.3.18.13 была замечена критическая ошибка: при сканировании весовой продукции разрешительный режим выдавал ошибку из-за некорректной передачи веса в структуре запроса. Проанализируем решение этой проблемы.

Для исправления необходимо установить официальные патчи от компании 1С (серия EF_00_...). Также для сверки фактических остатков и марок в системе «Честный знак» может потребоваться запрос списка кодов маркировки по заданным фильтрам. Если после установки патчей проблема сохраняется, проверьте настройки шаблона штрихкода: для весового товара марка должна быть связана с весом через идентификаторы применения (AI), которые 1С должна уметь парсить перед отправкой в ОИСМ.

Итоговый чек-лист для стабильной работы

Чтобы разрешительный режим в Рознице 2.3 работал без сбоев, выполним следующие действия:

  1. Установим последнюю версию драйвера АТОЛ (не ниже 10.10.3.0) — поможет обработка подключения касс АТОЛ с поддержкой маркировки.
  2. Обновим прошивку кассового аппарата до актуальной (рекомендуется версия 5.8.100 или выше для платформы 5.0).
  3. В 1С установим все доступные исправления через раздел Обслуживание — Обновление программы — Установленные патчи.
  4. Проверим, что в настройках Интеграции с ГИС МТ для каждой организации получен и действует токен.
  5. Выставим в настройках РР дату начала режима — текущее число.

Следуя этим рекомендациям, мы добьемся корректного отображения признака [M+] в чеках и исключим накопление ошибок в статистике отклонений «Честного знака».

← На главную