Продолжая серию статей по настройке онлайн-ККТ, мы не могли обойти стороной альтернативные ОС, тем более что АТОЛ поддерживает работу своих ККТ в среде Linux. Про установку 1С:Предприятие 8.3 в Debian / Ubuntu мы уже рассказывали ранее, теперь пришло время подключить к нашей 1С кассу. Скажем сразу - никаких сложностей при этом у нас не возникло, разработчики АТОЛ хорошо сделали свою работу, а следуя нашей инструкцией с данной задачей справится даже начинающий (тем не менее мы предполагаем, что читатель обладает базовыми навыками работы в среде Linux).
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Данная статья является логическим продолжением нашего материала Подключаем ККТ АТОЛ к 1С:Предприятие 8.3, поэтому мы не будем повторяться и остановимся только на вопросах подключения и настройки ККТ в среде Linux. Если вы только начинаете работать с ККТ, то настоятельно советуем прочитать вам первую часть статьи, так как там затрагиваются общие вопросы по настройке кассы и работе с утилитой Тест драйвера ККТ.
Данная инструкция была проверена нами на Debian 9.7 и Xubuntu 18.04, но будет справедлива для любого дистрибутива на базе Debian или Ubuntu. Сама ККТ при этом подключается к ПК посредством интерфейса USB, как выбрать интерфейс подключения кассы мы рассказывали в первой части статьи.
Прежде всего скачаем из Центра загрузок АТОЛ свежие драйвера версии 10.х, они располагаются в разделе Контрольно-кассовая техника, архив универсальный и содержит драйвера для всех поддерживаемых платформ. Из всего архива нас интересует папка installer, в которой содержится папка deb, в ней находятся пакеты для архитектур i386, amd64 и arm. Следует иметь ввиду, что разрядность драйвера ККТ должна соответствовать разрядности платформы 1С. В Linux разрядность платформы как правило соответствует разрядности системы, однако если это не так, например, на 64-разрядную ОС установлена 32-разрядная платформа, то драйвер тоже следует установить 32-разрядный.
Из всего набора пакетов нас интересуют только три:
- libfptr10 - драйвер ККТ
- libfptr10-gui - графическая библиотека драйвера ККТ
- fptr10-test-util - утилита Тест драйвера ККТ
Устанавливать их тоже нужно в указанном порядке, так как они имеют в зависимостях друг друга. Для этого перейдите в папку с пакетами и выполните с правами суперпользователя следующие команды (обратите внимание, мы устанавливаем 64-разрядные пакеты версии 10.4.5, в вашем случае имена пакетов могут отличаться):
dpkg -i libfptr10_10.4.5.0_amd64.deb
dpkg -i libfptr10-gui_10.4.5.0_amd64.deb
Графическая часть драйверов АТОЛ выполнена на базе Qt4 поэтому вы скорее всего при установке последнего пакета получите следующую ошибку:
Ничего страшного, с такими проблемами успешно справляется пакетный менеджер, для этого выполним:
apt install -f
Данная команда установит все недостающие зависимости и настроит пакет. После чего нам останется установить последний пакет с Тестом драйвера:
dpkg -i fptr10-test-util_10.4.5.0_amd64.deb
На этом установка драйверов ККТ закончена, можем запустить Тест драйвера и проверить работу кассы, данная утилита ничем не отличается от своей Windows-версии и работу с ней мы уже рассматривали ранее.
В последних релизах 1С драйвера для АТОЛ 10.х уже включены в состав конфигурации, если это не так, то драйвера следует загрузить отдельно, используя архив в папке 1С поставки драйверов.
Следует обратить внимание, что в Linux ККТ АТОЛ определяются не как два VCOM, а как одно USB-устройство, поэтому следует учесть этот момент при настройке:
На этом подключение ККТ можно считать законченным, дальнейшая работа с кассой ничем не отличается от Windows систем. Субъективные впечатления от работы ККТ АТОЛ в среде Linux у нас остались также положительными, разработчики поработали хорошо, никаких сбоев и нареканий по работе касс нами не выявлено.
Настройка EoU
Внимание! ККТ АТОЛ на платформе 5.0 не поддерживают работу с EoU, для них требуется настройка EoT. Подробнее читайте здесь: Особенности подключения ККТ АТОЛ на платформе 5.0
После того, как касса настроена и работает, самое время перейти к настройке службы EoU, для этого скачаем одноименный пакет из Центра загрузок, он располагается в разделе Программное обеспечение - ДТО. Архив содержит набор различных версий утилиты, выбираем последнюю и переходим в директорию с утилитой для нужной нам архитектуры (i386 или amd64), разрядность следует выбирать согласно разрядности системы, вне зависимости от разрядности драйверов ККТ и платформы 1С.
Если мы перейдем в каталог с утилитой, то увидим там файл настроек settings.xml, бинарные файлы и библиотеки. В файле настроек должна присутствовать секция:
<hotplug>auto</hotplug>
Данная опция включает автоматическое обнаружение касс на Linux и мы не видим смысла отказываться от столь удобной функции, тем более что работает она без нареканий.
Теперь нам надо разместить файлы в нужных местах файловой системы и настроить работу утилиты в качестве сервиса. Откроем в текущей директории терминал и поднимем права до суперпользователя. Начнем с настроек, создадим директорию /etc/ATOL/EoU и скопируем туда файл настроек:
mkdir -p /etc/ATOL/EoU
cp settings.xml /etc/ATOL/EoU/
Никаких дополнительных действий по настройке производить не нужно.
Саму утилиту мы разместим в opt (хотя вы можете выбрать иное расположение):
mkdir /opt/EoU
cp * /opt/EoU/
Теперь добавим нужным файлам права на исполнение:
chmod +x /opt/EoU/EthOverUsb*
Зарегистрируем утилиту как сервис:
/opt/EoU/EthOverUsb.sh -i
Все, что нам теперь остается, это обеспечить автозагрузку и управление службой средствами системы. Для этого нам придется самостоятельно написать юнит для systemd, но не стоит пугаться, ничего сложного в этом нет.
Прежде всего создадим сам файл юнита:
touch /etc/systemd/system/eou.service
Откроем его на редактирование и внесем следующий текст:
[Unit]
Description=ATOL EthernetOverUsb Service
After=display-manager.service
[Service]
Type=forking
User=root
ExecStart=/opt/EoU/EthOverUsb.sh
ExecStop=/opt/EoU/EthOverUsb.sh -t
[Install]
WantedBy=multi-user.target
Сохраним его и добавим в автозагрузку:
systemctl enable eou
Теперь мы можем управлять службой используя привычные команды:
service eou start|stop|restart|status
Можем перезагрузить систему и убедиться, что служба запускается автоматически. Лог работы службы располагается в /var/log/EoU, откроем его и убедимся, что утилита обнаружила кассу и обмен с ОФД проходит нормально:
При использовании автоматического определения кассы получают идентификаторы по имени порта, в нашем случае USB-3-1, если к узлу подключено несколько касс, утилита автоматически будет работать со всеми.
Как видим, ничего сложного в подключении и настройке ККТ АТОЛ в среде Linuх нет, пришлось только немного повозиться с утилитой EoU, но общий уровень проработанности и стабильности ПО от АТОЛ делает это всего лишь незначительным затруднением, тем более что в данном случае вполне справедливо будет высказывание "настроил и забыл".
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии