Как подключить кассовый аппарат АТОЛ в Linux и существуют ли драйверы 8-й версии?

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

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

Существует ли драйвер АТОЛ 8 версии под Linux?

Проанализируем техническую ситуацию с 8-й версией драйверов. Драйвер торгового оборудования АТОЛ v.8 (ДТО 8) официально разрабатывался исключительно для операционных систем семейства Windows. Нативной сборки ДТО 8 для платформы Linux не существует.

Кроме того, драйвер ДТО 8 устарел, снят с официальной технической поддержки и не поддерживает актуальные требования законодательства (включая форматы фискальных данных ФФД 1.2 и обязательную маркировку товаров). Попытка использовать устаревший драйвер в современных реалиях несет в себе риски некорректной фискализации.

Решение 1. Использование актуальных драйверов ДТО 10 и БПО

Рассмотрим основной и рекомендуемый способ работы с кассами АТОЛ в Linux. Начиная с линейки ДТО 9 и особенно в современной линейке ДТО 10, производитель реализовал полноценную кроссплатформенную архитектуру.

Для интеграции кассы с 1С выполним следующие шаги:

  1. Обновление конфигурации и БПО: Убедимся, что конфигурация 1С (например, 1С:Розница, 1С:Управление торговлей или 1С:УНФ) обновлена до версии с актуальной «Библиотекой подключаемого оборудования» (БПО). В состав современных типовых решений уже включены нативные компоненты для Linux.
  2. Установка внешних компонент: В ДТО 10 поставляются готовые нативные компоненты NativeAPI (библиотеки с расширением .so), упакованные в стандартные zip-архивы драйверов 1С. Загрузка драйвера выполняется непосредственно через интерфейс 1С в справочнике «Драйверы оборудования» без необходимости системной регистрации через COM-технологии.
  3. Проверка разрядности клиента: Обратим особое внимание на разрядность установленного клиента «1С:Предприятие» и загружаемой библиотеки. Для 64-битного клиента Linux требуется 64-битная компонента драйвера, а для 32-битного — 32-битная. Несовпадение разрядности приведет к ошибке загрузки библиотеки.

Решение 2. Настройка прав доступа к портам в Linux

Разберем типичную проблему, с которой сталкиваются системные администраторы при подключении ККТ через интерфейсы USB или виртуальный COM-порт. При подключении кассы ядро Linux создает устройство вида /dev/ttyACM0 или /dev/ttyUSB0. По умолчанию права на эти файлы принадлежат суперпользователю и группе последовательных портов.

Для того чтобы сеанс пользователя 1С мог отправлять команды в порт кассы, выполним системные настройки:

  1. Добавление пользователя в системную группу: Добавим пользователя операционной системы, под которым запускается 1С, в группу доступа к последовательным портам (в зависимости от дистрибутива это dialout, tty или uucp).
  2. Настройка правил udev: Если порт переопределяется при перезагрузке или переподключении кабеля, настроим правило udev, фиксирующее постоянную символическую ссылку (symlink) и задающее корректные права на устройство ККТ.

Решение 3. Сетевое подключение и веб-сервис ДТО

Посмотрим на альтернативные архитектурные варианты, которые позволяют полностью обойти сложности работы с портами и локальными библиотеками в Linux:

  1. Подключение по TCP/IP (Ethernet / Wi-Fi): Если ККТ оснащена сетевой картой или модулем беспроводной связи, настроим прямое сетевое подключение. Клиент 1С взаимодействует с кассой по IP-адресу и порту через стек TCP/IP, что исключает зависимость от локальных USB-портов операционной системы.
  2. Использование HTTP-сервиса ДТО: В состав дистрибутива ДТО 10 входит служба веб-сервера. Она разворачивается как фоновый сервис в Linux и принимает команды фискализации через REST API (JSON). 1С формирует HTTP-запросы к локальному или удаленному серверу печати, что гарантирует стабильную работу без прямой загрузки нативных модулей в память клиентского приложения.

Решение 4. Запуск через Wine или низкоуровневые обертки (для устаревших систем)

Если специфика проекта строго требует использования устаревших протоколов работы ККТ (протоколы АТОЛ v.2 или v.3), проанализируем варианты обходных путей:

  1. Использование слоя совместимости Wine: ДТО 8 возможно запустить в окружении Wine вместе с Windows-клиентом 1С, настроив проброс последовательных портов через реестр Wine. Однако данный вариант не рекомендуется для промышленной эксплуатации из-за низкой стабильности обмена и отсутствия поддержки современных форматов фискальных документов.
  2. Собственные обертки протокола: Существуют реализации протоколов обмена АТОЛ на языках C++ или Pascal/Lazarus, которые компилируются под Linux в виде нативных библиотек или демонов. Они работают напрямую с байтовым протоколом кассы и могут подключаться к 1С через механизм внешних компонент NativeAPI.

Таким образом, правильным и надежным подходом при работе в Linux является отказ от 8-й версии драйвера в пользу современных сертифицированных драйверов линейки ДТО 10 и типовых механизмов БПО платформы «1С:Предприятие».

← На главную