ВведениеLink to Введение

Согласно вступившему в силу закону «54-ФЗ», контрольно-кассовая техника должна отправлять электронные версии чеков через интернет оператору фискальных данных (ОФД), а через него — в ФНС.

Поддержка всех фискальных регистраторов (ФР) под новый закон в r_keeper осуществляется на основе универсального драйвера Universal driver for fiscal printers — UniFR.dll, начиная с r_keeper 7.5.7. По своей сути UniFR является интерфейсом. Работу непосредственно с ФР осуществляет драйвер нижнего уровня.

Принципиальная схема работы: r_keeper > Фискальный Регистратор <> Оператор Фискальных Данных.

Для отправки Электронного чека при формировании чека передаются дополнительные реквизиты: почта и телефон. После оформления чека ФР связывается с ОФД и передает данные по чеку. Если передан реквизит:

  • Почта — ОФД отправляет чек на указанную почту
  • Телефон — ОФД отправляет СМС.

Новые версии драйверов находятся в актуальных дистрибутивах r_keeper, но их можно скачать и отдельно с FTP-сервера: ftp://ftp.ucs.ru/rk7/drivers/. Версия отдельных драйверов может отставать от актуальных версий r_keeper 7. Обновления драйверов выпускаются только для UniFR, Атол и Штрих.
Обратите внимание: за всю передачу данных в ОФД отвечает фискальный регистратор.

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

Добавьте универсальный драйвер на кассовую станцию. Для этого:

  1. Перейдите в меню Сервис > Станции и Устройства
  2. Выберите нужны кассовый сервер, а в нем — кассовую станцию
  3. Перейдите на вкладку Устройства и добавьте драйвер Universal driver for fiscal printers из группы устройств Фискальный принтер
  4. Подтвердите создание логического принтера и сделайте его активным
  5. Выберите тип фискального регистратора — FiscRegTypeID в соответствии с вашим ФР. Поле LowDriverModule заполнится автоматически

    • Настройки драйвера верхнего уровня производятся в свойствах драйвера — раздел Опции
    • Настройки драйвера нижнего уровня производятся в поле LowDriverParams. Варианты настроек драйвера нижнего уровня представлены ниже.
  6. Сохраните изменения.

Готово, универсальный драйвер фискального регистратора добавлен.  

Настройка драйвера нижнего уровня для ШтрихаLink to Настройка драйвера нижнего уровня для Штриха

Для настройки драйвера для Штриха:

  1. В поле FiscRegTypeID выберите 155 SHTRIH 54
  2. В поле LowDriverParams нажмите на три точки для раскрытия параметров драйвера нижнего уровня
  3. Заполните параметры:
    • 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-отчет при закрытии общей смены.

Настройка драйвера нижнего уровня для АтолLink to Настройка драйвера нижнего уровня для Атол

Для настройки драйвера для Атол:

  1. В поле FiscRegTypeID выберите 154 ATOL 54
  2. В поле LowDriverParams нажмите на три точки для раскрытия параметров драйвера нижнего уровня
  3. Заполните параметры:

    • 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
      • Если пусто, наименование не будет заменяться.

Примечание

В r_keeper_7 реализована поддержка только протокола Атол 2.4

Настройка фискальных типов валютLink to Настройка фискальных типов валют

Далее необходимо указать фискальные типы для различных валют в данном фискальном регистраторе. Для этого:

  1. Перейдите в меню Деньги > Валюты
  2. Выберите нужную валюту и перейдите в ее свойства
  3. Раскройте раздел Фискальные типы. В поле с используемым ФР необходимо установить соответствие между типом валюты и ее фискальным типом в фискальном регистраторе используемой модели
  4. Сохраните изменения. 

Настройка фискальных типов налоговLink to Настройка фискальных типов налогов

Далее необходимо указать фискальные типы для различных налогов в данном ФР. Для этого:

  1. Перейдите в меню Деньги > Налоги
  2. Выберите налоговую ставку
  3. Раскройте раздел Фискальные типы. В поле с используемым ФР необходимо установить соответствие между номером налога и индексом налога в фискальном регистраторе используемой модели

