Настройка фискального регистратора по 54-ФЗ
Введение
Согласно вступившему в силу закону «54-ФЗ», контрольно-кассовая техника должна отправлять электронные версии чеков через интернет оператору фискальных данных (ОФД), а через него — в ФНС.
Поддержка всех фискальных регистраторов (ФР) под новый закон в r_keeper осуществляется на основе универсального драйвера Universal driver for fiscal printers — UniFR.dll, начиная с r_keeper 7.5.7. По своей сути UniFR является интерфейсом. Работу непосредственно с ФР осуществляет драйвер нижнего уровня.
Принципиальная схема работы: r_keeper > Фискальный Регистратор <> Оператор Фискальных Данных.
Для отправки Электронного чека при формировании чека передаются дополнительные реквизиты: почта и телефон. После оформления чека ФР связывается с ОФД и передает данные по чеку. Если передан реквизит:
- Почта — ОФД отправляет чек на указанную почту
- Телефон — ОФД отправляет СМС.
Настройка универсального драйвера
Добавьте универсальный драйвер на кассовую станцию. Для этого:
- Перейдите в меню Сервис > Станции и Устройства
- Выберите нужны кассовый сервер, а в нем — кассовую станцию
- Перейдите на вкладку Устройства и добавьте драйвер Universal driver for fiscal printers из группы устройств Фискальный принтер
- Подтвердите создание логического принтера и сделайте его активным
- Выберите тип фискального регистратора — FiscRegTypeID в соответствии с вашим ФР. Поле LowDriverModule заполнится автоматически
- Настройки драйвера верхнего уровня производятся в свойствах драйвера — раздел Опции
- Настройки драйвера нижнего уровня производятся в поле LowDriverParams. Варианты настроек драйвера нижнего уровня представлены ниже.
- Сохраните изменения.
Готово, универсальный драйвер фискального регистратора добавлен.
Настройка драйвера нижнего уровня для Штриха
Для настройки драйвера для Штриха:
- В поле FiscRegTypeID выберите 155 SHTRIH 54
- В поле LowDriverParams нажмите на три точки для раскрытия параметров драйвера нижнего уровня
- Заполните параметры:
- Log Level — уровень логирования:
- 0 — Errors only
- 1 — External function
- 2 — All function calls
- 3 — High level transport
- 4 — Low level transport
- 5 — All
- LogRotateSize — размер в MB ограничения лога для ротации
- Если размер лога превысит значение этого параметра, то будет произведена ротация лога
- Если параметр ноль, то ротация по размеру не производится
- LogRotateCount — количество логов для ротации.
- Если параметр ноль, то ротация не производится
- При ротации логов:
- fpShtr54_0.LOG > fpShtr54_0.1.LOG
- fpShtr54_0.1.LOG > fpShtr54_0.2.LOG
- etc. до LogRotateCount.
- Language of messages — язык сообщений. Совпадает с расширением файла локализации RUS, LAT, ENG
- Communication protocol — протокол обмена:
- Old — стандартный
- Alternative — протокол ККТ 2.0
- Connection type — интерфейс подключения:
- COM Port — RS232
- TCP/IP — TCP сокет. Работает начиная с версии драйвера 7.32.27.0
- Com Port Number — номер порта RS232
- COMbaud — скорость обмена по интерфейсу RS232
- TCPaddress — IP адрес интерфейса TCP сокет. Работает начиная с версии драйвера 7.32.27.0
- TCPport — порт интерфейса TCP сокет. Работает начиная с версии драйвера 7.32.27.0
- PasswOperat — пароль кассира
- PasswAdmin — пароль администратора
- Cut after lines — прокрутка бумаги на N линий перед отрезом
- DoubleWFont — номер шрифта для печати текста удвоенной ширины
- DoubleHFont — номер шрифта для печати текста удвоенной высоты
- LineLength — максимальная длина строки печати обычным шрифтом
- BoldLineLength — максимальная длина строки печати жирным шрифтом
- OFD Status Warning Timeout — время в секундах до вывода сообщения предупреждающего о том, что существует чек не отправленный в ОФД
- OFD Status Error Timeout — время в секундах до блокировки работы, если чек не отправлен в ОФД
- ReceiptClose8E — по умолчанию 0.
Для совместимости с аппаратами, не поддерживающими команду FF45h.- Если ноль, то при наличии TaxType в Receipt, чек будет закрываться командой FF45h с СНО
- Если не ноль, то независимо от наличия TaxType в Receipt, чек будет закрываться командой 8Eh без СНО
- Use FN serial number as device serial number — выберите, какой номер будет использоваться:
- Device Num — использовать номер устройства
- FN Num — использовать номер фискального накопителя
- Device Num + "#" + FN Num — использовать номер девайса + решетка + номер фискального накопителя
- Z report data with comma different counters — данные Z-отчета из разных счетчиков, например из кассы и регистра операций, через запятую
Пример заполнения поля: CASH_RGST_72,OPER_RGST_152. - Prefix of the name of the cashier for the OFD — префикс имени кассира для отправки в ОФД. Используйте только в случае, если кассир не передает позицию кассира
- Не печатать в бумажном чеке признак предмета расчета — обратите внимание: при включении этого параметра значение атрибута все равно будет зафиксировано в фискальном накопителе
- Do not print Z-report on paper — начиная с версии драйвера fpRU_AtolDTO.7.62.72.0-10209, добавлен параметр NonPapperZReport, который позволяет не печатать Z-отчет при закрытии общей смены.
- Log Level — уровень логирования:
Настройка драйвера нижнего уровня для Атол
Для настройки драйвера для Атол:
- В поле FiscRegTypeID выберите 154 ATOL 54
- В поле LowDriverParams нажмите на три точки для раскрытия параметров драйвера нижнего уровня
- Заполните параметры:
- Log Level — уровень логирования:
- 0 — Errors only
- 1 — External function
- 2 — All function calls
- 3 -—High level transport
- 4 — Low level transport
- 5 — All
- LogRotateSize — размер в MB ограничения лога для ротации
- Если размер лога превысит значение этого параметра, то будет произведена ротация лога
- Если параметр ноль, то ротация по размеру не производится
- LogRotateCount — количество логов для ротации.
- Если параметр ноль, то ротация не производится
- При ротации логов:
- fpAtol54_0.LOG > fpAtol_0.1.LOG
- fpAtol_0.1.LOG > fpAtol_0.2.LOG
- etc. до LogRotateCount.
- Language of messages — язык сообщений. Совпадает с расширением файла локализации RUS, LAT, ENG
- Com Port Number — номер порта RS232
- Baud rate — скорость обмена с RS232
- System administrator password — пароль системного администратора [0...99999999]
- InvertDrawerOpened — инверсия сигнала открытия денежного ящика
- Communication password — пароль связи [0...65535]
- Налоги — распознавание налогов из r_keeper
- Auto — автоматическое обнаружение ФР налогов из справочника Налоги
- Direct — индекс и секция налогов передаются в ФР без перекодировки
- Departament — всегда передаётся налог с индексом 0, начисление налогов должно быть настроено для секции в ФР
- TaxRateIndex — ФР сам ищет налог по секциям, используя вместо секций — индекс налога
- Paper width for unfiscal print— ширина нефискальной печати в символах, измеряется в миллиметрах ширины бумаги.
Если параметр равен нулю, то драйвер пытается прочитать значение ширины печати из регистра 18h ФР. И если в регистре будет ноль, то ФР ищет ширину печати по известному индексу модели. - Comma separated list of disabled TLV Tags — по умолчанию пустой. Список номеров тегов, которые драйвер не будет пытаться передавать в ФР
- OFD Status Warning Timeout — время в секундах до вывода сообщения предупреждающего о том, что существует чек, не отправленный в ОФД
- OFD Status Error Timeout — время в секундах до блокирования работы, если чек не отправлен в ОФД
- Fiscal documents format version — версия формата фискального документа:
- FFD version auto — считывается с устройства
- FFD version 1.0
- FFD version 1.05 — включается функционал авансового платежа и передачи ИНН кассира
- FFD version 1.1 — not implemented yet
- Protocol Version — версия протокола
- 2 — протокол Атол 2.4
- 3 — протокол Атол 3.0
- Work without FN module. UTII mode — работа без FN модуля. Значение по умолчанию 0. Если не 0, то номера SerialNum, LastShiftNum, LastDocNum, LastReceiptNum считываются не из ФН, а из регистров ФР. Обратите внимание, что эти значения могут не совпадать с содержимым ФН и напечатанными значениями на чеке
- Physical level — выбор порта:
- RS232
- TCP
- IP adress — IP-адрес ФР
- IP port — порт TCP ФР
- Automatic mode — настройка предполагает работу без оператора
- QRcodePrintingType — настройка печати QR-кода
- AsImage — в виде картинки, определяется высотой . Необходимо наличие BarCodeGen.dll
- Hardware — с помощью аппаратного обеспечения C1h, определяется длиной.
- Использовать команду 87 для нефискальной печати — команда 87 используется для печати широким или высоким шрифтом нефискальной информации
- Delay before printing — задерживать печать, если в устройстве есть бумага. Измеряется в секундах
- Print discount in line — печать скидки в линию, а не под каждой позицией в чеке. Параметр добавлен в драйвер версии fpRU_AtolDTO.7.62.74.0-10215.7z
- Замена наименования для ВНЕРЕАЛИЗАЦИОННЫЙ ДОХОД — впишите замену наименования
- Если есть замена, то ФР заменит наименования блюд с признаком Внереализационный доход по требованиям Приказа ФНС России №ММВ-7-20/207 от 09.04.2018
- Если пусто, наименование не будет заменяться.
- Log Level — уровень логирования:
Примечание
В r_keeper_7 реализована поддержка только протокола Атол 2.4
Настройка фискальных типов валют
Далее необходимо указать фискальные типы для различных валют в данном фискальном регистраторе. Для этого:
- Перейдите в меню Деньги > Валюты
- Выберите нужную валюту и перейдите в ее свойства
- Раскройте раздел Фискальные типы. В поле с используемым ФР необходимо установить соответствие между типом валюты и ее фискальным типом в фискальном регистраторе используемой модели
- Сохраните изменения.
Настройка фискальных типов налогов
Далее необходимо указать фискальные типы для различных налогов в данном ФР. Для этого:
- Перейдите в меню Деньги > Налоги
- Выберите налоговую ставку
- Раскройте раздел Фискальные типы. В поле с используемым ФР необходимо установить соответствие между номером налога и индексом налога в фискальном регистраторе используемой модели
Для печати налогов в чеке ФР необходимо выставить в макете чека параметр Печатать налоги.
Добавление кнопки Электронный чек
Если после обновления r_keeper 7 на кассе автоматически не появилась кнопка Электронный чек, то ее необходимо добавить вручную. Для этого:
- Перейдите в меню Настройки > Графический интерфейс > Селекторы
- Выясните, какой селектор операций сейчас используются на кассовой станции с помощью справочника Использования селекторов:
- Для быстрого чека: раскройте ветку Заказ > Селектор операций > Быстрый чек: Селектор операций и нажмите на шестеренку
- Для обычного чека: раскройте ветку Заказ > Селектор операций > Чек: Селектор операций и нажмите на шестеренку
- Скопируйте селектор и вставьте с подэлементами
- Переименуйте селектор
- В разделе Основное в поле Страница по-умолчанию выберите страницу как в оригинале
- Перейдите в меню Настройки > Графический интерфейс > Функциональные клавиши
- Перейдите в группу Функц. Дизайн Функциональные клавиши > ФД Операции с заказом > ФД Селектор операций
Сделайте копию кнопки Пользов. свойства и переименуйте ее
Примечание
При отсутствии группы ФД, что характерно для чистой установки версий от 7.5.5 и выше, кнопку Пользов.свойства ищите в группе Операции с заказом > Селектор операций.
- Добавьте созданную кнопку на одну из страниц скопированного селектора. Например, на страницу Доп с удалением предустановленной кнопки Пользов.свойства.
Вы можете использовать страницу Селектор операций и добавить на эту страницу кнопку, но тогда необходимо изменить макет страницы селектора, добавив на макет кнопку. - Добавьте новый селектор в использование
- Перезагрузите кассу и проверьте настройки. При нажатии на кнопку ФЗ-54 должна появиться форма для ввода реквизитов Почта, Телефон.
Для изменения заголовка окна:
- Перейдите в меню Настройки > Графический интерфейс > Формы
- Создайте копию формы Метродотель > Редактор пользовательских свойств > 1024 x 768 TS: Редактор пользовательских свойств
- Внесите изменения
- Выберите данную форму в используемой схеме форм
- Создайте копию предустановленной схемы формы и настройте ее использование
Готово, теперь индивидуальная форма будет отображена на экране кассы.
Макет чека
Печать QR-кодов на чеке
Для печати QR-кода на чеке добавьте в печатный макет команды:
- QRCode
- QRProperties <высота>
- Уровень коррекции QR-кода.
Например:
|
Примечание
Для корректной печати графики на принтере TM200 необходимо обновить прошивку до версии 8.05 или выше.
Ограничения
В макете чека:
- Запрещено использовать настройку Только сумму, так как в ОФД необходимо передавать все позиции
- Запрещено использовать настройку Использовать альт. название, если не заполнены альтернативные названия.
Диагностика проблем
Перед началом диагностики проблем, соберите логи. Если ошибка воспроизводится для диагностики необходимо:
- Включить максимальное логирование.
- UniFR: logLevel=All
- fpAtol54: Log Level = Все
- fpShtr54: Log Level = Talkative
- Файлы логов:
- UniFR.dll: UniFR.log
- fpAtol54.dll: fpAtol54.log
- fpShtr54.dll: fpShtr54.log
- В случае если ошибка воспроизводится:
- удалить предыдущие логи
- воспроизвести ошибку с новым уровнем логирования
- приложить файлы к задаче
Если ошибка не воспроизводится:
- Приложите логи как есть, но уровень все равно повысьте до максимального
- По шагам опишите, как получить ошибку
- Приложить скриншот ошибки.