При автоматизации розничной торговли часто возникает неприятная ситуация: кассовый аппарат АТОЛ 30Ф успешно подключен к компьютеру, интеграция с 1С настроена, чеки физически печатаются на бумажной ленте, а тест связи с ОФД (Оператором фискальных данных) из утилиты драйвера проходит без единой ошибки. Однако при проверке личного кабинета ОФД выясняется, что данные туда не поступают, а сама касса сигнализирует о наличии сотен неотправленных фискальных документов.
В этой статье мы подробно разберем, почему возникает эта проблема, как устроены механизмы передачи данных в современных драйверах АТОЛ, и пошагово настроим систему так, чтобы чеки уходили вовремя и без сбоев.
Согласно требованиям Федерального закона № 54-ФЗ, все фискальные документы должны передаваться в ОФД в момент совершения расчета. Тем не менее закон предусматривает форс-мажорные обстоятельства (например, временное отсутствие интернета или проблемы на стороне ОФД).
Максимальный срок, в течение которого касса может работать без связи с ОФД, составляет 30 календарных дней. По истечении этого периода фискальный накопитель (ФН) блокируется. После этого касса перестанет пробивать новые чеки до тех пор, пока абсолютно все накопившиеся документы не будут отправлены оператору.
Поэтому, если вы обнаружили, что чеки копятся на ККТ и не уходят в ОФД, у вас есть время на исправление ситуации, но затягивать с этим не стоит. Оптимально решить проблему в течение первых дней, чтобы избежать внезапной блокировки кассы прямо посреди рабочего дня.
В современных версиях драйверов АТОЛ (особенно в 10-й версии) реализовано два основных механизма передачи фискальных данных в ОФД через компьютер, к которому подключена касса:
Выясним причину, почему при работе с 1С протокол EoT часто дает сбои. Когда вы запускаете «Тест драйвера ККТ», утилита держит порт кассы открытым и успешно передает данные в ОФД — тест связи показывает «ОК». Но как только вы запускаете 1С:Розница, программа монополизирует COM-порт для работы с ККТ. 1С блокирует фоновую отправку данных драйвером, и передача чеков прекращается.
Для стабильной работы в связке с 1С рекомендуется полностью отказаться от EoT и настроить классическую фоновую службу EoU.
При подключении АТОЛ 30Ф по интерфейсу USB в системе Windows должны создаваться два виртуальных COM-порта. Это критически важное условие для одновременной работы 1С и службы передачи данных.
Проанализируем распределение портов:
Если служба EoU и программа 1С настроены на один и тот же порт, возникнет конфликт портов. Устройство будет постоянно занято, чеки будут печататься со сбоями, а отправка в ОФД полностью остановится.
Разберем по шагам процесс правильной настройки службы Ethernet over USB для ККМ АТОЛ 30Ф.
Подключите кассу к компьютеру и включите ее. Нажмите правой кнопкой мыши на кнопку «Пуск» и выберите «Диспетчер устройств». Разверните ветку «Порты (COM и LPT)». Вы должны увидеть два устройства с названиями вида ATOL USB VCOM (COM3) и ATOL USB VCOM (COM4).
Запишите номера этих портов. Меньший порт обычно настраивается для связи с 1С, больший — для службы EoU.
Если вы используете драйвер АТОЛ версии 10, служба EoU устанавливается автоматически, но её нужно правильно сконфигурировать. Перейдите в папку с установленным драйвером. Обычно конфигурационный файл находится по пути:
C:\ProgramData\ATOL\EoU\settings.xml (папка ProgramData может быть скрытой в Windows) или в папке установки драйвера.
Откройте файл settings.xml с помощью текстового редактора (например, Блокнота) и отредактируйте его структуру. Укажите там номер порта, выделенного под службу (в нашем примере — COM4):
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<device>
<id>ATOL_30F</id>
<port>4</port>
</device>
</settings>
Сохраните изменения в файле. Если система не дает перезаписать файл, запустите текстовый редактор от имени Администратора.
Нажмите сочетание клавиш Win + R, введите команду services.msc и нажмите Enter. В списке служб найдите службу с именем EthOverUsb (или «Служба Ethernet over USB драйвера ККТ АТОЛ»).
Убедитесь, что для службы задан тип запуска «Автоматически». Если служба остановлена, нажмите кнопку «Запустить» (или «Перезапустить», если она была запущена ранее).
Для проверки корректности работы службы откройте лог-файл eou.log, который находится в той же папке. В нем не должно быть ошибок открытия COM-порта. Должны присутствовать строки о поиске ККТ и успешном подключении.
Теперь запустим программу 1С и проверим настройки торгового оборудования. Перейдем в раздел Администрирование — Подключаемое оборудование. Откроем карточку нашей ККТ АТОЛ 30Ф и нажмем кнопку «Настроить».
В открывшемся окне укажем порт, который мы выделили для управления кассой (в нашем примере — COM3). Протокол передачи данных в ОФД в настройках самого драйвера внутри 1С должен быть отключен (или переведен в режим EoU), чтобы 1С не пыталась отправлять данные своими силами. Для пакетной корректировки параметров оборудования на нескольких рабочих местах можно использовать обработку для массового исправления настроек ОФД ККТ АТОЛ.
Бывают случаи, когда служба EoU настроена верно, порты разделены, но выгрузка все равно стоит на месте. Рассмотрим подробнее эту ситуацию.
Фискальный накопитель отправляет документы строго в хронологическом порядке. Если при формировании очередного чека произошел программный сбой (например, в чеке некорректно указана система налогообложения, неверно заполнены теги маркировки для товаров из системы «Честный ЗНАК» или произошла ошибка округления копеек), ОФД будет раз за разом отвергать этот конкретный чек из-за несоответствия формату фискальных данных (ФФД). Для исправления ошибочных документов в 1С:Розница подойдёт расширение для группового создания и фискализации чеков коррекции при неверной СНО.
Поскольку этот «битый» чек не может быть принят сервером, вся последующая очередь чеков также блокируется. При этом сетевой тест связи ККТ с ОФД будет показывать статус «ОК», так как физический доступ к серверу есть.
Как решить эту проблему:
Иногда корни проблемы лежат полностью на стороне оператора фискальных данных. Успешное прохождение теста связи из утилиты АТОЛ означает лишь то, что касса смогла «постучаться» на IP-адрес ОФД по указанному порту. Однако сервер ОФД может принимать TCP-пакеты, но игнорировать и сбрасывать их на уровне авторизации устройства.
Проанализируем личный кабинет ОФД:
Выполнив эти шаги по диагностике и разграничению портов для службы EoU и программы 1С:Розница, мы гарантируем стабильную и бесперебойную передачу чеков в налоговую службу, избежав блокировки фискального накопителя.