Ошибки при работе с маркировкой на кассе АТОЛ

Маркировка добавила к обычным кассовым ошибкам целый пласт новых — и почти все они выглядят одинаково для кассира: код не проходит, продажа встала, очередь стоит. Причины при этом совершенно разные, от неправильно настроенного сканера до забытой галочки при регистрации кассы.

UUID/Time в реквизите 1265 содержат сведения о проверке, но встречаются и при прямом обращении к сервису проверки. Чтобы подтвердить именно маршрут ТС ПИоТ, сопоставьте время операции с журналом ЕСМ и настройкой кассового ПО.

Разбираем по кодам: что означает, из-за чего возникает и что делать.

УровеньПроверка без продажи
Сканер / вводПроверить байты и GS (0x1D), режим интерфейса и преобразование в программе; не публиковать полный действующий код
ККТ / ФНПрочитать состояние проверки, уведомлений и обмена с ИСМ; записать источник кода
ЕСМ онлайнСопоставить время запроса клиента с журналом ЕСМ и результатом внешней проверки
ЕСМ офлайнПроверить контроллер, ready и последнюю синхронизацию ЛМ; открытый сокет не доказывает готовность
Позиция / документДо повтора выяснить, зарегистрирована ли позиция и закрыт ли ФД; диагностическая проверка не равна продаже

0x3464 — «Работа с маркированными товарами временно заблокирована»

Самая неприятная из списка, потому что блокирует продажу всей маркированной номенклатуры разом.

Причина. В кассе накопились непереданные уведомления о продаже маркированных товаров. Если касса месяц не передаёт их на сервер ИСМ — или передаёт, но не получает ответных квитанций, — продажа маркированного товара блокируется.

Обратите внимание на вторую половину: неподтверждённые уведомления тоже считаются неотправленными. Касса может исправно отправлять данные, но если квитанции в ответ не приходят, счётчик растёт так же, как при полном отсутствии связи.

Как посмотреть количество. Число непереданных уведомлений печатается в отчёте о закрытии смены. Точнее — через драйвер: настройте подключение к кассе, зайдите в раздел «Маркировка» и нажмите «Состояние проверки КМ в ФН». В ответе будет строка «Количество неотправленных уведомлений», а заодно «Ресурс области уведомлений» — место под них в накопителе тоже конечно.

Состояние проверки КМ в фискальном накопителе
Строка «Количество неотправленных уведомлений» — то, из-за чего наступает блокировка

Рядом есть похожая кнопка «Состояние проверки КМ в ККТ» — это другой запрос, к самой кассе, а не к накопителю.

Что делать. Восстановить обмен с сервером ИСМ и дать уведомлениям уйти. Проверьте адрес и порт сервера — как именно, описано ниже.

Это отдельный счётчик, не путайте его с непереданными документами в ОФД: там свой срок и своя блокировка.

421 — «Истёк таймаут проверки КМ»

Причина. Проверка не завершилась за отведённое время. Дело не обязательно в плохом коде или в упавшем сервере — задержку могла дать сеть или любой другой этап обмена.

Что проверять. Наличие интернета на точке и доступность сервера ИСМ вашего оператора. Адрес сервера должен быть прописан в параметрах кассы — с завода это поле пустое.

Значение 0 в поле таймаута или повторов толкуйте по документации конкретного параметра и версии ККТ. Нельзя считать, что нулевое ожидание автоматически означает отсутствие повторных попыток. Не смешивайте таймауты ККТ, драйвера и ЕСМ.

«Процедура проверки КМ прервана»

Прерывание проверки имеет несколько возможных причин. Проверьте полный ответ и журнал: адрес/порт ИСМ — один из пунктов диагностики, а не единственное объяснение.

Причину прерывания определяйте по полному сообщению и журналу. Код 421 сообщает об истечении ожидания, а не о доказанной недоступности адреса.

Где настраивается связь с ИСМ

Все параметры лежат в одном месте. В «Тест драйвера ККТ»:

  1. Откройте «Свойства» и настройте канал связи с кассой.
  2. Зайдите в «Параметры ККТ».
  3. Раскройте раздел «26 Работа с КМ».

Что там есть:

Параметры раздела «Работа с КМ» в драйвере
Адрес и порт ИСМ, адрес ОКП, повторы и тайм-ауты — всё в одном разделе
ПараметрНазначениеПо умолчанию
Адрес ИСМАдрес сервера маркировки, до 64 символов. Выдаёт ваш ОФДпусто
Порт ИСМПорт для обмена с ИСМ0
Адрес ОКПСервер обновления ключей проверкипусто
Порт ОКППорт для обмена с ОКП0
Количество повторов при проверке КМСколько раз повторить проверку, 0–100
Время открытия соединенияОжидание установки соединения, 0–60 с0
Время ожидания ответаОжидание ответа сервера, 0–180 с0
Время задержки перед повторомПауза перед повторной проверкой, 0–30 с0
Время открытого соединенияСколько держать соединение, 0–300 с0

Адрес и порт сервера ИСМ у каждого оператора свои — они собраны вместе с остальными реквизитами в настройках популярных ОФД.

Проверить связь можно там же: раздел «Маркировка» → кнопка «Провести проверку связи ИСМ», затем «Получить результат проверки связи ИСМ».

Обратите внимание: адрес ИСМ и адрес ОФД у оператора могут совпадать, а различаться будут порты. У Контура, например, адрес один — ofd.kontur.ru, но ОФД слушает порт 7777, а ИСМ 7778. Перепутать порты — типовая причина того, что чеки уходят, а проверка кодов не работает.

0x4468 — «Операция не разрешена, при регистрации не был установлен признак ТМТ»

Причина. При регистрации кассы на фискальном накопителе формата 1.2 не была поставлена галочка «Торговля маркированными товарами». Касса технически готова, но по своим регистрационным данным маркированным товаром торговать не должна.

Что делать. Перерегистрировать кассу с отмеченным признаком ТМТ.

Заодно стоит проверить, всё ли в порядке в принципе:

  1. Настройте подключение, поставьте галочку «Включено».
  2. Зайдите в «Регистрация ККТ» и нажмите «Считать» — поля заполнятся данными из кассы.
  3. Убедитесь, что указан ФФД 1.2 и стоит признак ТМТ.

Если данные не соответствуют нужному сценарию, сначала установите, что именно меняется: признак торговли маркированными товарами, ФФД или другие сведения. Причину перерегистрации выбирают по реальному изменению; «Изменение версии ФФД» не подходит автоматически к любому отсутствующему признаку. Проверьте совместимость ФН/ККТ и выполните предусмотренное оформление в ФНС.

Если в списке ФФД нет варианта 1.2 — его не поддерживает либо фискальный накопитель, либо прошивка кассы. Тогда вопрос упирается в замену накопителя или обновление.

«Без разделителя GS» — ошибка в чеке реализации

Эта ошибка приходит не с кассы, а из «Честного знака», и тем сильнее сбивает с толку: на кассе всё прошло успешно, а система маркировки товар не засчитала.

Разделитель GS может потеряться в сканере, его интерфейсе, обработчике ввода или кассовом ПО. Сравните исходную последовательность байтов с передаваемой дальше; по сообщению нельзя сразу назначить виновным сканер.

Почему это трудно поймать. GS — управляющий символ, визуально он не отображается. Отсканировать код в блокнот и глазами проверить наличие разделителя нельзя.

Что делать. В настройках сканера включить передачу непечатаемых символов. В английских прошивках настройка называется примерно Transmit invisible characters или Transfer function characters. Обычно для этого в инструкции к сканеру находят соответствующий штрихкод и сканируют его; если у модели есть утилита конфигурации, проще сделать через неё.

GS — управляющий байт 0x1D. Его передачу проверяйте в диагностике сканера или кассового ПО с отображением байтов. F8 может использоваться как замена в конкретном клавиатурном режиме, но не является самим GS и не поддерживается одинаково всеми сканерами.

Как проверить код маркировки вручную

Раздел «Маркировка» в тесте драйвера ККТ
Поле КМ, представление кода и кнопки проверки связи с ИСМ

Когда непонятно, на чьей стороне проблема, код можно проверить напрямую через драйвер:

  1. Настройте подключение к кассе.
  2. Зайдите в раздел «Маркировка».
  3. В поле КМ введите код — вручную или сканером в режиме клавиатуры, поле при сканировании должно быть активным.
  4. В поле «Представление КМ» укажите формат: текст, Base64 или массив байт.
  5. Нажмите «Начать проверку КМ», затем через несколько секунд — «Статус».

Результат возвращается в реквизите «Результат проверки сведений о товаре» (тег 2106):

