Почему АТОЛ ДТО 10 не работает с двумя и более кассами одновременно в 1С и как это исправить?

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

Многие специалисты сталкиваются с серьезной проблемой при переходе с драйверов АТОЛ ДТО 8 или 9 версий на более современные ДТО 10. Если к одному компьютеру через USB подключено несколько кассовых аппаратов (ККТ), то при попытке подключения к одной кассе через интеграционную компоненту 1С, все остальные устройства моментально блокируются. К ним становится невозможно обратиться даже через стандартный тест драйвера. Давайте разберем по шагам, почему это происходит и как правильно настроить совместную работу нескольких ККТ.

Главная причина блокировки: канал связи USB

Проанализируем ситуацию: само по себе подключение множества устройств через USB-хаб вполне работоспособно на уровне Windows и нативного драйвера. Однако проблема кроется в настройках компоненты интеграции 1С. Если в карточке подключаемого оборудования выбран канал связи USB (значение параметра Port равно 1), драйвер начинает вести себя агрессивно.

При выборе канала «USB» компонента инициирует автоматический сквозной поиск по всей USB-шине. Она монопольно захватывает управление интерфейсом на низком уровне. В результате драйвер блокирует дескрипторы всех остальных аналогичных устройств АТОЛ. Выясним причину: это не ошибка самих драйверов, а специфика работы интеграционной компоненты.

Решение проблемы:

  1. Откройте настройки подключаемого оборудования в 1С.
  2. Перейдите к параметрам драйвера для вашей кассы АТОЛ.
  3. В поле «Порт» обязательно выберите значение COM / VCOM (внутреннее значение 0), а не USB.
  4. Повторите эту настройку для всех подключенных к данному рабочему месту кассовых аппаратов.
  5. Опционально можно снять флаг Не отключаться от ККТ, чтобы соединение освобождалось после завершения пробития чека.

При использовании режима COM / VCOM драйвер обращается строго к выделенному операционной системой виртуальному COM-порту (например, COM3 или COM5), не сканируя всю шину. Это позволяет параллельно и без блокировок работать с любым количеством касс.

Особенности ДТО 10: отмена логических устройств

Рассмотрим подробнее изменения в архитектуре ДТО 10. В старых драйверах (ДТО 8 и 9) мы активно использовали концепцию «Логических устройств» (ЛУ). Можно было настроить все кассы внутри самого драйвера, присвоить им уникальные ID и переключаться между ними.

В ДТО 10 логические устройства упразднены. Каждое физическое устройство теперь является независимым объектом. Чтобы взаимодействовать с несколькими ККТ из 1С, компонента программно создает независимые экземпляры подключения. Поэтому так важно жестко привязывать каждую кассу к ее собственному COM-порту.

Настройка передачи данных в ОФД при подключении нескольких ККТ

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

  1. Первый порт (его ID оборудования обычно заканчивается на _00) используется для управления кассой и прописывается в 1С.
  2. Второй порт (заканчивается на _02) нужен для передачи чеков в ОФД через службу EoU (Ethernet over USB).

В ДТО 10 отсутствует удобная утилита для визуальной настройки EoU. Если у вас несколько касс, автоматический поиск портов для ОФД будет давать сбои. Файл конфигурации необходимо заполнять вручную.

Откройте или создайте файл настроек, который находится по пути C:\ProgramData\ATOL\EoU\settings.xml. Вам нужно жестко прописать порт для каждого устройства. Вот как должен выглядеть этот файл (вместо автоопределения):


<?xml version="1.0" encoding="windows-1251" ?>
<settings>
    <device>
        <id>АТОЛ 55Ф Касса 1</id>
        <port>4</port>
    </device>
    <device>
        <id>АТОЛ 55Ф Касса 2</id>
        <port>6</port>
    </device>
</settings>

Совет: при обновлении драйверов старый файл settings.xml сохраняется, а номера COM-портов в Windows могут измениться. Всегда проверяйте соответствие портов после переустановки драйвера.

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

Если ваши аппараты работают на Платформе 5.0 (поддерживается в ДТО 10), настоятельно рекомендуем отказаться от механизма EoU. Используйте канал связи EoT (Ethernet-over-Transport).

При использовании EoT касса передает фискальные данные в ОФД через тот же самый порт управления (первый COM-порт), по которому работает 1С. Служба EoU в этом случае вообще не нужна, и файл settings.xml настраивать не требуется. Это значительно упрощает администрирование парка из нескольких ККТ на одном ПК.

Работа в терминальном режиме (RDP)

Если вы настраиваете несколько касс на одном компьютере, но пользователи работают в 1С через терминальный сервер (RDP), прямое обращение к COM-портам может вызывать ошибку «Порт занят».

В ДТО 10 для этих целей предусмотрен Сервер удаленного подключения ККТ. Запустите службу RPC-сервера на том компьютере, куда физически вставлены USB-кабели от касс. В самой 1С (в сеансах пользователей) настраивайте подключение не к локальному COM-порту, а по протоколу TCP/IP, указывая IP-адрес компьютера с кассами и уникальный порт TCP, который RPC-сервер выделил для конкретной кассы. Это обеспечит стабильную работу без блокировок интерфейса.

← На главную