Настройка модуля печати кассовых чеков

Материал из Меасофт
Перейти к: навигация, поиск

Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы «Курьерская служба 2008» с фискальными регистраторами. Он представляет собой службу Windows, которая подключается к БД системы, и к фискальному регистратору. Одна установка службы поддерживает один регистратор. При этом система в целом поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юр. лицо, посредством установки необходимого количества модулей интеграции с ФР.

Модуль печати кассовых чеков состоит из файлов:

CheckServiceExe.exe — Исполняемый файл службы

CheckServiceExe.ini — Конфигурационный файл

CheckServiceExe.log — Файл журнала. Если его нет — он создается при запуске службы


Установка

Для установки модуля скопируйте файлы дистрибутива в папку на компьютере, к которому подключен фискальный регистратор. Запустите файл «CheckServiceExe.exe» с параметром командной строки « /install», от имени администратора(!). Если все хорошо, Вы увидите сообщение «Service installed successfully». Подсказка: для упрощения ввода командной строки можно создать ярлык для файла «CheckServiceExe.exe», и в его свойствах, в поле «Объект», дописать параметр, после чего запустить этот ярлык.

После установки убедитесь, что режим запуска службы установлен в положение «Автоматически», и запустите службу, используя окно «Службы» операционной системы.

Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.

Настройка

Откройте файл CheckServiceExe.ini любым текстовым редактором, например, блокнотом.

В файле, в разделе «[COMMON]», Вы найдете (если не найдете — их можно добавить) следующие параметры:

Параметры

Параметр Описание
ServerName Имя/адрес сервера
DatabaseName Имя базы данных (по умолчанию «courier»)
UserName Имя пользователя базы данных
Password Пароль пользователя базы данных
DBPort Порт базы данных (по умолчанию 3306)
CashRegister Код фискального регистратора
в базе данных. Что еще можно указать
Port Номер COM-порта фискального регистратора. Если регистратор подключен через USB-порт, драйвер эмулятора порта все равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в диспетчере устройств), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство.
Param Дополнительные параметры фискального регистратора.
PrintKurier 1 — печать ФИО курьера на чеке.
PrintSeller 1 — печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, в карточке клиента должно быть заполнено поле Полное название, на вкладке Реквизиты. Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводит текстом на бумагу дополнительный текст там, где это возможно.
PrintCashier 1 — печать кассира на чеке (тег 1021). По умолчанию 1. 1 — кассир берется из строки чека, 0 — не печатается, другое число — код нужного сотрудника. Можно писать подзапрос вида if(a.cl=1, 5, 6).
EmailPriority 1 — отправка чека по e-mail приоритетнее, чем SMS.
AddStr Пользовательская строка, которая печатается на всех чеках.
Device 1 — ФР Штрих-М (по умолчанию), 2 — чековый принтер Штрих-М (протокол Epson ESC/P), 3 — сервис фискализации LIFE PAY.
AgentFlags Флаги тега 1057 для передачи в кассу при агентском чеке. По умолчанию — 4. Возможные значения

Описание значений

Param — дополнительные параметры.

  • Для фискальных регистраторов Штрих-М через запятую указываются: пароль пользователя ФР (по умолчанию 30 — пароль системного администратора), а также скорость порта (по умолчанию 6).
  • Для LIFE PAY через запятую указываются API-ключ и телефон-имя-пользователя. Если у ФР LIFE PAY в БД заполнено поле Серийный номер, то значения приоритетно берутся оттуда.

Принимаемые значения параметра Скорость порта:

Значение Скорость (кбит/сек)
1 4800
2 9600
3 19200
4 38400
5 57600
6 115200

Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По умолчанию он настроен на скорость 115200, однако иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. руководство пользователя). Таким образом, начальная настройка в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать кнопкой Установить параметры окна «Настройка свойств» программы «Тест драйвера ФР».

Например, чтобы установить для модуля настройки подключения к ФР следующие параметры: пароль доступа — 30, скорость порта — 4800, укажите строку:

Param=30, 1

Настройка ФР Штрих-М

ShtrihTableList.png

Внимание. Для использования программы «Тест драйвера» нужно остановить службу «CheckService».

Обрезка чека

Обрезка чеков настраивается в таблице 1 фискального регистратора, параметр «Отрезка чека». Установите значение 1 чтобы ФР полностью отрезал каждый чек, или 2, чтобы он частично надрезал, чтобы чеки все-равно были лентой. Наша система не посылает на ККМ команду обрезки чека во избежание двойной обрезки.

