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

Материал из Меасофт
Перейти к: навигация, поиск
м (Печать чеков из мобильного приложения курьера)
м
Строка 1: Строка 1:
Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы "Курьерская служба 2008" с фискальными регистраторами. Он представляет собой [http://ru.wikipedia.org/wiki/Службы_Windows службу Windows], которая подключается к БД системы, и к фискальному регистратору. Одна установка службы поддерживает один регистратор. При этом система в целом поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юр. лицо, посредством установки необходимого количества модулей интеграции с ФР.
+
Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы «Курьерская служба 2008» с фискальными регистраторами. Он представляет собой [http://ru.wikipedia.org/wiki/Службы_Windows службу Windows], которая подключается к БД системы, и к фискальному регистратору. Одна установка службы поддерживает один регистратор. При этом система в целом поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юр. лицо, посредством установки необходимого количества модулей интеграции с ФР.
  
 
Модуль печати кассовых чеков состоит из файлов:
 
Модуль печати кассовых чеков состоит из файлов:
  
CheckServiceExe.exe - Исполняемый файл службы
+
CheckServiceExe.exe — Исполняемый файл службы
  
CheckServiceExe.ini - Конфигурационный файл
+
CheckServiceExe.ini — Конфигурационный файл
  
CheckServiceExe.log - Файл журнала. Если его нет - он создается при запуске службы
+
CheckServiceExe.log — Файл журнала. Если его нет — он создается при запуске службы
  
  
 
== Установка ==
 
== Установка ==
Для установки модуля скопируйте файлы дистрибутива в папку на компьютере, к которому подключен фискальный регистратор. Запустите файл "CheckServiceExe.exe" с параметром командной строки " /install", от имени администратора(!). Если все хорошо, Вы увидите сообщение "Service installed successfully". ''Подсказка: для упрощения ввода командной строки можно создать ярлык для файла "CheckServiceExe.exe", и в его свойствах, в поле "Объект", дописать параметр, после чего запустить этот ярлык.''
+
Для установки модуля скопируйте файлы дистрибутива в папку на компьютере, к которому подключен фискальный регистратор. Запустите файл «CheckServiceExe.exe» с параметром командной строки « /install», от имени администратора(!). Если все хорошо, Вы увидите сообщение «Service installed successfully». ''Подсказка: для упрощения ввода командной строки можно создать ярлык для файла «CheckServiceExe.exe», и в его свойствах, в поле «Объект», дописать параметр, после чего запустить этот ярлык.''
  
После установки убедитесь, что режим запуска службы установлен в положение "Автоматически", и запустите службу, используя окно "Службы" операционной системы.
+
После установки убедитесь, что режим запуска службы установлен в положение «Автоматически», и запустите службу, используя окно «Службы» операционной системы.
  
 
Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.
 
Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.
Строка 20: Строка 20:
 
Откройте файл CheckServiceExe.ini любым текстовым редактором, например, [http://ru.wikipedia.org/wiki/Блокнот_(программа) блокнотом].
 
Откройте файл CheckServiceExe.ini любым текстовым редактором, например, [http://ru.wikipedia.org/wiki/Блокнот_(программа) блокнотом].
  
В файле, в разделе "<nowiki>[COMMON]</nowiki>", Вы найдете (если не найдете - их можно добавить) следующие параметры:
+
В файле, в разделе «<nowiki>[COMMON]</nowiki>», Вы найдете (если не найдете — их можно добавить) следующие параметры:
  
 
=== Параметры ===
 
=== Параметры ===
 
 
{|
 
{|
!Параметр
+
!text-align:left;"|Параметр
!Описание
+
! Описание
 
|-
 
|-
 
|ServerName
 
|ServerName
Строка 45: Строка 44:
 
|CashRegister
 
|CashRegister
 
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт '''Справочники''' > '''Фирмы''', откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку '''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы'''. Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных. <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР двумя способами:
 
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт '''Справочники''' > '''Фирмы''', откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку '''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы'''. Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных. <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР двумя способами:
*через запятую или тире, или их комбинации указать несколько кодов;
+
* через запятую или тире, или их комбинации указать несколько кодов;
*условие SQL-запроса. Например "AND cr.DeviceType=3" для всех доступных ФР LIFE PAY.
+
* условие SQL-запроса. Например «AND cr.DeviceType=для всех доступных ФР LIFE PAY.
  
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для LIFE PAY — в созданный объект передается поле '''Серийный номер''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один — служба не сможет переключиться например с LIFE PAY на ApiShip.</spoiler>
+
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для LIFE PAY — в созданный объект передается поле '''Серийный номер''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один — служба не сможет переключиться например с LIFE PAY на ApiShip.</spoiler>
 
|-
 
|-
 
|Port
 
|Port
Строка 57: Строка 56:
 
|-
 
|-
 
|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: Строка 71:
 
|-
 
|-
 
|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>
 
|}
 
|}
  
 
=== Описание значений ===
 
=== Описание значений ===
 
+
'''Param''' — дополнительные параметры.
 
+
* Для фискальных регистраторов [http://www.shtrih-m.ru/ Штрих-М] через запятую указываются: пароль пользователя ФР (по умолчанию '''30''' — пароль системного администратора), а также скорость порта (по умолчанию '''6''').
'''Param''' - дополнительные параметры.  
+
* Для LIFE PAY через запятую указываются API-ключ и телефон-имя-пользователя. Если у ФР LIFE PAY в БД заполнено поле '''Серийный номер''', то значения приоритетно берутся оттуда.
*Для фискальных регистраторов [http://www.shtrih-m.ru/ Штрих-М] через запятую указываются: пароль пользователя ФР (по умолчанию '''30''' пароль системного администратора), а также скорость порта (по умолчанию '''6''').  
 
*Для LIFE PAY через запятую указываются API-ключ и телефон-имя-пользователя. Если у ФР LIFE PAY в БД заполнено поле '''Серийный номер''', то значения приоритетно берутся оттуда.
 
  
 
Принимаемые значения параметра '''Скорость порта''':
 
Принимаемые значения параметра '''Скорость порта''':
Строка 120: Строка 117:
 
Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По умолчанию он настроен на скорость 115200, однако иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. [http://courierexe.ru/download/ext_manual/Shtrih_user_manual.pdf руководство пользователя]). Таким образом, начальная настройка в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать кнопкой '''Установить параметры''' окна «Настройка свойств» программы «Тест драйвера ФР».
 
Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По умолчанию он настроен на скорость 115200, однако иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. [http://courierexe.ru/download/ext_manual/Shtrih_user_manual.pdf руководство пользователя]). Таким образом, начальная настройка в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать кнопкой '''Установить параметры''' окна «Настройка свойств» программы «Тест драйвера ФР».
  
Например, чтобы установить для модуля настройки подключения к ФР следующие параметры: пароль доступа — 30, скорость порта — 4800, укажите строку:
+
Например, чтобы установить для модуля настройки подключения к ФР следующие параметры: пароль доступа — 30, скорость порта — 4800, укажите строку:
  
 
  Param=30, 1
 
  Param=30, 1
Строка 126: Строка 123:
 
== Настройка ФР Штрих-М ==
 
== Настройка ФР Штрих-М ==
 
[[Файл:ShtrihTableList.png|thumb|100px|right]]
 
[[Файл:ShtrihTableList.png|thumb|100px|right]]
'''Внимание.''' Для использования программы "Тест драйвера" нужно остановить службу "CheckService".
+
'''Внимание.''' Для использования программы «Тест драйвера» нужно остановить службу «CheckService».
  
 
=== Обрезка чека ===
 
=== Обрезка чека ===
Обрезка чеков настраивается в таблице 1 фискального регистратора, параметр "Отрезка чека". Установите значение 1 чтобы ФР полностью отрезал каждый чек, или 2, чтобы он частично надрезал, чтобы чеки все-равно были лентой. Наша система не посылает на ККМ команду обрезки чека во избежание двойной обрезки.
+
Обрезка чеков настраивается в таблице 1 фискального регистратора, параметр «Отрезка чека». Установите значение 1 чтобы ФР полностью отрезал каждый чек, или 2, чтобы он частично надрезал, чтобы чеки все-равно были лентой. Наша система не посылает на ККМ команду обрезки чека во избежание двойной обрезки.
  
 
=== Отчет по секциям ===
 
=== Отчет по секциям ===
 
[[Файл:ShtrihZReportSect.png|thumb|100px|right]]
 
[[Файл:ShtrihZReportSect.png|thumb|100px|right]]
В системе предусмотрено разнесение различных фискальных операций по секциям фискального регистратора. По-умолчанию суточные отчеты (X и Z-отчеты) отображают общие суммы по всем секциям. В ФР есть возможность сделать разбивку этих отчетов по секциям. Для этого в таблице 1 фискального регистратора, параметр "Тип суточного отчета" установите в значение 1.
+
В системе предусмотрено разнесение различных фискальных операций по секциям фискального регистратора. По-умолчанию суточные отчеты (X и Z-отчеты) отображают общие суммы по всем секциям. В ФР есть возможность сделать разбивку этих отчетов по секциям. Для этого в таблице 1 фискального регистратора, параметр «Тип суточного отчета» установите в значение 1.
  
  
Строка 141: Строка 138:
 
Читаем отчет регистрации.png
 
Читаем отчет регистрации.png
 
</gallery>
 
</gallery>
Для удовлетворения большинства потребностей наших клиентов в правильной фискализации в соответствии с 54-ФЗ, необходимо иметь [[Оборудование#Фискальный регистратор|ФР]] с фискальным накопителем (ФН) поддерживающие версию фискальный документ (ФД) версии 1.05. Так же необходимо зарегистрировать ФР в ОФД с признаком агента (тег 1057), т.к. курьерские службы обычно выступают в качестве платежного агента. Для соблюдения всех этих требований нужно обратиться в организацию, обслуживающую ваш фискальный регистратор с соответствующей просьбой. В некоторых случаях для поддержки может понадобиться перепрошивка ФР, замена ФН, перерегистрация в ОФД.
+
Для удовлетворения большинства потребностей наших клиентов в правильной фискализации в соответствии с 54-ФЗ, необходимо иметь [[Оборудование#Фискальный регистратор|ФР]] с фискальным накопителем (ФН) поддерживающие версию фискальный документ (ФД) версии 1.05. Так же необходимо зарегистрировать ФР в ОФД с признаком агента (тег 1057), так как курьерские службы обычно выступают в качестве платежного агента. Для соблюдения всех этих требований нужно обратиться в организацию, обслуживающую ваш фискальный регистратор с соответствующей просьбой. В некоторых случаях для поддержки может понадобиться перепрошивка ФР, замена ФН, перерегистрация в ОФД.
После этих операций, можно убедиться, что все признаки, нас интересующие, установлены корректно. Для этого сначала нужно узнать номер документа фискализации. В программе "Тест драйвера" слева откроем раздел "11. ФН", в закладках "Фискализация ФН", нажмем кнопку "Запрос итогов фискализации" (см. скрин-шот). В результирующем отчете видим номер фискального документа о фискализации.
+
После этих операций, можно убедиться, что все признаки, нас интересующие, установлены корректно. Для этого сначала нужно узнать номер документа фискализации. В программе «Тест драйвера» слева откроем раздел «11. ФН», в закладках «Фискализация ФН», нажмем кнопку «Запрос итогов фискализации» (см. скрин-шот). В результирующем отчете видим номер фискального документа о фискализации.
Затем идем на закладку "Данные", Вводим номер документа, ставим галку "Показ. номера тегов", и нажимаем "Прочитать документ". В результирующем тексте убеждаемся в использовании версии ФД 1.05 - теги 1209 "Версия ФФД" и 1189 "Версия ФФД ККМ" должны иметь значения 2, тег 1057 "Призн. плат. агента" - должен быть, вероятно, 4 (это регистр битов, значение "4" соответствует установленному биту 2 "Платежный агент").
+
Затем идем на закладку «Данные», Вводим номер документа, ставим галку «Показ. номера тегов», и нажимаем «Прочитать документ». В результирующем тексте убеждаемся в использовании версии ФД 1.05 — теги 1209 «Версия ФФД» и 1189 «Версия ФФД ККМ» должны иметь значения 2, тег 1057 «Призн. плат. агента» — должен быть, вероятно, 4 (это регистр битов, значение «4» соответствует установленному биту 2 «Платежный агент»).
  
 
'''Внимание!''' Данные фискального документа хранятся в фискальном накопителе 30 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.
 
'''Внимание!''' Данные фискального документа хранятся в фискальном накопителе 30 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.
Строка 152: Строка 149:
 
Shtrih check tags.png
 
Shtrih check tags.png
 
</gallery>
 
</gallery>
Убедиться в корректности передаваемых в ОФД значений тегов можно следующим образом: Сначала узнаем номер фискального документа - его можно посмотреть в чеке (как бумажном, так и электронном), или в приложении "Тест драйвера" в разделе "11. ФН", в закладках "Состояние ФН", нажмем кнопку "Запрос статуса ФН" и посмотрим "Номер последнего ФД" (см. скрин-шот). Далее на закладке "Данные" введем этот номер в поле "№Док.", и нажмем "Прочитать документ". В результирующем тексте убеждаемся в отправке тегов 1008, 1057, 1073, 1171, 1215 и прочих (см. скрин-шот).
+
Убедиться в корректности передаваемых в ОФД значений тегов можно следующим образом: Сначала узнаем номер фискального документа — его можно посмотреть в чеке (как бумажном, так и электронном), или в приложении «Тест драйвера» в разделе «11. ФН», в закладках «Состояние ФН», нажмем кнопку «Запрос статуса ФН» и посмотрим «Номер последнего ФД» (см. скрин-шот). Далее на закладке «Данные» введем этот номер в поле «№Док.», и нажмем «Прочитать документ». В результирующем тексте убеждаемся в отправке тегов 1008, 1057, 1073, 1171, 1215 и прочих (см. скрин-шот).
  
 
Теги 1225 и 1226 (Наименование и ИНН поставщика) поддерживаются Штрих-М в прошивке от 24.10.2018 и версией чековой службы от 19.03.2019
 
Теги 1225 и 1226 (Наименование и ИНН поставщика) поддерживаются Штрих-М в прошивке от 24.10.2018 и версией чековой службы от 19.03.2019
Строка 159: Строка 156:
  
 
== Удаление ==
 
== Удаление ==
Для корректного удаления службы запустите исполняемый файл "CheckServiceExe.exe" с параметром командной строки " /uninstall".
+
Для корректного удаления службы запустите исполняемый файл «CheckServiceExe.exe» с параметром командной строки « /uninstall».
  
  
 
== Примечания ==
 
== Примечания ==
 
+
Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например «Тест драйвера» и т. д.) при попытке подключения выдадут ошибку «Невозможно открыть порт, он используется другим приложением». Чтобы избежать этого, остановите службу модуля на время использования других программ.
Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например "Тест драйвера" и т.д.) при попытке подключения выдадут ошибку "Невозможно открыть порт, он используется другим приложением". Чтобы избежать этого, остановите службу модуля на время использования других программ.
 
  
 
== Устранение неполадок ==
 
== Устранение неполадок ==
 
 
1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log
 
1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log
  
Строка 178: Строка 173:
 
|-
 
|-
 
|Нет связи с сервером
 
|Нет связи с сервером
|Касса не печатает, в логе сообщения вида "Unknown MySQL server host ''" или "Can't connect to MySQL server on...".
+
|Касса не печатает, в логе сообщения вида «Unknown MySQL server host ''» или «Can’t connect to MySQL server on…».
 
|Неверно настроено подключение к серверу, не работает сервер, сеть.
 
|Неверно настроено подключение к серверу, не работает сервер, сеть.
 
|Проверить настройки подключения в файле CheckServiceExe.ini, проверить доступность сервера с этого компьютера.
 
|Проверить настройки подключения в файле CheckServiceExe.ini, проверить доступность сервера с этого компьютера.
 
|-
 
|-
 
|Нет связи с фискальным регистратором
 
|Нет связи с фискальным регистратором
|Касса не печатает, в логе сообщения вида "Нет связи код: -1, Режим: 0, Подрежим: 0"
+
|Касса не печатает, в логе сообщения вида «Нет связи код: −1, Режим: 0, Подрежим:
 
|ФР Выключен, ФР подключен не к тому разъему, ФР Настроен не на ту скорость
 
|ФР Выключен, ФР подключен не к тому разъему, ФР Настроен не на ту скорость
|Проверьте, что ФР включен, подключен к компьютеру, именно в тот порт, в котором он настраивался. Попробуйте отключить службу чеков, открыть программу "Тест драйвера", выполнить поиск оборудования. Если она находит ФР - сравнить настройки подключения, найденные тестом драйвера с тем, что прописано в CheckServiceExe.ini. В единичных случаях проблема может заключаться в драйвере переходника COM-USB, попробуйте удалить этот переходник в диспетчере устройств windows, и попросить его поискать устройства заново.
+
|Проверьте, что ФР включен, подключен к компьютеру, именно в тот порт, в котором он настраивался. Попробуйте отключить службу чеков, открыть программу «Тест драйвера», выполнить поиск оборудования. Если она находит ФР — сравнить настройки подключения, найденные тестом драйвера с тем, что прописано в CheckServiceExe.ini. В единичных случаях проблема может заключаться в драйвере переходника COM-USB, попробуйте удалить этот переходник в диспетчере устройств windows, и попросить его поискать устройства заново.
 
|-
 
|-
 
|Не корректная работа фискального регистратора.
 
|Не корректная работа фискального регистратора.
|Касса печатает заголовок чека, потом ошибку, потом надпись "Чек аннулирован", и так бесконечно по кругу.
+
|Касса печатает заголовок чека, потом ошибку, потом надпись «Чек аннулирован», и так бесконечно по кругу.
 
|Аппаратная ошибка ФР, некорректный чек, сформированный системой.
 
|Аппаратная ошибка ФР, некорректный чек, сформированный системой.
|Если текст ошибки, который печатается на чеке (он же сохраняется и в лог-файл) содержит информацию об [http://ru.wikipedia.org/wiki/ЭКЛЗ ЭКЛЗ] (например "ЭКЛЗ: Неверные дата или время код: 168, Режим: 3, Подрежим: 0") - нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях - обратиться в службу поддержки "Курьерская служба 2008" для выяснения причины и ее устранения.
+
|Если текст ошибки, который печатается на чеке (он же сохраняется и в лог-файл) содержит информацию об [http://ru.wikipedia.org/wiki/ЭКЛЗ ЭКЛЗ] (например «ЭКЛЗ: Неверные дата или время код: 168, Режим: 3, Подрежим: ) — нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях — обратиться в службу поддержки «Курьерская служба 2008» для выяснения причины и ее устранения.
 
|-
 
|-
 
|Ошибка при формировании отчета без гашения (X-отчет)
 
|Ошибка при формировании отчета без гашения (X-отчет)
|Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение "Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: 0".
+
|Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение «Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: .
 
|В кассовом аппарате не установлены дата и время.
 
|В кассовом аппарате не установлены дата и время.
|Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях - обратиться в службу поддержки "Курьерская служба 2008" для выяснения причины и ее устранения.
+
|Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях — обратиться в службу поддержки «Курьерская служба 2008» для выяснения причины и ее устранения.
 
|}
 
|}
  
== Печать чеков в офисном приложении ==
+
= Печать чеков =
 +
 
 +
=== При предоплате ===
 +
Если продавец передаёт предоплаченный товар курьерской службе, чек на предоплату формирует продавец. Курьерская служба должна оформить чек на передачу товара, так как ККТ обязано использовать лицо, осуществляющее расчёты с покупателем (п. 1 ст. 4.3 54-ФЗ).
 +
 
 +
Поскольку передача заказа в зачёт предоплаты относится к расчётам и этим занимается курьер, пробить кассовый чек должен именно он.
 +
 
 +
В таком случае покупатель получает два чека: первый чек выдаётся, когда клиент вносит предоплату, а второй чек — когда он получает товар. Подробнее см. [https://astral.ru/articles/ofd/12791 в статье].
 +
 
 +
=== В офисном приложении ===
 
Чековая служба не запрашивает печать бумажного чека, если заказ доставлен курьером: бумажный чек тратит бумагу, и если бумага закончится, то печать чеков остановится. А эту бумагу курьер все равно получателю отдать не сможет.
 
Чековая служба не запрашивает печать бумажного чека, если заказ доставлен курьером: бумажный чек тратит бумагу, и если бумага закончится, то печать чеков остановится. А эту бумагу курьер все равно получателю отдать не сможет.
  
Если клиент находится перед вами, в офисе, то чек печатается — соблюдается одно из условий:
+
Если клиент находится перед вами, в офисе, то чек печатается — соблюдается одно из условий:
 
* вы отмечаете доставленным отправление, у которого выбрана доставка в пункт выдачи, совпадающий с текущим ответственным филиалом;
 
* вы отмечаете доставленным отправление, у которого выбрана доставка в пункт выдачи, совпадающий с текущим ответственным филиалом;
 
* вы принимаете оплату за доставку заказа от заказчика, в этом случае вы вносите платеж на вкладке '''Заказы''' в карточке заказа.
 
* вы принимаете оплату за доставку заказа от заказчика, в этом случае вы вносите платеж на вкладке '''Заказы''' в карточке заказа.
  
== Печать чеков из мобильного приложения курьера ==
+
=== LIFE PAY: отличия между чеками в офисном и мобильном приложении ===
 
 
=== LIFE PAY ===
 
 
 
=== Отличия между чеками в офисном и мобильном приложении ===
 
 
 
 
{|class="wikitable" align="none" style="width: 80%; background-color:#ffffff;
 
{|class="wikitable" align="none" style="width: 80%; background-color:#ffffff;
 
!style="width: 20%|Отличие
 
!style="width: 20%|Отличие
Строка 220: Строка 219:
 
|Имя кассира. Тег <code>cashier_name</code>||Параметр <code>PrintCashier</code> в ini-файле<br><br>Если включено, передается ФИО сотрудника, инициировавшего печать.<br>Офисные сотрудники обычно официально трудоустроены, поэтому поле заполняется.||Не указывается<br><br>В большинстве случаев курьеры не оформлены официально, показывать налоговой их не нужно.
 
|Имя кассира. Тег <code>cashier_name</code>||Параметр <code>PrintCashier</code> в ini-файле<br><br>Если включено, передается ФИО сотрудника, инициировавшего печать.<br>Офисные сотрудники обычно официально трудоустроены, поэтому поле заполняется.||Не указывается<br><br>В большинстве случаев курьеры не оформлены официально, показывать налоговой их не нужно.
 
|-
 
|-
| Режим печати чека. Тег <code>mode</code>.||Печать на бумаге на ФР и отправка SMS или по электронной почте<br><br>В офисе предполагается, что это самовывоз — покупатель стоит перед вами, и вы пробиваете чек и сразу из ФР его отдаете покупателю||Отправка SMS или по электронной почте<br><br>Когда курьер доставляет заказ, он печатает бумажный чек на ЧПУ. Бумажные чеки в отсутствие ЧПУ в офисе [[#Печать чеков в офисном приложении|не печатаются]]. Фискализировать чек, не отправляя его ни на бумагу, ни на ФР, ни по почте/SMS, невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
+
| Режим печати чека. Тег <code>mode</code>.||Печать на бумаге на ФР и отправка SMS или по электронной почте<br><br>В офисе предполагается, что это самовывоз — покупатель стоит перед вами, и вы пробиваете чек и сразу из ФР его отдаете покупателю||Отправка SMS или по электронной почте<br><br>Когда курьер доставляет заказ, он печатает бумажный чек на ЧПУ. Бумажные чеки в отсутствие ЧПУ в офисе [[#Печать чеков в офисном приложении|не печатаются]]. Фискализировать чек, не отправляя его ни на бумагу, ни на ФР, ни по почте/SMS, невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
 
|}
 
|}
  
 
Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика. Если есть пожелания к конкретным полям, обращайтесь.
 
Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика. Если есть пожелания к конкретным полям, обращайтесь.
  
=== Ошибка фискализации (ошибка программирования реквизита 1226) ===
+
= Ошибка фискализации (ошибка программирования реквизита 1226) =
 
Ошибка тега 1226 означает, что не был передан ИНН поставщика.
 
Ошибка тега 1226 означает, что не был передан ИНН поставщика.
  

Версия 12:08, 9 августа 2021

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

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