2.2.1. Фискальный регистратор Штрих-ФР-К для использования его в BGBilling

driver: ru.bitel.frk.driver.shtrih.Driver

Конфигурация:

portName - имя порта, например, в Windows com<X>, в Linux /dev/ttyS<X>;
baudRate - скорость обмена (2400, 4800, 9600, 19200, 38400, 57600, 115200);
flowControlIn, flowControlOut - описание типа flow control (None, Xon/Xoff Out, Xon/Xoff In, RTS/CTS In, RTS/CTS Out);
databits - настройка data bits (5, 6, 7, 8);
stopbits - настройка stop bits (1, 1.5, 2);
parity - настройка parity (None, Even, Odd);
oneByteTimeout - таймаут приёма одного байта, характеристика порта (по умолчанию 100).

Драйвером поддерживаются следующие устройства:

ШТРИХ-ФР-Ф (версия 03), ШТРИХ-ФР-Ф (версия 04), ШТРИХ-ФР-Ф (Казахстан), ЭЛВЕС-МИНИ-ФР-Ф, ФЕЛИКС-Р Ф, ШТРИХ-ФР-К, ШТРИХ-950К, ЭЛВЕС-ФР-К, ШТРИХ-МИНИ-ФР-К, ШТРИХ-ФР-Ф (Белоруссия), ШТРИХ-КОМБО-ФР-К, Фискальный блок Штрих-POS-Ф, ШТРИХ-950К (версия 02), ШТРИХ-КОМБО-ФР-К (версия 02), ШТРИХ-МИНИ-ФР-К (версия 02, 57 мм), ШТРИХ-КИОСК-ФР-К

Замечание

Из указанного списка проверены не все устройства, но согласно описанию протокола должны работать все из этого списка. Подробная сверка моделей и наличия в них используемых команд не проводилась (за исключением обычных, распространённых моделей - ФР-К и т.д.), поэтому, возможно, что среди указанных моделей есть специфические устройства, которые будут работать с ограниченным функционалом.

Ограниченно поддерживаются следующие (обычные, без ФП) принтеры:

Принтер ШТРИХ-500

Замечание

Полноценной заявки поддержки нет ввиду нереализованных в них команд типа "продажа" и подобных. Но можно подключить и запустить это устройство, но в скрипте обработки формирования чека (см. ниже) формировать нужные строки, без команды добавления платежа, только командами добавления строк, аналогично тому, как это описано для FOP-драйвера сервера печати. Таким образом, несложно вручную сформировать любой вид чека, аналогично обычным ККМ. Но, конечно, чека в данном случае нефискального.

Реализована вторая версия драйвера ККМ Штрих. Задумывалась как обновлённая реализация протокола "Штрих", более полная поддержка железа и устойчивость к ошибкам, особенно в проблемных вариантах (через маппинг портов, при нестойких соединениях через разные переходники usb и т.д.). Написано не по рекомендациям протокола, а по опытным наблюдениям. В данный момент тестируется, рекомендуется к использованию как альтернатива.

driver: ru.bitel.frk.driver.shtrih2.Driver

Параметры и настройки те же.

Для обеих версий драйвера имеются дополнительные параметры драйвера (использовать по ситуации):

# таймаут в мс между опросами состояний для ожидания окончания печати предыдущей операции
waitNoprintTimeout: 1000
    
# кол-во опросов состояния для ожидания окончания печати предыдущей операции (каждое длиной таймаут)
waitNoprintNumtry: 20

# запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях)
# по умолчанию - 0 (отрезчик используется)
cutterDisabled: 1

# насильное использование резчика после каждой операции печати (если вдруг авторезка не работает)
# по умолчанию - 0 (отрезчик руками не включается, срабатывает только если авторезка)
#cutterForceManual: 0

Замечание

Здесь и далее - флаг cutterDisabled действует только на ручную команду отрезки при печати произвольного текста или при приветствии итд итп. А отрезка или неотрезка при чеках/отчётах настраивается в принтере. После печати чека должно резать автоматически, это заложено в программе регистратора и настраивается в нём самом.