Почему касса АТОЛ не фискализирует чеки с драйвером ESM и как исправить ошибку?

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

При переходе на новые форматы фискализации и внедрении разрешительного режима работы с маркированным товаром всё чаще используется драйвер с интеграцией сервисного модуля — ATOL_KKT_1C_V10_X_ESM. Однако после плановой перезагрузки сервера или фонового обновления прошивки ККТ до версии 5.17 пользователи могут столкнуться со сбоем: смены открываются и закрываются штатно, но при попытке пробить чек функция СформироватьЧек (ProcessCheck) возвращает Ложь, а фискальный документ не печатается.

Разберем причины возникновения этой неполадки, особенности архитектуры взаимодействия с модулем ЕСМ и пошаговый порядок восстановления работоспособности кассового узла.

Архитектура работы драйвера с суффиксом ESM и природа сбоя

В отличие от классического драйвера АТОЛ, драйвер с суффиксом ESM ориентирован на работу с Единым сервисным модулем (ТС ПИоТ — Технические средства проверки информации о товаре). В этой схеме цепочка фискализации существенно усложняется:

  1. 1С формирует пакет данных чека в формате XML (структура CheckPackage) и передает его во внешнюю компоненту.
  2. Компонента взаимодействует не напрямую с физическим портом кассы, а обращается через локальные сетевые сокеты к gRPC-службам и сервисному модулю ЕСМ.
  3. Службы ESM: Control Module и ATOL: Fptr grpc service производят внутреннюю валидацию, опрос состояния кассы и разрешительных контуров (ГИС МТ), после чего отправляют команду на физическую печать.

Проанализируем ситуацию: команды открытия и закрытия смены могут проходить успешно, так как они обрабатываются базовым ядром драйвера напрямую. При попытке же вызова метода СформироватьЧек (ProcessCheck) управление передается контуру ЕСМ. Если нарушена связь между службами, повреждена привязка к обновленной прошивке кассы (например, 5.17) или заблокированы локальные порты, касса отвергает фискализацию чека без детального описания ошибки на стороне 1С.

Посмотрим на пример стандартного входящего XML-пакета, на котором возникает сбой:


<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
	<Parameters CashierName="Ирина" OperationType="1" TaxationSystem="0"/>
	<Positions>
		<FiscalString Name="Гель-лак Planet Nails, 656, 8 мл" Quantity="1" PriceWithDiscount="573.75" AmountWithDiscount="573.75" VATRate="22/122" VATAmount="103.46" MeasureOfQuantity="0" CalculationSubject="1" PaymentMethod="4"/>
	</Positions>
	<Payments Cash="573.75" ElectronicPayment="0"/>
</CheckPackage>

Способ 1. Полная переустановка модуля ЕСМ и драйвера

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

  1. Остановка процессов: завершим работу всех сеансов 1С на сервере или рабочей станции, где подключена касса.
  2. Удаление текущих компонентов: через системную панель управления выполним полное удаление модуля ЕСМ и пакета драйверов ККТ АТОЛ 10.x.
  3. Очистка системных каталогов: проверим отсутствие остаточных файлов служб в системных папках программных компонентов АТОЛ.
  4. Чистая установка: повторно установим актуальный дистрибутив модуля ЕСМ от имени администратора, подтверждая установку корневых сертификатов безопасности.
  5. Установка драйвера: выполним установку драйвера с поддержкой ESM, соответствующего текущей версии прошивки ККТ (для прошивки 5.17 требуется актуальная сборка утилиты и сервисных библиотек).
  6. Проверка связи: запустим тест драйвера ККМ и консоль модуля ЕСМ. Убедимся, что модуль видит фискальный регистратор и статус связи с ГИС МТ находится в активном состоянии (при этом флаг работы в тесте драйвера может быть отключен, так как опрос берет на себя служба ЕСМ).

Способ 2. Проверка системных служб и сетевых портов

Если после перезагрузки операционной системы сервер не успевает инициализировать зависимости сетевого стека, службы ЕСМ могут перейти в аварийный режим. Разберем порядок диагностических действий:

  1. Откроем оснастку Службы (services.msc) в Windows.
  2. Найдем службы ESM: Control Module и ATOL: Fptr grpc service.
  3. Убедимся, что службы запущены. Для предотвращения сбоев при последующих перезагрузках изменим тип запуска для обеих служб на «Автоматически (отложенный запуск)».
  4. Проверим доступность локальных сетевых портов 4041 и 4042, которые модуль ЕСМ и служба gRPC используют для внутреннего обмена. Антивирусное ПО или локальный брандмауэр не должны блокировать передачу пакетов по localhost (127.0.0.1).

Способ 3. Корректное добавление новой компоненты в 1С

Выясним частую ошибку администрирования «1С:Библиотеки подключаемого оборудования»: попытку перезаписать существующий классический драйвер новой компонентой с ESM.

Так как библиотека ATOL_KKT_1C_V10_X_ESM имеет собственный уникальный идентификатор, типовые конфигурации не позволяют выполнить простое обновление архива внутри старой карточки драйвера. Настроим интеграцию корректно:

  1. Перейдем в раздел Администрирование -> Подключаемое оборудование -> Драйверы оборудования.
  2. Нажмем кнопку Добавить новый драйвер из файла и загрузим архив с новой компонентой ESM, обращая внимание на разрядность клиента (32 или 64 бита). Используемые библиотеки fptr10_1c_win32.dll или fptr10_1c_win64.dll должны строго совпадать с разрядностью используемой платформы «1С:Предприятие».
  3. Откроем карточку используемого экземпляра ККТ в списке подключаемого оборудования и заменим привязанный драйвер на вновь добавленный с суффиксом ESM.
  4. Выполним операцию Тест устройства. Убедившись в успешном ответе, повторим фискализацию чека.

Способ 4. Временный откат на классический драйвер

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

Если в чеке отсутствуют позиции, требующие обязательной онлайн-проверки в ТС ПИоТ по разрешительному режиму, можно в справочнике подключаемого оборудования переключить кассу на стандартный драйвер АТОЛ:ККТ с передачей данных в ОФД 10.x (без ESM). В этом случае вызов метода СформироватьЧек пойдет напрямую в порт фискального регистратора без участия внешних сервисов ЕСМ, и печать восстановится немедленно.

← На главную