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

Материал из Меасофт
Перейти к: навигация, поиск
м (Описание значений)
м (Параметры)
Строка 32: Строка 32:
 
|-
 
|-
 
|DatabaseName
 
|DatabaseName
|Имя базы данных (по-умолчанию - "courier")
+
|Имя базы данных (по умолчанию «courier»)
 
|-
 
|-
 
|UserName
 
|UserName
Строка 41: Строка 41:
 
|-
 
|-
 
|DBPort
 
|DBPort
|Порт базы данных (по-умолчанию - 3306)
+
|Порт базы данных (по умолчанию 3306)
 
|-
 
|-
 
|CashRegister
 
|CashRegister
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт "Справочники" - "Фирмы", Откройте двойным щелчком карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку "Фискальные регистраторы". Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных<spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР 2-мя способами:
+
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт '''Справочники''' > '''Фирмы''', откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку '''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы'''. Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных. <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР двумя способами:
*Через запятую или тире, или их комбинации указать несколько кодов.
+
*через запятую или тире, или их комбинации указать несколько кодов;
*Условие SQL-запроса. Например "AND cr.DeviceType=3" для всех доступных ФР Life-Pay.
+
*условие SQL-запроса. Например "AND cr.DeviceType=3" для всех доступных ФР LIFE PAY.
  
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: Для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для Life-Pay - в созданный объект передается поле "Серийный номер", откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один - служба не сможет переключиться например с Life-Pay на ApiShip.</spoiler>
+
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для LIFE PAY — в созданный объект передается поле '''Серийный номер''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один служба не сможет переключиться например с LIFE PAY на ApiShip.</spoiler>
 
|-
 
|-
 
|Port
 
|Port
|Номер [http://ru.wikipedia.org/wiki/Последовательный_порт COM-порта] фискального регистратора. Если регистратор подключен через [http://ru.wikipedia.org/wiki/USB USB-порт], драйвер эмулятора порта все-равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в [http://ru.wikipedia.org/wiki/Диспетчер_устройств Диспетчере устройств]), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство!
+
|Номер [http://ru.wikipedia.org/wiki/Последовательный_порт COM-порта] фискального регистратора. Если регистратор подключен через [http://ru.wikipedia.org/wiki/USB USB-порт], драйвер эмулятора порта все равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в [http://ru.wikipedia.org/wiki/Диспетчер_устройств диспетчере устройств]), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство.
 
|-
 
|-
 
|Param
 
|Param
Строка 57: Строка 57:
 
|-
 
|-
 
|PrintKurier
 
|PrintKurier
|1 - Печать ФИО курьера на чеке.
+
|1 — печать ФИО курьера на чеке.
 
|-
 
|-
 
|PrintSeller
 
|PrintSeller
|1 - Печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, необходимо, чтобы в карточке клиента было заполнено поле '''"Полное название"''', на вкладке '''"Реквизиты"'''. Внимание, этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводи текстом на бумагу дополнительный текст там, где это возможно.
+
|1 — печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, в карточке клиента должно быть заполнено поле '''Полное название''', на вкладке '''Реквизиты'''. Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводит текстом на бумагу дополнительный текст там, где это возможно.
 
|-
 
|-
 
|PrintCashier
 
|PrintCashier
|1 - Печать Кассира на чеке (тег 1021). По-умолчанию 1. Значение "1" - кассир берется из строки чека. 0 - не печатается, другое число - код нужного сотрудника. Можно писать подзапрос вида if(a.cl=1, 5, 6).
+
|1 — печать кассира на чеке (тег 1021). По умолчанию 1. 1 кассир берется из строки чека, 0 не печатается, другое число код нужного сотрудника. Можно писать подзапрос вида if(a.cl=1, 5, 6).
 
|-
 
|-
 
|EmailPriority
 
|EmailPriority
|1 - Отправка чека по e-mail приоритетнее чем SMS
+
|1 — отправка чека по e-mail приоритетнее, чем SMS.
 
|-
 
|-
 
|AddStr
 
|AddStr
Строка 72: Строка 72:
 
|-
 
|-
 
|Device
 
|Device
|1 - ФР Штрих-М (по-умолчанию), 2 - Чековый принтер Штрих-М (протокол Epson ESC/P), 3 - Сервис фискализации Life-pay
+
|1 ФР Штрих-М (по умолчанию), 2 — чековый принтер Штрих-М (протокол Epson ESC/P), 3 — сервис фискализации LIFE PAY.
 
|-
 
|-
 
|AgentFlags
 
|AgentFlags
|Флаги тега 1057 для передачи в кассу при агентском чеке. По-умолчанию - 4 <spoiler text="Возможные значения">
+
|Флаги тега 1057 для передачи в кассу при агентском чеке. По умолчанию 4. <spoiler text="Возможные значения">
* 1 - Банковский платежный агент
+
* 1 — банковский платежный агент,
* 2 - Банковский платежный субагент
+
* 2 — банковский платежный субагент,
* 4 - Платежный агент
+
* 4 — платежный агент,
* 8 - Платежный субагент
+
* 8 — платежный субагент,
* 16 - Поверенный
+
* 16 — поверенный,
* 32 - Комиссионер
+
* 32 — комиссионер,
* 64 - Агент
+
* 64 — агент.
 
</spoiler>
 
</spoiler>
 
|}
 
|}

Версия 07:31, 26 ноября 2020

Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы "Курьерская служба 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" для выяснения причины и ее устранения.

Печать чеков из мобильного приложения курьера

LIFE PAY

Отличия чеков LIFE PAY, формируемых из системы MeaSoft и из мобильного приложения

1) Авторизация. Тег login.

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

2) Имя кассира. Тег cashier_name.

  • Из мобильного приложения мы его не указываем, т.к. в большинстве случаев курьеры не оформлены официально и поэтому показывать налоговой их не нужно.
  • Из MeaSoft - регулируется параметром PrintCashier в ini-файле. Если включено - передается ФИО сотрудника, инициировавшего печать. Офисные сотрудники обычно официально трудоустроены, поэтому заполнять это поле видится правильным.

3) Режим печати чека. Тег "mode".

  • Из мобильного приложения: email
    . Когда курьер доставляет заказ, он выбивает бумажный чек на ЧПУ. Бумажные чеки, если бы печатались на кассе в офисе, во-первых, не использовались бы
    , во-вторых это потенциальная причина сбоя: если заканчивается лента в ФР, то он перестанет фискализировать чеки, пока новую ленту не установят. Т.е. если ставить печать на бумаге в офисе, у вас будет собираться ворох чеков, которые вы будете выбрасывать, и нужно будет постоянно следить, чтобы бумага не могла закончиться. При этом фискализировать чек, не отправляя его вообще никуда — ни на бумагу, ни на ФР, ни по почте/SMS — невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
  • Из MeaSoft : print_email
    . В офисе предполагается, что это самовывоз. Т.е. покупатель стоит непосредственно перед вами, и вы, пробивая чек, сразу из ФР его берете и отдаете покупателю.

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

Штрих-М