Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Программная касса
1. Настройка работы
Настройка работы будет состоять из нескольких пунктов, которые касаются настройки оборудования и ERP:

    1. Настройка программной кассы


Для работы программной кассы необходимо устройство СКО, программное обеспечение для СКО, чековый принтер и обязательное наличие сети Интернет.
СКО представляет собой 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


1.4 Настройка оборудования в ERP

В логике проекта в топ файле прописать вызов управляющего модуля программной кассы FiscalTsrv. Например:

Настройка оборудования в ERP выполняется через пункт горизонтального меню Оборудование – Модели касс и Оборудование – Группы касс.
В журнале «Модели касс» необходимо завести модель оборудования с именем, например «Программная касса TSRV» и кодом tsrv (обязательно). Все прочие настройки по умолчанию.

В журнале «Группы касс» необходимо выполнить настройку программной кассы, для чего создать новую запись и выполнить ряд настроек. В обще форме редактировать выбрать модель «Программная касса TSRV» и в гриде «Касса» выполнить ряд настроек.

На рисунке выделены поля, которые необходимо заполнить для работы программной кассы. При этом красным и оранжевым (только Linux) цветом выделены обязательные для заполнения свойства, зеленым цветом выделены необязательные для заполнения свойства.

  • Путь логов кассы – каталог и имя файла, в который будут писаться пакеты обмена с кассой. По логам можно судить об ошибках или выполненных операциях.
  • Компьютер – всегда 127.0.0.1
  • TSVR, сессия – ID текущей сессии работы с СКО, присваивается в процессе работы по результатам запроса к СКО
  • TSRV, IP адрес – всегда 127.0.0.1:1828
  • TSRV, Номер – номер СКО
  • TSRV, ПИН код – пин код оператора
  • TSRV, Ставка НДС – значение ставки НДС. Допустимые значения – не указано, или 0, или 10, или 20 или 25.
  • TSRV, Имя очереди – Имя очереди принтера. Только для ОС Windows
  • TSRV, VID – значение Vendor ID для настройки принтера в ОС Linux
  • TSRV, PID – значение Product ID для настройки принтера в ОС Linux
  • TSRV, Ширина ленты – ширина ленты в символах для чекового принтера. Если не указано, то значение по умолчанию 48
  • TSRV, cp866 – номер кодовой таблицы в прошивке принтера, соответствующий CP866. Если не указано, то 17
  • TSRV, Прокрутка – количество пустых строк после печати чека. Если значение не задано, то по умолчанию 5.
  • TSRV, Отрезка – флаг включения отрезчика чека (нож). При этом если значение не определено, то отрезчик принтера выключен.
  • TSRV, Префикс – дополнительные данные (команды) перед печатью чека в формате base64


Примечание:
Если принтер не определен ни под Windows, ни под Linux, то вывод направляется на устройство типа виртуальный принтер (dummy printer). Это не должно использоваться для реальной работы, но может быть использовано для тестов при отсутствии реального принтера.
1.5 Лог кассы
Устройство СКО совместно со своим программным обеспечением ведет свои лог файлы, о которых говорилось в пункте «1.1 Настройка программной кассы». Но, просмотр этих логов не всегда удобен. Можно вести отдельный лог относительно запросов к кассе и получаемых от нее ответов.

Структурно в логе отражается дата-время запроса к кассе, условное название операции и запрос от ERP к СКО. Следующей строкой, через строку символов «-» идет содержание ответа от СКО.
Если значение ключа type равно send, то запрос был выполнен успешно.
Если значение равно error, то ответ будет содержать код и описание ошибки, которое может несколько отличаться от сообщения на экране, что связано с тем, что некоторые оригинальные сообщения идут на английском языке, также отображение некоторых сообщений может быть отдельно интерпретировано под текущую ситуацию.
Пакет сообщений типа «запрос-ответ» разделяется строкой символов «=».
В приводимой картинке приводиться два запроса. 1-й запрос «Получение статуса к СКО» имеет статус ошибки. Второй запрос «Открытие сессии» выполнен успешно.


1.6 Ошибки
В процессе работы могут возникать сообщения или сообщения об ошибках, связанные с работой СКО. Например:

Как правило, если возникла ошибка, то в сообщении указывается Операция, которая вызвала ошибку, текст ошибки, а также код ошибки. Код ошибки может оказаться полезным для получения дополнительной информации или рекомендациям, что предпринять.
См. также документация:
https://tsrv.int.imlab.by/base/errors.html
Есть ошибки, которые требуют рестарта СКО, например:

При возникновении такой ошибки нужно следовать правилу:

  • выполнить рестарт СКО (перезапуск службы)
  • закрыть окно сообщений
  • повторить кассовую операцию


Но ошибки, связанные с рестартом СКО, возникать не должны, если не был нарушен порядок работы СКО. На появление такой ошибки не должны влиять также, перезагрузки ПК или его отключение.

  • No labels