Как решить проблему «Не отвечает ОФД» на кассах АТОЛ при работе с 1С:Розница

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

При эксплуатации онлайн-касс АТОЛ (например, популярных моделей АТОЛ 55Ф, АТОЛ 11Ф) в связке с решением 1С:Розница пользователи часто сталкиваются со следующей проблемой: касса исправно бьет чеки, но они перестают уходить оператору фискальных данных (ОФД). В личном кабинете ОФД касса числится отключенной, а при диагностике соединения на чеке или в логах появляется ошибка «ОФД не отвечает».

Особенно часто такая ситуация возникает после длительного простоя оборудования (например, при сезонном характере работы), после очередного обновления операционной системы Windows 10/11 или при сбое настроек подключения. В этой статье мы подробно рассмотрим, почему возникает эта ошибка, разберем типичные заблуждения при диагностике связи и приведем пошаговый алгоритм восстановления передачи данных. Для пакетной корректировки параметров при большом парке касс можно использовать инструмент для массового исправления настроек ОФД на кассах АТОЛ в 1С.

Разбор распространенных ошибок диагностики связи

Когда касса перестает отправлять чеки, администраторы часто начинают проверять доступность серверов ОФД стандартными системными средствами. Рассмотрим две самые частые ошибки, которые уводят диагностику по ложному пути:

  1. Неверный синтаксис команды Ping. Попытка выполнить в командной строке запрос вида 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.
  2. Проверка через веб-сервисы (например, 2ip). Проверка открытых портов через внешние сайты показывает только состояние входящих портов на вашем роутере. Для передачи чеков в ОФД кассе требуется исключительно исходящее соединение. Никакие входящие порты на роутере или брандмауэре Windows открывать или пробрасывать не требуется. Направление трафика всегда инициируется из локальной сети наружу.

Механизм работы службы EoU (Ethernet Over USB)

Для понимания сути проблемы разберем, как касса АТОЛ передает чеки по USB-кабелю. При подключении кассы к компьютеру через USB операционная система должна эмулировать два виртуальных COM-порта. Это критически важное условие:

Если в системе определяется только один порт, у вас будет работать либо только 1С (чеки бьются, но не отправляются), либо только служба EoU (1С не сможет подключиться к кассе).

Как гарантированно отличить порты ККТ друг от друга

Чтобы не гадать, какой из портов предназначен для управления, а какой для ОФД, проанализируем сведения об оборудовании в Диспетчере устройств Windows:

  1. Откройте Диспетчер устройств и разверните ветку Порты (COM и LPT).
  2. Кликните правой кнопкой мыши по первому порту АТОЛ и выберите Свойства.
  3. Перейдите на вкладку Сведения и в выпадающем списке выберите параметр ИД оборудования.
  4. В поле «Значение» найдите окончание строки:
    • Если идентификатор заканчивается на _00 (например, USB\VID_2912&PID_0005&MI_00) — это порт управления кассой. Именно его нужно указывать в настройках торгового оборудования в 1С:Рознице.
    • Если идентификатор заканчивается на _02 (например, USB\VID_2912&PID_0005&MI_02) — это порт службы EoU. Его номер необходимо прописать в конфигурационном файле службы отправки чеков.

Пошаговый алгоритм решения проблемы «ОФД не отвечает»

Рассмотрим пошагово процесс исправления неполадок, связанных со службой EoU и драйверами устройств.

Шаг 1. Исправление проблемы с драйверами Windows

Современные операционные системы Windows 10 и 11 при первом подключении кассы АТОЛ часто автоматически устанавливают стандартный драйвер «USB-последовательное устройство (Microsoft)». При этом в системе может появиться только один порт, либо два порта определятся с ошибками (с восклицательным знаком в Диспетчере устройств).

