February 20, 2025

Настройка двух фискальных регистраторов на одной станции

Скрипт для распределения чеков по фискальным регистраторам.

Скрипт для распределения чеков по фискальным регистраторам.

Идея следующая — при закрытии чека фронт вставляет в CheckPrint задание на печать фискального чека (Operation=5). После того как фискальный спулер его распечатал, он меняет Operation на 10. Триггер эту операцию перехватывает и восстанавливает Operation=5, при этом меняя номер станции на другой.

Пример 1 (одна касса — StationID=1)
На ней подключены два фискальника:
для бара (DivisionID=1) и
для кухни (DivisionID=2).
Фискальные спулеры лежат в отдельных папках SPOOL1 и SPOOL2.
Первый спулер печатает чеки бара, второй — кухни.

Заводим еще одну, «виртуальную», станцию для печати фискальных чеков кухни (StationID=2) и устанавливаем скрипт, который после печати чека в спулером 1 направляет его дальше в спулер 2. Кассой у данной станции назначаем «реальную» станцию, т.к. смена у нас должна быть одна на 2 ФР. (Ссылка в конце статьи)

Чтобы на одной машине запускались сразу два фискальных спулера, нужно разложить их в 2 разные папки и рядом подложить spooler.cfg.
Соответственно его нужно положить в папки SPOOL1 и SPOOL2 и прописать из запуск в spoolers.bat:

cd c:\avers\spool1
start /min fshtrih.exe
cd c:\avers\spool2
start /min fshtrih.exe

В SPOOL1\spooler.cfg прописываем:
[FiscalMode]
Mode=1 (чтобы ловил задания от станции «Касса»)
Division=1 (чтобы печатал только цех «Бар»)

В SPOOL2\spooler.cfg прописываем:
[FiscalMode]
Mode=2 (чтобы ловил задания от виртуальной станции «Касса — кухня»)
Division=2 (чтобы печатал только цех «Кухня»)

После того как разобрались с основными настройками, необходимо воткнуть в базу скрипт
Dropbox\!Install WIN\3.AVERS\AVERS\TRIGGERS\fiscdiv.sql.

В fiscdiv.sql меняем 1 на StationID реальной станции, которая у вас есть и меняем 2 на StationID виртуальной станции, которую мы создали.

Для корректной работы данного скрипта необходимо выполнить в консоли db2cmd
db2 DROP TRIGGER NetReset
А также скрипт C:\AVERS\TRIGGERS\norspool_drop.sql.

Если у вас уже занят id станции «2» и вы создали еще одну,то необходимо в скрипте поменять выделенные цифры,на id созданной вами станции