Отчет по секциям

ShtrihZReportSect.png

В системе предусмотрено разнесение различных фискальных операций по секциям фискального регистратора. По-умолчанию суточные отчеты (X и Z-отчеты) отображают общие суммы по всем секциям. В ФР есть возможность сделать разбивку этих отчетов по секциям. Для этого в таблице 1 фискального регистратора, параметр «Тип суточного отчета» установите в значение 1.


Проверка корректности регистрации в ОФД

Для удовлетворения большинства потребностей наших клиентов в правильной фискализации в соответствии с 54-ФЗ, необходимо иметь ФР с фискальным накопителем (ФН) поддерживающие версию фискальный документ (ФД) версии 1.05. Так же необходимо зарегистрировать ФР в ОФД с признаком агента (тег 1057), так как курьерские службы обычно выступают в качестве платежного агента. Для соблюдения всех этих требований нужно обратиться в организацию, обслуживающую ваш фискальный регистратор с соответствующей просьбой. В некоторых случаях для поддержки может понадобиться перепрошивка ФР, замена ФН, перерегистрация в ОФД. После этих операций, можно убедиться, что все признаки, нас интересующие, установлены корректно. Для этого сначала нужно узнать номер документа фискализации. В программе «Тест драйвера» слева откроем раздел «11. ФН», в закладках «Фискализация ФН», нажмем кнопку «Запрос итогов фискализации» (см. скрин-шот). В результирующем отчете видим номер фискального документа о фискализации. Затем идем на закладку «Данные», Вводим номер документа, ставим галку «Показ. номера тегов», и нажимаем «Прочитать документ». В результирующем тексте убеждаемся в использовании версии ФД 1.05 — теги 1209 «Версия ФФД» и 1189 «Версия ФФД ККМ» должны иметь значения 2, тег 1057 «Призн. плат. агента» — должен быть, вероятно, 4 (это регистр битов, значение «4» соответствует установленному биту 2 «Платежный агент»).

Внимание! Данные фискального документа хранятся в фискальном накопителе 30 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.

Проверка корректности передачи тегов в ОФД

Убедиться в корректности передаваемых в ОФД значений тегов можно следующим образом: Сначала узнаем номер фискального документа — его можно посмотреть в чеке (как бумажном, так и электронном), или в приложении «Тест драйвера» в разделе «11. ФН», в закладках «Состояние ФН», нажмем кнопку «Запрос статуса ФН» и посмотрим «Номер последнего ФД» (см. скрин-шот). Далее на закладке «Данные» введем этот номер в поле «№Док.», и нажмем «Прочитать документ». В результирующем тексте убеждаемся в отправке тегов 1008, 1057, 1073, 1171, 1215 и прочих (см. скрин-шот).

Теги 1225 и 1226 (Наименование и ИНН поставщика) поддерживаются Штрих-М в прошивке от 24.10.2018 и версией чековой службы от 19.03.2019

К сожалению, эти передаваемые данные далеко не всегда отображаются в бумажном и/или электронном чеках, это зависит от самого ФР и/или ОФД соответственно. Однако по данной инструкции мы можем убедиться, что со своей стороны передали все данные, необходимые для соответствия 54-ФЗ.

Удаление

Для корректного удаления службы запустите исполняемый файл «CheckServiceExe.exe» с параметром командной строки « /uninstall».


Примечания

Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например «Тест драйвера» и т. д.) при попытке подключения выдадут ошибку «Невозможно открыть порт, он используется другим приложением». Чтобы избежать этого, остановите службу модуля на время использования других программ.

Устранение неполадок

1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log

2. Ошибки условно можно разделить на 3 категории:

Ошибка Симптомы Возможные причины Способы устранения
Нет связи с сервером Касса не печатает, в логе сообщения вида «Unknown MySQL server host » или «Can’t connect to MySQL server on…». Неверно настроено подключение к серверу, не работает сервер, сеть. Проверить настройки подключения в файле CheckServiceExe.ini, проверить доступность сервера с этого компьютера.
Нет связи с фискальным регистратором Касса не печатает, в логе сообщения вида «Нет связи код: −1, Режим: 0, Подрежим: 0» ФР Выключен, ФР подключен не к тому разъему, ФР Настроен не на ту скорость Проверьте, что ФР включен, подключен к компьютеру, именно в тот порт, в котором он настраивался. Попробуйте отключить службу чеков, открыть программу «Тест драйвера», выполнить поиск оборудования. Если она находит ФР — сравнить настройки подключения, найденные тестом драйвера с тем, что прописано в CheckServiceExe.ini. В единичных случаях проблема может заключаться в драйвере переходника COM-USB, попробуйте удалить этот переходник в диспетчере устройств windows, и попросить его поискать устройства заново.
Не корректная работа фискального регистратора. Касса печатает заголовок чека, потом ошибку, потом надпись «Чек аннулирован», и так бесконечно по кругу. Аппаратная ошибка ФР, некорректный чек, сформированный системой. Если текст ошибки, который печатается на чеке (он же сохраняется и в лог-файл) содержит информацию об ЭКЛЗ (например «ЭКЛЗ: Неверные дата или время код: 168, Режим: 3, Подрежим: 0») — нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях — обратиться в службу поддержки «Курьерская служба 2008» для выяснения причины и ее устранения.
Ошибка при формировании отчета без гашения (X-отчет) Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение «Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: 0». В кассовом аппарате не установлены дата и время. Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях — обратиться в службу поддержки «Курьерская служба 2008» для выяснения причины и ее устранения.

Печать чеков

При предоплате

Если продавец передаёт предоплаченный товар курьерской службе, чек на предоплату формирует продавец. Курьерская служба должна оформить чек на передачу товара, так как ККТ обязано использовать лицо, осуществляющее расчёты с покупателем (п. 1 ст. 4.3 54-ФЗ).

Поскольку передача заказа в зачёт предоплаты относится к расчётам и этим занимается курьер, пробить кассовый чек должен именно он.

В таком случае покупатель получает два чека: первый чек выдаётся, когда клиент вносит предоплату, а второй чек — когда он получает товар. Подробнее см. в статье.

В офисном приложении

Чековая служба не запрашивает печать бумажного чека, если заказ доставлен курьером: бумажный чек тратит бумагу, и если бумага закончится, то печать чеков остановится. А эту бумагу курьер все равно получателю отдать не сможет.

Если клиент находится перед вами, в офисе, то чек печатается — соблюдается одно из условий:

  • вы отмечаете доставленным отправление, у которого выбрана доставка в пункт выдачи, совпадающий с текущим ответственным филиалом;
  • вы принимаете оплату за доставку заказа от заказчика, в этом случае вы вносите платеж на вкладке Заказы в карточке заказа.

LIFE PAY: отличия между чеками в офисном и мобильном приложении

Отличие Офисное приложение Мобильное приложение
Авторизация. Тег login Общий номер телефона

Его можно указать в ini-файле чековой службы или 2-м параметром в поле Cерийный номер в карточке ФР в программе.
Чекопечатающее устройство (ЧПУ) в этом случае не предполагается, а авторизация нужна.
Мобильный телефон курьера

По этому параметру LIFE PAY определяет, на какой чековый принтер отправлять копию чека.
Имя кассира. Тег cashier_name Параметр PrintCashier в ini-файле

Если включено, передается ФИО сотрудника, инициировавшего печать.
Офисные сотрудники обычно официально трудоустроены, поэтому поле заполняется.
Не указывается

В большинстве случаев курьеры не оформлены официально, показывать налоговой их не нужно.
Режим печати чека. Тег mode. Печать на бумаге на ФР и отправка SMS или по электронной почте

В офисе предполагается, что это самовывоз — покупатель стоит перед вами, и вы пробиваете чек и сразу из ФР его отдаете покупателю
Отправка SMS или по электронной почте

Когда курьер доставляет заказ, он печатает бумажный чек на ЧПУ. Бумажные чеки в отсутствие ЧПУ в офисе не печатаются. Фискализировать чек, не отправляя его ни на бумагу, ни на ФР, ни по почте/SMS, невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.

Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика. Если есть пожелания к конкретным полям, обращайтесь.

Ошибка фискализации (ошибка программирования реквизита 1226)

Ошибка тега 1226 означает, что не был передан ИНН поставщика.

ИНН передается, если:

  1. Передан признак агента.
  2. ИНН поставщика указан в карточке клиента в Measoft или в контейнере вложения в API-запросе (параметр suppINN).
  3. Наименование поставщика указано в карточке клиента в Measoft (поле Полное наименование) или в контейнере вложения в API-запросе (параметр suppcompany).

Приоритет имеет значение, указанное в контейнере вложения.