ЗначениеЧто означает
0Проверка не выполнена, статус в ОИСМ не проверен
1Проверка в ФН выполнена с отрицательным результатом, статус не проверен
3Проверка в ФН выполнена с положительным результатом, статус не проверен
5Проверка выполнена с отрицательным результатом, статус у ОИСМ некорректен
7Проверка выполнена с положительным результатом, статус у ОИСМ некорректен
15Проверка выполнена с положительным результатом, статус у ОИСМ корректен
16Проверка не выполнена, касса в автономном режиме
17Проверка в ФН с отрицательным результатом, автономный режим
19Проверка в ФН с положительным результатом, автономный режим

Важная оговорка. Тег 2106 отражает результат криптографической проверки кода в фискальном накопителе и сверки статуса товара в ОИСМ. Он не является индикатором того, прошла ли проверка в разрешительном режиме. На реальных чеках, где ТС ПИоТ отработал штатно, 2106 вполне может быть равен нулю.

Доказательством того, что проверка проводилась, служит другой реквизит — отраслевой реквизит предмета расчёта 1260 с вложенными 1262, 1263, 1264 и 1265. Именно в 1265 лежат идентификатор проверки и её метка времени. Как это выглядит в реальном чеке, разобрано в статье про проверку ТС ПИоТ.

Так что при разборе спорной ситуации смотрите на 1260 и 1265, а 2106 используйте как дополнительный сигнал, а не как приговор.

Полный список кодов маркировки на уровне драйвера

Ниже — группа ошибок маркировки 401–426 из заголовка ДТО 10.10.9.0. Это не все возможные отказы при маркировке: общие ошибки связи, ККТ, ФН и коды ЕСМ имеют другие диапазоны.

КодЧто означает
401Проверка кода маркировки уже выполняется
402Нет связи с сервером
403Проверка кода маркировки отменена
404Некорректный статус кода маркировки
405Некорректный GS1 — сюда попадает и проблема с разделителями
406Работа с маркировкой запрещена
407Работа с маркированными товарами временно заблокирована
408Переполнение таблицы кодов маркировки
409Некорректный код маркировки
410Некорректное состояние
411Ошибка обмена с ОФД
412Некорректная единица измерения
413Операция запрещена в текущей версии ФФД
414Операция с маркировкой запрещена
415Нет данных для отправки
416В чеке нет маркированной позиции
417Есть неотправленные уведомления
418Требуется обновление ключей проверки
419Ошибка сервиса обновления ключей
420Код маркировки не проверен
421Истёк таймаут проверки кода маркировки
422Кода маркировки нет в таблице проверенных
423Проверка кода маркировки выполняется
424Некорректный адрес сервера
425Таймаут обновления ключей проверки
426Реквизит применим только к маркированной позиции

417 у ДТО указывает на неотправленные уведомления, 407 — на временную блокировку. Для связи между ними прочитайте состояние ФН и уведомлений. Код 424 требует проверки адреса, но не объясняет автоматически любое сообщение о прерывании процедуры.

Отдельная группа — 418, 419 и 425: всё про обновление ключей проверки. Если касса долго не выходила на связь, ключи устаревают, и проверка кодов перестаёт работать до их обновления.

Те же номера у модуля ЕСМ означают другое

Таблица выше — нумерация драйвера. Но если касса работает через ТС ПИоТ, в схеме появляется ещё один участник: модуль ЕСМ. У него своя, независимая нумерация ошибок, и часть номеров случайно совпала с драйверными. Значения при этом разные.

КодУ драйвера ДТОУ модуля ЕСМ
403Проверка кода маркировки отмененаОтсутствует активная лицензия
407Работа с маркированными товарами временно заблокированаБлокировка процедурой аутентификации ТС ПИоТ
514—Не удалось получить ответ от ГИС МТ или ЛМ ЧЗ

Кассовое ПО может показать сообщение нижележащего драйвера, ФН, ЕСМ или другого узла. Определяйте источник по журналу и полям ответа, а не по окну, в котором видна ошибка. HTTP-статус и прикладной код записывайте отдельно.

514 — «Не удалось получить ответ от ГИС МТ или ЛМ ЧЗ»

У драйвера такого кода нет вовсе, а у ЕСМ это первая строка в списке ошибок. Означает, что проверку не удалось выполнить ни онлайн, ни офлайн — то есть отвалились сразу оба пути, и разбирать их нужно по отдельности.

Офлайн-путь. Локальный модуль и Контроллер ЛМ ЧЗ должны стоять на одной машине. В интерфейсе ЕСМ должен быть указан порт 50063 — порт контроллера, а не 5995 и не 5063. Логин и пароль ЛМ ЧЗ должны совпадать с заданными при установке. Статус самого модуля — «Готов к работе»: если он ещё инициализируется, проверок не будет.

Онлайн-путь. Либо нет устойчивой связи с драйвером по порту 4041, либо закрыты адреса ЦРПТ и ЕСП. Порт GRPC задаётся в свойствах драйвера, порядок описан в статье про установку модуля ЕСМ.

403 у ЕСМ: проверьте лицензию и источник сообщения

Для прикладного кода ЕСМ «Отсутствует активная лицензия» сначала проверьте лицензию и регистрацию нужного экземпляра. При действующей лицензии проверьте активность драйвера и журнал. Остановка драйвера в смене — возможная причина, а не диагноз по одному номеру.

Правило простое: драйвер должен быть запущен с открытия смены, до первого фискального документа, и оставаться активным до её закрытия. Остановка в середине разрывает аутентифицированный сеанс связи с кассой, и канал приходится инициализировать заново.

407 у ЕСМ — плавающая ошибка от параллельных проверок

Возникает, когда в момент проверки кода фискальный накопитель занят другим процессом. Типовая причина — кассовая программа проверяет код одновременно и в ОИСМ, и через ТС ПИоТ.

Повторяйте только неудавшуюся проверку после проверки состояния позиции и документа, чтобы не задублировать продажу. Последовательные обращения перестанут толкаться за ресурс. Быстрее от этого станет не всегда.

Единичные ошибки внешних площадок допустимо считать обработанными только после успешного завершения проверки на другом узле. Постоянный отказ требует диагностики; повторное сканирование не должно повторять уже завершённый расчёт.

Запросы по маркировке в разделе «ФН»

Часть диагностики лежит не в разделе «Маркировка», а в разделе «ФН» — там своя группа запросов, посвящённая обмену с системой маркировки:

№Тип данныхЗачем
19Ошибки ИСМЧто именно не сложилось при обмене
20Статус информационного обмена с ИСМАналог статуса обмена с ОФД, но для маркировки
21Состояние работы с КМОбщее состояние подсистемы
22Время выполнения проверки КМСколько занимает проверка — полезно при жалобах на медленную кассу
24Запрос статуса уведомленийЧто с уведомлениями о продаже
25Дата и время ОКПКогда последний раз обновлялись ключи проверки
Запросы по ИСМ в разделе ФН
Отдельная группа запросов по обмену с системой маркировки

Запрос 20 стоит запомнить: он показывает состояние обмена именно с ИСМ, и именно его не хватает, когда с ОФД всё в порядке, а маркировка не работает.

Что проверить в первую очередь

Порядок диагностики, если код не проходит:

  1. Регистрационные данные — ФФД 1.2 и признак ТМТ на месте (ошибка 0x4468).
  2. Адрес и порт ИСМ в параметрах «Работа с КМ» (ошибка «процедура прервана»).
  3. Связь — проверка связи ИСМ в разделе «Маркировка» (ошибка 421).
  4. Счётчик уведомлений — «Состояние проверки КМ в ФН» (ошибка 0x3464).
  5. Сканер — передаёт ли разделители GS (ошибка в чеке реализации).

Если всё перечисленное в порядке, а коды по-прежнему не проходят, дело может быть в модуле проверки: как он устроен и как проверить его регистрацию, разобрано в статьях про установку ТС ПИоТ и проверку регистрации в ГИС МТ. При офлайн-проверке кодов подключается локальный модуль «Честного знака», и у него свой набор причин отказа.

Коротко

При отказе определите источник кода и проверьте состояние операции. Таймаут 421 означает незавершённую вовремя проверку, а не доказанное отсутствие сервера. Для ошибок GS проверяйте передачу байта 0x1D. В схеме ЕСМ отдельно проверяются лицензия, активность драйвера, доступность онлайн-пути и готовность ЛМ.


Материал носит информационный характер. Сайт atoldriver.ru не является представительством компании АТОЛ. Требования к работе с маркировкой меняются — сверяйтесь с честныйзнак.рф.