Настройка двух фискальных регистраторов на одной станции
Скрипт для распределения чеков по фискальным регистраторам.
Скрипт для распределения чеков по фискальным регистраторам.
Идея следующая — при закрытии чека фронт вставляет в 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 созданной вами станции