Для исправления этой ситуации выполним принудительное обновление драйверов:

  1. В Диспетчере устройств найдите некорректно работающие порты АТОЛ, нажмите на них правой кнопкой мыши и выберите Удалить устройство (при наличии галочки «Удалить программы драйверов для этого устройства» обязательно установите ее).
  2. Выключите кассовый аппарат кнопкой питания, подождите 5 секунд и включите снова.
  3. В системе появятся неизвестные устройства. Нажмите правой кнопкой мыши по первому из них -> Обновить драйвер -> Найти драйверы на этом компьютере.
  4. Укажите путь к папке с оригинальными драйверами АТОЛ. В зависимости от установленной версии ДТО (Драйвер торгового оборудования), путь может быть следующим:
    • Для ДТО 10: C:\Program Files\ATOL\Drivers10\KKT\USB_Drivers
    • Для ДТО 8: C:\Program Files (x86)\ATOL\Drivers8\USB_Drivers
  5. Повторите процедуру для второго неизвестного устройства. В результате в системе должны стабильно определиться два порта (например, COM4 и COM5) без предупреждающих знаков.

Шаг 2. Настройка конфигурации службы EoU

Теперь укажем службе EoU, через какой именно порт ей следует забирать чеки из кассы для отправки в ОФД.

  1. Перейдите в каталог расположения службы EoU. Обычно это папка C:\ProgramData\ATOL\EoU\ (папка ProgramData по умолчанию скрыта в Windows) или папка внутри каталога установленного драйвера.
  2. Найдите и откройте с помощью Блокнота файл конфигурации settings.ini (или settings.xml в более новых версиях драйвера).
  3. Проанализируем структуру конфигурационного файла. Нам нужно жестко привязать порт ОФД (который оканчивается на _02). Если в Диспетчере устройств этот порт определился под номером 5, то файл settings.ini должен выглядеть так:
    
    [com]
    number=5
    
    Если используется файл settings.xml, найдите строку с номером порта и укажите актуальный порт: <port>5</port>
  4. Сохраните изменения в файле и перезапустите службу EthOverUsb через системную оснастку «Службы» (команда services.msc в окне «Выполнить»).

Анализ логов службы EoU и разбор типичных ошибок

Для контроля отправки чеков важно уметь читать логи работы службы. Лог-файл находится по пути C:\ProgramData\ATOL\EoU\logs\. Проанализируем типичные аварийные ситуации.

Ситуация А. Ошибка «No such file or directory»

В логе службы мы видим следующие записи:


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.

Ситуация Б. Бесконечный цикл команды «U2E_TLV_RX_REQUEST_VERSION»

В логе службы циклически повторяются следующие строки:


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 выполнить процедуру согласования связи («рукопожатие») с кассовым аппаратом. Служба отправляет запрос, но ККТ на него не отвечает. Это происходит по трем причинам:

Современная альтернатива: переход с EoU на технологию EoT

Если вы используете современную версию Драйвера ККТ АТОЛ (DTO 10) и касса работает на актуальной платформе 5.0, настоятельно рекомендуем отказаться от использования устаревшей службы EoU в пользу технологии EoT (Ethernet over Transport). При работе со старыми конфигурациями 1С для интеграции актуального драйвера подойдёт обработка обслуживания ККТ АТОЛ на базе ДТО 10.

Преимущества технологии EoT: Она не требует установки фоновой службы EthOverUsb.exe, избавляет от необходимости настройки конфигурационных файлов и выделения второго виртуального COM-порта в системе. Передача чеков в ОФД осуществляется параллельно управлению по тому же единственному COM-порту, который используется в 1С:Рознице.

Выясним по шагам, как настроить переход на EoT:

  1. Запустите утилиту Тест драйвера ККТ 10.х и нажмите кнопку Свойства.
  2. В поле «Канал связи» оставьте привычный порт управления ККТ (например, COM4).
  3. Ниже найдите параметр «Канал до ОФД» и переключите его в значение Ethernet over Transport.
  4. Нажмите кнопку «Параметры ККТ», перейдите в раздел 15 «ОФД» и убедитесь, что «Канал обмена с ОФД» также установлен в значение Ethernet over Transport (или EoT). Сохраните настройки в кассе.
  5. В операционной системе Windows остановите и полностью удалите службу EthOverUsb, чтобы она не занимала ресурсы и системные порты.

Важное примечание по работе EoT в 1С: Передача чеков на сервер ОФД по технологии EoT возможна только в те моменты, когда 1С:Розница держит активным подключение к кассе через драйвер. Если в настройках торгового оборудования 1С включена опция «Отключаться от кассы после печати чека», соединение будет разрываться сразу после закрытия чека, и данные могут скапливаться в фискальном накопителе. Чтобы этого избежать, убедитесь, что сессия с ККТ остается активной в течение всей рабочей смены кассира.

← На главную