При переходе на новые требования законодательства пользователи программного продукта «1С:Управление торговлей 10.3» часто сталкиваются с необходимостью обновления интеграционных библиотек и драйверов торгового оборудования. Драйверы АТОЛ версии 9 (ДТО 9) обеспечивают необходимую поддержку актуальных форматов фискальных данных (ФФД 1.05), однако их внедрение несёт в себе ряд технических сложностей. Основная проблема заключается в том, что в девятой версии драйвера разработчики убрали привычную графическую утилиту «Управление драйверами», с помощью которой традиционно настраивалась служба передачи чеков в ОФД через интерфейс Ethernet over USB (EoU).
В данной статье мы подробно разберем, как правильно интегрировать драйвер АТОЛ 9.х в информационную базу «1С:Управление торговлей 10.3» (на обычных формах), как решить проблему отсутствия утилиты настройки EoU, и как гарантированно настроить отправку фискальных документов оператору ОФД.
Прежде чем переходить к настройке каналов связи, нам необходимо корректно установить драйвер в операционную систему и связать его с конфигурацией 1С. Выясним основные технические нюансы этого процесса:
install запустите 32-битный установщик.fptr1c.dll успешно зарегистрирована в системе. Регистрацию можно произвести вручную через командную строку, запущенную от имени администратора, выполнив команду:
regsvr32 "C:\Program Files (x86)\ATOL\Drivers9\KKT\bin\fptr1c.dll"
Также для надёжности рекомендуется скопировать файлы динамических библиотек драйвера (все файлы с расширением .dll из папки установки драйвера АТОЛ) непосредственно в каталог исполняемых файлов платформы 1С (папка bin текущей версии платформы).
ATOLkkt.epf для работы с ДТО 9 следует взять из каталога последнего обновления вашей конфигурации. Обычно она располагается по пути:
[КаталогШаблонов1С]\1c\trade\[НомерРелиза]\TradeWareEpf\ATOLkkt.epf
Для понимания принципа работы EoU важно знать, как именно фискальный регистратор АТОЛ взаимодействует с компьютером при подключении по USB. Касса создаёт в системе два виртуальных COM-порта (через специальный составной драйвер USB-COM).
Критически важно не перепутать эти порты! Если служба EoU и программа 1С попытаются одновременно занять один и тот же COM-порт, произойдёт аппаратный конфликт: вы получите ошибку «Порт занят» либо в 1С при попытке пробить чек, либо в логах EoU при попытке отправить данные. Определить назначение портов можно через диспетчер устройств Windows в свойствах порта на вкладке «Сведения» (свойство «ИД оборудования»): порт для EoU обычно содержит идентификатор интерфейса &Col02, а порт управления заканчивается на &Col00.
Поскольку графической утилиты настройки в 9-й версии драйвера нет, рассмотрим три альтернативных рабочих способа настройки обмена с ОФД.
Самый чистый и правильный с точки зрения архитектуры ДТО 9 способ — ручная настройка конфигурационного XML-файла службы EoU. Настройки службы хранятся в файле settings.xml. Путь к файлу зависит от версии операционной системы:
C:\ProgramData\ATOL\EoU\settings.xmlC:\Documents and Settings\All Users\Application Data\ATOL\EoU\settings.xmlОбратите внимание, что папка ProgramData в Windows по умолчанию скрыта. Для доступа к ней необходимо включить отображение скрытых файлов и папок в проводнике или ввести путь напрямую в адресную строку.
Если в указанной папке файла нет, создадим его вручную с помощью текстового редактора Notepad++ или Блокнота и пропишем следующую структуру:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<device>
<id>ATOL_KKT</id>
<port>4</port>
</device>
</settings>
В теге <port> укажем номер того самого второго COM-порта, который выделен под службу EoU (в нашем примере это порт COM4). После сохранения файла службу «EthOverUsb» необходимо перезапустить через диспетчер служб Windows.
Если на одном рабочем месте подключено несколько кассовых аппаратов АТОЛ по USB, мы можем прописать их все в одном конфигурационном файле, добавив дополнительные блоки <device> с уникальными идентификаторами:
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<device>
<id>KKT_1</id>
<port>4</port>
</device>
<device>
<id>KKT_2</id>
<port>6</port>
</device>
</settings>
Если ручное редактирование XML-файлов вызывает затруднения, можно использовать проверенное временем "гибридное" решение. Оно основано на использовании интерфейсной части управления службой из старого пакета драйверов:
KKT_8_16_01_00_Full).Мы также можем установить утилиту передачи данных как службу Windows через командную строку. Для этого нам понадобится исполняемый файл EthOverUsb.exe, который поставляется вместе с драйвером.
EthOverUsb.exe, перейдем на вкладку «Совместимость» и установим флажок «Запускать эту программу от имени администратора».EthOverUsb.exe -i
settings.xml (как описано в Варианте А) и запустить службу.Для отладки и проверки прохождения пакетов службу можно запустить как обычное консольное приложение. Для этого остановим службу в диспетчере служб и выполним команду с ключом отладки:
EthOverUsb.exe -e
В окне консоли в реальном времени побегут логи обмена. Если мы видим строчку Opening COM... OK, значит, служба успешно захватила порт и ожидает передачи данных от кассы. Если возникает ошибка Access Denied (Отказано в доступе) — этот порт уже занят другой программой (например, запущенным тестом драйвера или самой 1С).
Даже при успешном запуске службы EoU чеки могут продолжать копиться в фискальном накопителе (ФН), не отправляясь оператору данных. Проверим следующие важные настройки:
19097, у Платформа ОФД — 21101) и проверим доступность порта с помощью утилиты ping или telnet.Если стабильной работы службы EoU добиться не удаётся, проанализируем возможность перехода на более современную технологию передачи данных — Ethernet over Transport (EoT). Начиная с 10-й версии драйверов АТОЛ (ДТО 10), эта технология является рекомендуемой.
Суть технологии EoT заключается в том, что для отправки чеков в ОФД не требуется запускать отдельные фоновые службы Windows и занимать второй COM-порт. Передача данных осуществляется непосредственно через тот же канал связи и тот же COM-порт, который использует 1С для управления печатью. Это полностью исключает конфликты блокировки портов.
Для перевода кассы на EoT выполним следующие действия:
EthernetOverTransport (вместо привычного USB или EoU).Применение любого из предложенных вариантов позволит системному администратору восстановить штатную работу торговой точки и обеспечить своевременное исполнение требований законодательства по передаче чеков.