При эксплуатации онлайн-касс АТОЛ (например, популярных моделей АТОЛ 55Ф, АТОЛ 11Ф) в связке с решением 1С:Розница пользователи часто сталкиваются со следующей проблемой: касса исправно бьет чеки, но они перестают уходить оператору фискальных данных (ОФД). В личном кабинете ОФД касса числится отключенной, а при диагностике соединения на чеке или в логах появляется ошибка «ОФД не отвечает».
Особенно часто такая ситуация возникает после длительного простоя оборудования (например, при сезонном характере работы), после очередного обновления операционной системы Windows 10/11 или при сбое настроек подключения. В этой статье мы подробно рассмотрим, почему возникает эта ошибка, разберем типичные заблуждения при диагностике связи и приведем пошаговый алгоритм восстановления передачи данных. Для пакетной корректировки параметров при большом парке касс можно использовать инструмент для массового исправления настроек ОФД на кассах АТОЛ в 1С.
Когда касса перестает отправлять чеки, администраторы часто начинают проверять доступность серверов ОФД стандартными системными средствами. Рассмотрим две самые частые ошибки, которые уводят диагностику по ложному пути:
ping 185.15.172.18:4000 гарантированно завершится ошибкой. Системная утилита ping работает по протоколу ICMP и проверяет доступность узла исключительно на сетевом уровне. Она в принципе не поддерживает работу с TCP-портами. Чтобы проверить, открыт ли конкретный порт ОФД (например, порт 4000 у ofd.ru), необходимо использовать командлет PowerShell:
Test-NetConnection 185.15.172.18 -Port 4000
Или воспользоваться классической утилитой Telnet, выполнив команду: telnet 185.15.172.18 4000.Для понимания сути проблемы разберем, как касса АТОЛ передает чеки по USB-кабелю. При подключении кассы к компьютеру через USB операционная система должна эмулировать два виртуальных COM-порта. Это критически важное условие:
EthernetOverUsb (EoU) для трансляции фискальных данных из ККТ в сеть Интернет и далее на серверы ОФД.Если в системе определяется только один порт, у вас будет работать либо только 1С (чеки бьются, но не отправляются), либо только служба EoU (1С не сможет подключиться к кассе).
Чтобы не гадать, какой из портов предназначен для управления, а какой для ОФД, проанализируем сведения об оборудовании в Диспетчере устройств Windows:
_00 (например, USB\VID_2912&PID_0005&MI_00) — это порт управления кассой. Именно его нужно указывать в настройках торгового оборудования в 1С:Рознице._02 (например, USB\VID_2912&PID_0005&MI_02) — это порт службы EoU. Его номер необходимо прописать в конфигурационном файле службы отправки чеков.Рассмотрим пошагово процесс исправления неполадок, связанных со службой EoU и драйверами устройств.
Современные операционные системы Windows 10 и 11 при первом подключении кассы АТОЛ часто автоматически устанавливают стандартный драйвер «USB-последовательное устройство (Microsoft)». При этом в системе может появиться только один порт, либо два порта определятся с ошибками (с восклицательным знаком в Диспетчере устройств).
Для исправления этой ситуации выполним принудительное обновление драйверов:
C:\Program Files\ATOL\Drivers10\KKT\USB_DriversC:\Program Files (x86)\ATOL\Drivers8\USB_DriversCOM4 и COM5) без предупреждающих знаков.Теперь укажем службе EoU, через какой именно порт ей следует забирать чеки из кассы для отправки в ОФД.
C:\ProgramData\ATOL\EoU\ (папка ProgramData по умолчанию скрыта в Windows) или папка внутри каталога установленного драйвера.settings.ini (или settings.xml в более новых версиях драйвера)._02). Если в Диспетчере устройств этот порт определился под номером 5, то файл settings.ini должен выглядеть так:
[com]
number=5
settings.xml, найдите строку с номером порта и укажите актуальный порт:
<port>5</port>
EthOverUsb через системную оснастку «Службы» (команда services.msc в окне «Выполнить»).Для контроля отправки чеков важно уметь читать логи работы службы. Лог-файл находится по пути C:\ProgramData\ATOL\EoU\logs\. Проанализируем типичные аварийные ситуации.
В логе службы мы видим следующие записи:
2018-05-28 00:00:00.213 INFO [COM-Атол 55Ф] Opening COM6...
2018-05-28 00:00:00.276 ERROR [COM-Атол 55Ф] No such file or directory
Причина ошибки: Служба EoU настроена на работу с портом COM6, однако в Диспетчере устройств такого порта не существует, либо он был переименован системой при переподключении кабеля в другой USB-разъем. Решение — проверить текущие номера портов в системе и скорректировать их в конфигурационном файле settings.ini / settings.xml.
В логе службы циклически повторяются следующие строки:
2018-05-28 18:40:50.325 INFO [Ofd-Атол 55Ф] Command --> U2E_TLV_RX_REQUEST_VERSION
2018-05-28 18:40:50.325 INFO [COM-Атол 55Ф] write: 01 00 (2 bytes)
2018-05-28 18:40:51.887 INFO [Ofd-Атол 55Ф] Command --> U2E_TLV_RX_REQUEST_VERSION
2018-05-28 18:40:51.887 INFO [COM-Атол 55Ф] write: 01 00 (2 bytes)
2018-05-28 18:40:58.762 INFO [COM-Атол 55Ф] reconnecting... (maybe connection lost)
Техническая суть проблемы: Команда U2E_TLV_RX_REQUEST_VERSION — это попытка службы EoU выполнить процедуру согласования связи («рукопожатие») с кассовым аппаратом. Служба отправляет запрос, но ККТ на него не отвечает. Это происходит по трем причинам:
_00, на котором «висит» 1С:Розница). Порт занят другой программой, либо касса ожидает на нем управленческих команд, а не пакетов данных ОФД.settings.xml может быть включена опция <hotplug>auto</hotplug> при одновременно прописанном статическом номере порта. Чтобы решить этот конфликт, отключите автоматическое определение (удалите строку с параметром hotplug) и явно пропишите рабочий порт.Если вы используете современную версию Драйвера ККТ АТОЛ (DTO 10) и касса работает на актуальной платформе 5.0, настоятельно рекомендуем отказаться от использования устаревшей службы EoU в пользу технологии EoT (Ethernet over Transport). При работе со старыми конфигурациями 1С для интеграции актуального драйвера подойдёт обработка обслуживания ККТ АТОЛ на базе ДТО 10.
Преимущества технологии EoT: Она не требует установки фоновой службы EthOverUsb.exe, избавляет от необходимости настройки конфигурационных файлов и выделения второго виртуального COM-порта в системе. Передача чеков в ОФД осуществляется параллельно управлению по тому же единственному COM-порту, который используется в 1С:Рознице.
Выясним по шагам, как настроить переход на EoT:
COM4).EthOverUsb, чтобы она не занимала ресурсы и системные порты.Важное примечание по работе EoT в 1С: Передача чеков на сервер ОФД по технологии EoT возможна только в те моменты, когда 1С:Розница держит активным подключение к кассе через драйвер. Если в настройках торгового оборудования 1С включена опция «Отключаться от кассы после печати чека», соединение будет разрываться сразу после закрытия чека, и данные могут скапливаться в фискальном накопителе. Чтобы этого избежать, убедитесь, что сессия с ККТ остается активной в течение всей рабочей смены кассира.