Настройка программной кассы
Для работы программной кассы необходимо устройство СКО, программное обеспечение для СКО, чековый принтер и обязательное наличие сети Интернет.
СКО представляет собой USB устройство, размер менее 5 см. С задней стороны корпуса нанесена служебная информация: СКО, СККО и серийный номер.
СКО – это Средство Контроля Оператора. СККО – это Система Контроля Кассового Оборудования.
Для настройки программной кассы надо создать доступный каталог, скопировать в него приложение tsrv.x86_64-pc-windows-gnu.exe (или 32 битный аналог). Приложение можно (необязательно) переименовать, например в tsrv.exe, и запустить под правами Администратора Windows с параметрами:
- Для тестов: tsrv.exe --install-service --test
- Для реальной кассы: tsrv.exe --install-service --prod
Выполнить настройку сервиса. Минимальная настройка сервиса, это создание конфигурации логирования: log.yaml. Каталог логирования c именем «log» можно создать в каталоге старта сервиса.
Вообще все файлы настроек могут быть размещены в каталоге старта службы. Служба вначале ищет файлы настроек в каталоге своего старта, и только потом во всех прочих.
Для проверки старта сервиса в командной строке набрать команду: sc query tsrv-native.
Параметр STATE (Статус, Состояние) покажет текущее состояние сервиса, где: STOPPED – служба остановлена, RUNNING – служба запущена.
См. также документация: https://tsrv.int.imlab.by/base/windows_service.html
Если настройки выполнены правильно и служба запущена в каталоге, который был определен для логирования, появятся два файла: logs.log (общее логирование, http запросы к службе и ответы) и checks.log (формируемые кассовые документы).
В каталоге старта сервиса создать два технологических файла:
- для остановки сервиса, например, с именем stop.cmd, в который поместить команды:
sc.exe stop tsrv-native.
Остановка службы может потребоваться, например, для корректного извлечения СКО.
- для перезапуска сервиса, например, с именем start.cmd, в который поместить команды:
sc.exe stop tsrv-native
sc.exe start tsrv-native
Перезапуск сервиса иногда необходим, например, в случаях выключения ПК.
На рабочем столе создать ярлыки, которые будут запускаться с правами Администратора.
1.2 Личный кабинет
Программная касса имеет личный кабинет. Для каждого СКО присутствует токен, который позволяет получить доступ к личному кабинету. Запрос к личному кабинету в строке браузера выглядит так: https://lk.test.imlab.by/auth/success?значение_токена
Например: https://lk.test.imlab.by/auth/success?jwt=eyJhbGciOiJIUzUxMiJ9.eyJwcmluY2lwYWwiOnsiaWQiOjExMTI5OTYxOCwidHlwZSI6MH0sInVucCI6MTExMjk5NjE4LCJyb2wiOlsiUk9MRV9DT01QQU5ZX1VTRVIiXSwic3ViIjoiIiwiZXhwIjo0Mjk0OTY3Mjk1fQ.ug0UnvCiMloBQrnCBeG7VKjdu9T2ZK91jVF2RuqtwoYSRdZbZ1_SkMifX3-X59nUs1Z5rZ5brI5-xvcHoJXGzw
1.3 Настройка чекового принтера
Для работы необходим чековый принтер со следующим набором характеристик:
- интерфейс подключения USB
- система команд ESC/POS
- прошивка принтера должна содержать кодовую страницу 866 (MS DOS)
- поддержка печати QR кодов
Эта информация может быть получена из self теста принтера и (или) технической документации на устройство.
Self тест для большинства принтеров выполняется следующим образом: выключить принтер, нажать на кнопку «FEED» панели управления принтером, включить принтер и отпустить кнопку «FEED». При этом принтер автоматически напечатает свои характеристики и текущие установки.
Принтер должен быть установлен в системе (его ПО должно быть проинсталлировано) и он должен определяться операционной системой. Имя принтера в системе Windows будет использовано для настройки оборудования программной кассы в ERP.
Важное замечание:
для тестирования подойдет любой чековый принтер, даже не поддерживающий печать QR кодов. Но, для реальной работы нужен принтер, который печатает QR коды, так как это определено законодательно.
См. также документация:
https://tsrv.int.imlab.by/base/printers.html , Очередь печати WIndows
Примечание:
Если принтер не определен ни под Windows, ни под Linux, то вывод направляется на устройство типа виртуальный принтер (dummy printer). Это не должно использоваться для реальной работы, но может быть использовано для тестов при отсутствии реального принтера.