Почему в УТ 10.3 при печати чека с маркировкой возникает ошибка проверки средствами ККТ?

Программист 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При переходе на формат фискальных данных (ФФД) 1.2 пользователи 1С:Управление торговлей редакции 10.3 часто сталкиваются со специфической проблемой. При попытке пробить чек с маркированной продукцией (обувь, одежда, табак и др.) система выдает критическую ошибку: «Произошла ошибка проверки средствами ККТ по причине: Устройство не подключено». При этом обычные чеки без маркировки печатаются без проблем. Разберем подробно причины возникновения этой ситуации и пошагово рассмотрим способы ее решения.

Причина возникновения ошибки в ФФД 1.2

С введением ФФД 1.2 алгоритм продажи маркированного товара существенно усложнился. Теперь кассовый аппарат (ККТ) обязан самостоятельно проверить код маркировки (КМ), отправив запрос на сервер «Честного ЗНАКа» (ОИСМ) еще до момента закрытия чека. Если касса не получает ответ вовремя или настройки связи некорректны, драйвер разрывает соединение, а 1С воспринимает это как потерю связи с устройством. Проанализируем основные узлы, где может происходить сбой.

Решение 1. Настройка параметров связи с ОИСМ

Для корректной работы ФФД 1.2 касса должна иметь прямой выход в интернет для связи с Оператором Информационной Системы Маркировки (ОИСМ). Рассмотрим, как проверить эти настройки через «Тест драйвера ККТ» (обычно это версия 10.x):

  1. Запустим «Тест драйвера ККТ» и перейдем в раздел «Свойства»«Параметры ККТ».
  2. Найдем пункт «15 ИС МП».
  3. Проверим адрес сервера ИС МП. Для продуктивного контура это обычно prod01.okp-is.ru.
  4. Установим порт 7778.
  5. Важный момент: увеличим значение «Тайм-аут ответа сервера ИС МП». По умолчанию там могут стоять низкие значения. Рекомендуем установить от 10 000 до 30 000 мс. Это даст кассе достаточно времени на получение ответа через интернет, и 1С не будет выдавать ошибку об отключении устройства.

Решение 2. Обновление драйвера и обработки обслуживания

Проблема часто кроется в несовместимости версий драйвера АТОЛ и внешней обработки, которую использует УТ 10.3. Проанализируем цепочку взаимодействия:

В старых конфигурациях используется внешняя обработка (например, ATOL_KKT_10.epf). Если версия драйвера (например, 10.10) не соответствует версии компоненты, зарегистрированной в системе, возникают ошибки при вызове новых методов ФФД 1.2. Выясним, как это исправить:

  1. Убедимся, что в системе установлена актуальная версия драйвера АТОЛ (не ниже 10.9.x, желательно 10.10.x).
  2. В 1С через меню «Сервис» — «Торговое оборудование» — «Подключение и настройка торгового оборудования» обновим обработку обслуживания.
  3. Проверим версию библиотеки AddIn.Atol_KKT_10. Она должна подгружаться именно из каталога установленного драйвера, а не из временных папок пользователя.

Решение 3. Корректная настройка сканера штрихкодов

ФФД 1.2 требует передачи полного кода маркировки, включая спецсимволы, такие как GS1 (ASCII 29). Если сканер настроен в режиме эмуляции клавиатуры (HID), он может «проглатывать» эти символы. В результате касса получает некорректную структуру кода и выдает ошибку проверки.

Рассмотрим шаги по настройке сканера:

Решение 4. Настройка Платформы 5.0 и каналов обмена

Для работы с маркировкой кассы АТОЛ должны работать на Платформе 5.0. Если ваша касса была обновлена со старой Платформы 2.5, проверьте способ передачи данных в интернет:

Ранее часто использовался режим EoRS (Ethernet over RS-232). Для стабильной проверки марок настоятельно рекомендуется использовать режим EthernetOverUSB (EoU) или прямое подключение по Ethernet/Wi-Fi. Если канал связи перегружен, проверка маркировки будет «отваливаться» по тайм-ауту, вызывая ту самую ошибку «Устройство не подключено».

Решение 5. Модификация программного кода УТ 10.3

Поскольку конфигурация УТ 10.3 является устаревшей, типовые механизмы работы с торговым оборудованием в ней не всегда учитывают асинхронность проверки марок в ФФД 1.2. Посмотрим на логику работы программы: 1С отправляет команду на проверку кода, но не дожидается окончания процесса и сразу пытается закрыть чек. В этот момент драйвер еще занят общением с ИС МП.

Для программистов 1С рассмотрим вариант доработки модуля обработки обслуживания. Необходимо добавить небольшую паузу или цикл ожидания готовности устройства после отправки команды проверки КМ. Пример концептуального кода в модуле ОбъектДрайвера:


// Пример логики ожидания готовности ККТ
Для Итерация = 1 По 5 Цикл
    Результат = ОбъектДрайвера.Занять(); // Пытаемся захватить устройство
    Если Результат = 0 Тогда
        Прервать; // Устройство освободилось, можно продолжать
    КонецЕсли;
    Предупреждение("Ожидание проверки маркировки...", 1); // Пауза 1 секунда
КонецЦикла;

Такой подход позволяет программе дождаться, пока касса завершит сетевой обмен и снова станет доступна для приема команд печати.

Проверка лицензий ККТ

Напоследок проанализируем состояние лицензий самого кассового аппарата. Для работы с ФФД 1.2 и функционалом маркировки на ККТ АТОЛ должна быть активирована соответствующая лицензия. Выясним это в «Тест драйвера ККТ»:

  1. Зайдем в раздел «Лицензии».
  2. Проверим наличие лицензии на «Маркировку».
  3. Если лицензия отсутствует или истекла, касса будет возвращать ошибку при любой попытке вызвать методы проверки кода маркировки, даже если все остальные настройки верны.

Таким образом, решение проблемы «Устройство не подключено» при продаже маркированного товара требует комплексного подхода: от настройки сетевых тайм-аутов в драйвере до проверки корректности передачи спецсимволов сканером шрихкодов и, при необходимости, внесения правок в программный код 1С для соблюдения таймингов ФФД 1.2.

← На главную