Для печати налогов в чеке ФР необходимо выставить в макете чека параметр Печатать налоги.

Добавление кнопки Электронный чекLink to Добавление кнопки Электронный чек

Если после обновления r_keeper 7 на кассе автоматически не появилась кнопка Электронный чек, то ее необходимо добавить вручную. Для этого:

  1. Перейдите в меню Настройки > Графический интерфейс > Селекторы
  2. Выясните, какой селектор операций сейчас используются на кассовой станции с помощью справочника Использования селекторов:
    • Для быстрого чека: раскройте ветку Заказ > Селектор операций > Быстрый чек: Селектор операций и нажмите на шестеренку
    • Для обычного чека: раскройте ветку Заказ > Селектор операций > Чек: Селектор операций и нажмите на шестеренку
  3. Скопируйте селектор и вставьте с подэлементами
  4. Переименуйте селектор 
  5. В разделе Основное в поле Страница по-умолчанию выберите страницу как в оригинале
  6. Перейдите в меню Настройки > Графический интерфейс > Функциональные клавиши  
  7. Перейдите в группу Функц. Дизайн Функциональные клавиши > ФД Операции с заказом > ФД Селектор операций
  8. Сделайте копию кнопки Пользов. свойства и переименуйте ее

    Примечание

    При отсутствии группы ФД, что характерно для чистой установки версий от 7.5.5 и выше, кнопку Пользов.свойства ищите в группе Операции с заказом > Селектор операций.

  9. Добавьте созданную кнопку на одну из страниц скопированного селектора. Например, на страницу Доп с удалением предустановленной кнопки Пользов.свойства.

    Вы можете использовать страницу Селектор операций и добавить на эту страницу кнопку, но тогда необходимо изменить макет страницы селектора, добавив на макет кнопку.
  10. Добавьте новый селектор в использование
  11. Перезагрузите кассу и проверьте настройки. При нажатии на кнопку ФЗ-54 должна появиться форма для ввода реквизитов Почта, Телефон.

Для изменения заголовка окна:

  1. Перейдите в меню Настройки > Графический интерфейс > Формы
  2. Создайте копию формы Метродотель > Редактор пользовательских свойств > 1024 x 768 TS: Редактор пользовательских свойств
  3. Внесите изменения
  4. Выберите данную форму в используемой схеме форм
  5. Создайте копию предустановленной схемы формы и настройте ее использование

Готово, теперь индивидуальная форма будет отображена на экране кассы. 

Макет чекаLink to Макет чека

Печать QR-кодов на чекеLink to Печать QR-кодов на чеке

Для печати QR-кода на чеке добавьте в печатный макет команды:

  • QRCode
  • QRProperties <высота>
  • Уровень коррекции QR-кода.

Например:

<QRCode>
<QRProperties 100;15%>
<QRCode  "[QRCodeField]" >

Примечание

Для корректной печати графики на принтере TM200 необходимо обновить прошивку до версии 8.05 или выше.

ОграниченияLink to Ограничения

В макете чека:

  • Запрещено использовать настройку Только сумму, так как в ОФД необходимо передавать все позиции
  • Запрещено использовать настройку Использовать альт. название, если не заполнены альтернативные названия.

Диагностика проблемLink to Диагностика проблем

Перед началом диагностики проблем, соберите логи. Если ошибка воспроизводится для диагностики необходимо:

  • Включить максимальное логирование.
    • UniFR: logLevel=All
    • fpAtol54: Log Level = Все
    • fpShtr54: Log Level = Talkative
  • Файлы логов:
    • UniFR.dll: UniFR.log
    • fpAtol54.dll: fpAtol54.log
    • fpShtr54.dll: fpShtr54.log
  • В случае если ошибка воспроизводится:
    • удалить предыдущие логи
    • воспроизвести ошибку с новым уровнем логирования
    • приложить файлы к задаче

Если ошибка не воспроизводится:

  1. Приложите логи как есть, но уровень все равно повысьте до максимального
  2. По шагам опишите, как получить ошибку
  3. Приложить скриншот ошибки.