При переходе на новые форматы фискализации и внедрении разрешительного режима работы с маркированным товаром всё чаще используется драйвер с интеграцией сервисного модуля — ATOL_KKT_1C_V10_X_ESM. Однако после плановой перезагрузки сервера или фонового обновления прошивки ККТ до версии 5.17 пользователи могут столкнуться со сбоем: смены открываются и закрываются штатно, но при попытке пробить чек функция СформироватьЧек (ProcessCheck) возвращает Ложь, а фискальный документ не печатается.
Разберем причины возникновения этой неполадки, особенности архитектуры взаимодействия с модулем ЕСМ и пошаговый порядок восстановления работоспособности кассового узла.
В отличие от классического драйвера АТОЛ, драйвер с суффиксом ESM ориентирован на работу с Единым сервисным модулем (ТС ПИоТ — Технические средства проверки информации о товаре). В этой схеме цепочка фискализации существенно усложняется:
CheckPackage) и передает его во внешнюю компоненту.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>
Основная и подтвержденная на практике причина сбоя после перезагрузки или обновления прошивки фискального регистратора — рассогласование версий и сбой регистрации низкоуровневых служб ЕСМ. Выполним восстановление по шагам:
ЕСМ и пакета драйверов ККТ АТОЛ 10.x.Если после перезагрузки операционной системы сервер не успевает инициализировать зависимости сетевого стека, службы ЕСМ могут перейти в аварийный режим. Разберем порядок диагностических действий:
services.msc) в Windows.ESM: Control Module и ATOL: Fptr grpc service.4041 и 4042, которые модуль ЕСМ и служба gRPC используют для внутреннего обмена. Антивирусное ПО или локальный брандмауэр не должны блокировать передачу пакетов по localhost (127.0.0.1).Выясним частую ошибку администрирования «1С:Библиотеки подключаемого оборудования»: попытку перезаписать существующий классический драйвер новой компонентой с ESM.
Так как библиотека ATOL_KKT_1C_V10_X_ESM имеет собственный уникальный идентификатор, типовые конфигурации не позволяют выполнить простое обновление архива внутри старой карточки драйвера. Настроим интеграцию корректно:
fptr10_1c_win32.dll или fptr10_1c_win64.dll должны строго совпадать с разрядностью используемой платформы «1С:Предприятие».Если требуется срочно восстановить продажи на торговой точке, а времени на переустановку и тонкую настройку модулей ЕСМ нет, проанализируем возможность временного отката:
Если в чеке отсутствуют позиции, требующие обязательной онлайн-проверки в ТС ПИоТ по разрешительному режиму, можно в справочнике подключаемого оборудования переключить кассу на стандартный драйвер АТОЛ:ККТ с передачей данных в ОФД 10.x (без ESM). В этом случае вызов метода СформироватьЧек пойдет напрямую в порт фискального регистратора без участия внешних сервисов ЕСМ, и печать восстановится немедленно.