Skip to content

dreamkas/TestVikiPrint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект VikiPrint

Реализация базовых команд протокола Пирит на Java

Для запуска проекта необходимо:

Для возможности использования проекта в качестве практического инструмента для интеграции кассового ПО проект необходимо "клонировать" в среде разработки или через GitBash командой:

git clone https://gitlab.dreamkas.ru/viki/test-pirit

Рекомендуемая версия JDK для работы с данным проектом - 1.8.0_201

Далее можно открыть в IDE (например IntelliJ Idea) как Gradle проект указав файл build.gradle

Более подробно о разрешительном режиме можно прочитать в документации ЧЗ по ссылке: Методические рекомендации по разрешительному режиму ЧЗ.

В проекте задействованы библиотеки:
Tests:

  • 'org.junit.jupiter:junit-jupiter-api:5.8.1'
  • 'org.junit.jupiter:junit-jupiter-engine:5.8.1'

Implementation:

  • 'org.scream3r', name: 'jssc', version: '2.8.0'
  • 'org.apache.commons', name: 'commons-lang3', version: '3.0'

Если работа происходит через COM/USB с использованием службы ComProxy:

  • Подключить фискальный принтер через COM или USB порт
  • Установить значение константы COM_PORT в классе VikiPrint:
  • Проверить, что служба ComProxy запущена

Если взаимодействие происходит через VikiDriver:

  • Подключить фискальный принтер через COM или USB порт
  • Проверить, что служба VikiDriver запущена и слушает порт 50003 (или установить актуальные для вас значения IP и порта)

VikiPrint

Вызов метода main(String[] args) класса VikiPrint поднимет SerialPort и выполнит базовые команды протокола FM16, такие, как:

  • Проверка связи с ККТ
  • Обмен информацией с ФН
  • Запрос состояния печатающего устройства
  • Чтение даты/времени ККТ
  • Запрос флагов статуса ККТ
  • Запрос сведений о ККТ
  • Печать сервисного чека
  • Продажа штучного и весового товара (Обычный режим формирования документа)
  • Продажа штучного и весового товара (Пакетный режим формирования документа)

VikiPrintTest

В тестах класса VikiPrintTest производится выполнение основных команд протокола FM16, такие, как:

  • Закрытие / открытие кассовой смены
  • Перерегистрация ККТ без замены ФН
  • Формирование чека в пакетном режиме (Продажа)
  • Формирование чека в синхронном режиме (Продажа)
  • Формирование копии чека в пакетном режиме

В тесте продажи проверяется добавление

  • Маркированного товара, включая его проверку в ФН
  • Штучного товара
  • Весового товара

VikiPrintWithVikiDriver

Вызов метода main(String[] args) класса VikiPrintWithVikiDriver поднимет Socket(TCP/IP) и выполнит базовые команды протокола FM16, такие, как:

  • Проверка связи с ККТ
  • Обмен информацией с ФН
  • Запрос состояния печатающего устройства
  • Чтение даты/времени ККТ
  • Запрос флагов статуса ККТ
  • Запрос сведений о ККТ
  • Печать сервисного чека
  • Продажа штучного и весового товара (Обычный режим формирования документа)
  • Продажа штучного и весового товара (Пакетный режим формирования документа)

VikiPrintWithVikiDriverTest

В тестах класса VikiPrintTest производится выполнение основных команд протокола FM16, такие, как:

  • Закрытие / открытие кассовой смены
  • Перерегистрация ККТ без замены ФН
  • Формирование чека в пакетном режиме (Продажа)
  • Формирование чека в синхронном режиме (Продажа)
  • Формирование копии чека в пакетном режиме

В тесте продажи проверяется добавление

  • Маркированного товара, включая его проверку в ФН
  • Штучного товара
  • Весового товара

Поддержка

Для связи с поддержкой данного проекта, отправки сообщений об ошибках, пожеланий и запросов на изменения можно связаться по почте: [email protected]

About

Описание базовых команд протокола FM16 (ККТ Вики Принт и Пирит)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages