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

Материал из Меасофт
Перейти к: навигация, поиск
м (Чем отличаются чеки Life-Pay формируемые из офиса и мобильного приложения, и почему)
(Настройка ФР Штрих-М)
 
(не показано 35 промежуточных версий 6 участников)
Строка 1: Строка 1:
Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы "Курьерская служба 2008" с фискальными регистраторами. Он представляет собой [http://ru.wikipedia.org/wiki/Службы_Windows службу Windows], которая подключается к БД системы, и к фискальному регистратору. Одна установка службы поддерживает один регистратор. При этом система в целом поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юр. лицо, посредством установки необходимого количества модулей интеграции с ФР.
+
Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы MeaSoft с фискальными регистраторами. Он представляет собой [http://ru.wikipedia.org/wiki/Службы_Windows службу Windows], которая подключается к БД системы и к фискальному регистратору.
  
Модуль печати кассовых чеков состоит из файлов:
+
Одна установка службы поддерживает один регистратор.
  
CheckServiceExe.exe - Исполняемый файл службы
+
MeaSoft поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юридическое лицо. Чтобы подключить несколько регистраторов, установите соответствующее количество модулей интеграции с ФР.
  
CheckServiceExe.ini - Конфигурационный файл
+
Модуль печати кассовых чеков состоит из следующих файлов:
 +
* CheckServiceExe.exe — исполняемый файл службы;
 +
* CheckServiceExe.ini — конфигурационный файл;
 +
* CheckServiceExe.log — файл журнала. Если его нет, создается при запуске службы.
  
CheckServiceExe.log - Файл журнала. Если его нет - он создается при запуске службы
+
= Применение =
  
 +
Чековая служба нужна, если:
 +
* установлена касса Штрих-М — для печати чеков в офисной системе и мобильном приложении курьера.
 +
:При закрытии заказа курьером в мобильном приложении для печати чеков нужен [[Настройка модуля автоматизации|модуль автоматизации]], который будет отправлять чеки, поскольку прямой связи мобильного приложения с Штрих-М нет;
 +
* установлена касса LIFE PAY — для ручной печати чека из офисного приложения.
  
== Установка ==
+
Для печати чека через LIFE PAY и Штрих-Нано-Ф при закрытии заказа курьером в мобильном приложении чековая служба не нужна.
Для установки модуля скопируйте файлы дистрибутива в папку на компьютере, к которому подключен фискальный регистратор. Запустите файл "CheckServiceExe.exe" с параметром командной строки " /install", от имени администратора(!). Если все хорошо, Вы увидите сообщение "Service installed successfully". ''Подсказка: для упрощения ввода командной строки можно создать ярлык для файла "CheckServiceExe.exe", и в его свойствах, в поле "Объект", дописать параметр, после чего запустить этот ярлык.''
 
  
После установки убедитесь, что режим запуска службы установлен в положение "Автоматически", и запустите службу, используя окно "Службы" операционной системы.
+
'''Примечание'''. Касса Штрих-М работает с чековой службой только при подключении через COM-порт или USB и одновременно передает данные в ОФД. При подключении через USB на компьютере настраивается виртуальный COM-порт.
 +
 
 +
= Установка чековой службы=
 +
 
 +
# Скопируйте файл CheckServiceExe.exe в любую папку на компьютере:
 +
#* для кассы Штрих-М — на тот компьютер, к которому физически подключена касса;
 +
#* для кассы LIFE PAY – на любой компьютер, потому что у LIFE PAY облачная фискализация.
 +
# Создайте ярлык для файла CheckServiceExe.exe.
 +
# В свойствах ярлыка на вкладке '''Ярлык''' в поле '''Объект''' после имени файла добавьте <code>/install</code>:[[Файл:Установка чековой службы.png|none]]
 +
# Сохраните и запустите ярлык от имени администратора. В результате служба появится в списке служб. Для просмотра списка в контекстном меню '''Мой компьютер''' выберите  '''Управление''' > '''Службы'''.
 +
# В папке с чековой службой создайте INI-файл или загрузите шаблоны: [https://courierexe.ru/download/checkservice/lifepay/CheckServiceExe.ini LIFE PAY], [https://courierexe.ru/download/checkservice/shtrih/CheckServiceExe.ini Штрих-М].
 +
# Откройте INI-файл, укажите [[#Настройка чековой службы |параметры]] для своей базы и сохраните изменения.
 +
# В контекстном меню элемента '''Мой компьютер''' выберите  '''Управление''' > '''Службы''', убедитесь, что режим запуска службы установлен в положение «Автоматически», и запустите чековую службу. Если установка и настройка прошли успешно, то первый чек будет сразу распечатан на кассе.
 +
 
 +
Если чек не печатается, смотрите причины в файле логов чековой службы CheckServiceExe.log. Он находится в папке чековой службы. Подробнее см. раздел «[[Устранение неполадок]]».
  
 
Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.
 
Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.
  
== Настройка ==
+
= Настройка чековой службы =
Откройте файл CheckServiceExe.ini любым текстовым редактором, например, [http://ru.wikipedia.org/wiki/Блокнот_(программа) блокнотом].
+
Откройте файл CheckServiceExe.ini любым текстовым редактором, например [http://ru.wikipedia.org/wiki/Блокнот_(программа) блокнотом].
 
 
В файле, в разделе "<nowiki>[COMMON]</nowiki>", Вы найдете (если не найдете - их можно добавить) следующие параметры:
 
  
=== Параметры ===
+
В разделе <nowiki>[COMMON]</nowiki> измените или добавьте следующие параметры:
  
{|
+
{|class="wikitable" style="width: 80%;" "background-color:#ffffff;"
!Параметр
+
!style="width: 20%;"|Параметр
!Описание
+
!style="width: 40%;"| Штрих-М
|-
+
!style="width: 40%;"| LIFE PAY
|ServerName
 
|Имя/адрес сервера
 
|-
 
|DatabaseName
 
|Имя базы данных (по-умолчанию - "courier")
 
 
|-
 
|-
|UserName
+
|<code>Param</code><br>Дополнительные параметры фискального регистратора
|Имя пользователя базы данных
+
|Пример: <code>Param=30, 6</code><br>Обязательный параметр, значения указываются через запятую. <br>Первое значение — пароль пользователя ФР, по умолчанию 30. Второе значение — скорость работы ФР. Чтобы узнать скорость, используйте утилиту «Тест драйвера», которая поставляется с кассой: откройте утилиту, нажмите на кнопку '''Настройка свойств''' > '''Поиск оборудования'''. Отобразится подключенный ФР и его <spoiler text="скорость работы">Принимаемые значения параметра '''Скорость порта''':<br>1 — 4800 кбит/с,<br> 2 — 9600 кбит/с,<br> 3 — 19200 кбит/с,<br> 4 — 38400 кбит/с,<br> 5 — 57600 кбит/с,<br> 6 — 115200 кбит/с.<br>Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По умолчанию он настроен на скорость 115200, однако иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. [http://courierexe.ru/download/ext_manual/Shtrih_user_manual.pdf руководство пользователя]). Таким образом, начальная настройка в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать в утилите «Тест драйвера» в окне «Настройка свойств» кнопкой '''Установить параметры'''.<br>Например, чтобы установить для модуля настройки подключения к ФР следующие параметры: пароль доступа — 30, скорость порта — 4800, укажите строку: <br> Param=30, 1</spoiler>.
 +
|Пример: <code>Param=91defdc4556fc182680982e1b2am8d6f, 79011111111,,64</code><br>Необязательный параметр. Если значения указаны в [[Фирмы#Добавление фискального регистратора|фискальном регистраторе]], можно оставить строку в таком виде: <code>#Param=</code><br>Первое значение — 32-значный АПИ-ключ из ЛК LIFE PAY.<br>Второе значение — номер телефона без +, на который зарегистрирован ЛК LIFE PAY. <br>Третье значение — по умолчанию пустое, но можно указать путь к АПИ лайфпей (тикет 76001). Укажите путь https://sapi.life-pay.ru/cloud-print/ - для ФФД 1.05 И 1.1 и путь https://sapi.life-pay.ru/cloud-print-ffd1_2/ для ФФД 1.2. <br>Четвертое значение — агентский признак, если есть.
 
|-
 
|-
|Password
+
|<code>Port</code><br>Номер [http://ru.wikipedia.org/wiki/Последовательный_порт COM-порта] фискального регистратора. Если регистратор подключен через [http://ru.wikipedia.org/wiki/USB USB-порт], драйвер эмулятора порта все равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в [http://ru.wikipedia.org/wiki/Диспетчер_устройств диспетчере устройств]), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство.
|Пароль пользователя базы данных
+
|Пример: <code>Port=5</code><br>Обязательный параметр.
 +
|Пример: <code>Port=1 </code><br>Необязательный параметр, можно указывать значение 1.
 
|-
 
|-
|DBPort
+
|<code>CashRegister</code><br><rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт '''Справочники''' > '''Фирмы''', откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку '''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы'''. В списке фискальных регистраторов вы увидите код. Если запись для регистратора еще не создана или вы планируете установить дополнительную кассу, добавьте новый ФР.</rspoiler> в базе данных.
|Порт базы данных (по-умолчанию - 3306)
+
|colspan="2" |Пример: <code>CashRegister=2 </code> <br> Обязательный параметр.<br> <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР двумя способами:
|-
+
* через запятую или тире или их комбинации указать несколько кодов;
|CashRegister
+
* условие SQL-запроса. Например <code>AND cr.DeviceType=3</code> для всех доступных ФР LIFE PAY.
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт "Справочники" - "Фирмы", Откройте двойным щелчком карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку "Фискальные регистраторы". Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных<spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР 2-мя способами:
 
*Через запятую или тире, или их комбинации указать несколько кодов.
 
*Условие SQL-запроса. Например "AND cr.DeviceType=3" для всех доступных ФР Life-Pay.
 
  
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: Для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для Life-Pay - в созданный объект передается поле "Серийный номер", откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один - служба не сможет переключиться например с Life-Pay на ApiShip.</spoiler>
+
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для LIFE PAY — в созданный объект передается поле '''Серийный номер''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один служба не сможет переключиться например с LIFE PAY на ApiShip.</spoiler>
 
|-
 
|-
|Port
+
|<code>ServerName</code><br>Имя или IP-адрес сервера, на котором находится БД MeaSoft. Сервер должен быть доступен по сети с компьютера, к которому подключена касса.
|Номер [http://ru.wikipedia.org/wiki/Последовательный_порт COM-порта] фискального регистратора. Если регистратор подключен через [http://ru.wikipedia.org/wiki/USB USB-порт], драйвер эмулятора порта все-равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в [http://ru.wikipedia.org/wiki/Диспетчер_устройств Диспетчере устройств]), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство!
+
|colspan="2" |Пример: <code>ServerName=srv01  </code> <br> Обязательный параметр.
 
|-
 
|-
|Param
+
|<code>DatabaseName</code><br>Имя базы данных (по умолчанию «courier»)
|Дополнительные параметры фискального регистратора.
+
|colspan="2" |Пример: <code>DataBaseName=courier</code> <br>Обязательный параметр.
 
|-
 
|-
|PrintKurier
+
|<code>UserName</code><br>Имя пользователя базы данных
|1 - Печать ФИО курьера на чеке.
+
|colspan="2" |Пример: <code>UserName=check</code> <br>Обязательный параметр. Пользователя check нужно создать для определения запросов чековой службы, для этого обратитесь в техподдержку.
 
|-
 
|-
|PrintSeller
+
|<code>Password</code><br>Пароль пользователя базы данных
|1 - Печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, необходимо, чтобы в карточке клиента было заполнено поле '''"Полное название"''', на вкладке '''"Реквизиты"'''. Внимание, этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводи текстом на бумагу дополнительный текст там, где это возможно.
+
|colspan="2" |Пример: <code>Password=password </code> <br>Обязательный параметр.
 
|-
 
|-
|PrintCashier
+
|<code>DBPort</code><br>Порт базы данных
|1 - Печать Кассира на чеке (тег 1021). По-умолчанию 1.
+
|colspan="2" |Пример: <code>DBPort =3306  </code> <br>Обязательный параметр. По умолчанию 3306. Проверить порт можно в любом ярлыке офисной программы.
 
|-
 
|-
|EmailPriority
+
|<code>Device</code>
|1 - Отправка чека по e-mail приоритетнее чем SMS
+
|1 — ФР Штрих-М (по умолчанию),<br> 2 — чековый принтер Штрих-М (протокол Epson ESC/P)
 +
|3 — сервис фискализации LIFE PAY <br> 9 - WebKassa
 
|-
 
|-
|AddStr
+
|<code>AgentFlags</code><br>Флаги тега 1057 для передачи в кассу при агентском чеке
|Пользовательская строка, которая печатается на всех чеках.
+
|colspan="2" | Пример:  <code>AgentFlags=4</code><br>Обязательный параметр, если курьерская служба — платежный агент. Чтобы не передавать признаки платежного агента (если в кассе нет этого признака), укажите 0. Если параметр не указан, передается значение по умолчанию 4. <spoiler text="Возможные значения">
 +
* 1 — банковский платежный агент,
 +
* 2 — банковский платежный субагент,
 +
* 4 — платежный агент,
 +
* 8 — платежный субагент,
 +
* 16 — поверенный,
 +
* 32 — комиссионер,
 +
* 64 — агент.
 +
</spoiler>
 
|-
 
|-
|Device
+
|<code>PrintKurier</code>
|1 - ФР Штрих-М (по-умолчанию), 2 - Чековый принтер Штрих-М (протокол Epson ESC/P), 3 - Сервис фискализации Life-pay
+
|colspan="2" |1 — печать ФИО курьера на чеке.
 
|-
 
|-
|AgentFlags
+
|<code>PrintSeller</code>
|Флаги тега 1057 для передачи в кассу при агентском чеке. По-умолчанию - 4
+
|colspan="2" |1 — печать заказчика на чеке.<br> Если включено, печатается юр. наименование, ИНН и телефон клиента.<br>В [[Клиенты и партнеры#Реквизиты|карточке клиента]] на вкладке '''Реквизиты''' должно быть заполнено поле '''Полное название'''.<br> Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводит текстом на бумагу дополнительный текст там, где это возможно.
|}
 
 
 
=== Описание значений ===
 
 
 
 
 
'''Param''' - Дополнительные параметры.  
 
*Для фискальных регистраторов [http://www.shtrih-m.ru/ Штрих-М], в данном параметре через запятую указываются: пароль пользователя ФР (по-умолчанию - "30" - пароль сис. администратора), а также скорость порта (по-умолчанию - "6").
 
*Для Life-pay через запятую указываются api-ключ и телефон-имя-пользователя. Если у ФР Life-Pay в БД заполнено поле "Серийный номер", то данные значения приоритетно берутся от-туда.
 
 
 
Принимаемые значения параметра "Скорость порта":
 
 
 
{|
 
!Значение
 
!Скорость (кбит/сек)
 
|-
 
|1
 
|4800
 
 
|-
 
|-
|2
+
|<code>PrintCashier</code><br>Печатать имя кассира на чеке (тег 1021). По умолчанию 1.
|9600
+
|colspan="2" |1 — кассир берется из строки чека,<br>0 — не печатается,<br> другое число — код нужного сотрудника.<br>Можно писать подзапрос вида <code>if(a.cl=1, 5, 6)</code>.
 
|-
 
|-
|3
+
|<code>EmailPriority</code>
|19200
+
|colspan="2" |1 — отправка чека по e-mail приоритетнее, чем SMS.
 
|-
 
|-
|4
+
|<code>AddStr</code>
|38400
+
|colspan="2" | Пользовательская строка, которая печатается на всех чеках.
 
|-
 
|-
|5
 
|57600
 
|-
 
|6
 
|115200
 
 
|}
 
|}
  
Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По-умолчанию, при покупке, он настроен на скорость 115200, однако, иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. [http://courierexe.ru/download/ext_manual/Shtrih_user_manual.pdf руководство пользователя]), т.о. изначальная конфигурация в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать кнопкой "Установить параметры" окна "Настройка свойств" программы "Тест драйвера ФР".
+
= Настройка ФР Штрих-М =
 
 
Например, чтобы установить для модуля настройки подключения к ФР параметры: Пароль доступа - 30, скорость порта - 4800 необходимо указать строку:
 
 
 
Param=30, 1
 
 
 
== Настройка ФР Штрих-М ==
 
 
[[Файл: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.
 
 
  
 
=== Проверка корректности регистрации в ОФД ===
 
=== Проверка корректности регистрации в ОФД ===
Строка 133: Строка 125:
 
Читаем отчет регистрации.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 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.
 +
 
 +
=== Подключение логирования драйвером Штрих-М ===
 +
Чековая служба предусматривает включение логирования формирования чека средствами драйвера Штирх-М. Для этого в файле параметров конфигурации необходимо указать в секции
 +
[COMMON] для переменной LogShtrih значение "T" или "1". Отключить логирование указать "F" или "0". Путь по которому сохраняется лог, можно посмотреть в настройках драйвера Штрих-М:  “Дополнительные параметры” -> Ставим галочку “Вести лог” и указываем путь к файл лога.  
  
 
=== Проверка корректности передачи тегов в ОФД ===
 
=== Проверка корректности передачи тегов в ОФД ===
Строка 144: Строка 140:
 
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
Строка 150: Строка 146:
 
К сожалению, эти передаваемые данные далеко не всегда отображаются в бумажном и/или электронном чеках, это зависит от самого ФР и/или ОФД соответственно. Однако по данной инструкции мы можем убедиться, что со своей стороны передали все данные, необходимые для соответствия 54-ФЗ.
 
К сожалению, эти передаваемые данные далеко не всегда отображаются в бумажном и/или электронном чеках, это зависит от самого ФР и/или ОФД соответственно. Однако по данной инструкции мы можем убедиться, что со своей стороны передали все данные, необходимые для соответствия 54-ФЗ.
  
== Удаление ==
+
= Удаление службы=
Для корректного удаления службы запустите исполняемый файл "CheckServiceExe.exe" с параметром командной строки " /uninstall".
+
Для корректного удаления службы запустите исполняемый файл CheckServiceExe.exe с параметром командной строки <code>/uninstall</code>.
  
 +
= Примечания =
 +
Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например «Тест драйвера» и т. д.) при попытке подключения выдадут ошибку «Невозможно открыть порт, он используется другим приложением». Чтобы избежать этого, остановите службу модуля на время использования других программ.
  
== Примечания ==
+
= Устранение неполадок =
 
+
1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log
Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например "Тест драйвера" и т.д.) при попытке подключения выдадут ошибку "Невозможно открыть порт, он используется другим приложением". Чтобы избежать этого, остановите службу модуля на время использования других программ.
 
  
== Устранение неполадок ==
+
2. Для включения логирования от драйвера Штрих-М в чековой надо установить флаг fDriver.LogOn:= true. По умолчанию false
 
 
1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log
 
  
2. Ошибки условно можно разделить на 3 категории:
+
3. Ошибки условно можно разделить на 3 категории:
 
{|
 
{|
 
!Ошибка
 
!Ошибка
Строка 170: Строка 165:
 
|-
 
|-
 
|Нет связи с сервером
 
|Нет связи с сервером
|Касса не печатает, в логе сообщения вида "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, Подрежим: ) — нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях — обратиться в службу поддержки MeaSoft для выяснения причины и ее устранения.
 
|-
 
|-
 
|Ошибка при формировании отчета без гашения (X-отчет)
 
|Ошибка при формировании отчета без гашения (X-отчет)
|Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение "Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: 0".
+
|Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение «Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: .
 
|В кассовом аппарате не установлены дата и время.
 
|В кассовом аппарате не установлены дата и время.
|Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях - обратиться в службу поддержки "Курьерская служба 2008" для выяснения причины и ее устранения.
+
|Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях — обратиться в службу поддержки MeaSoft для выяснения причины и ее устранения.
 
|}
 
|}
  
== Печать чеков из мобильного приложения курьера ==
+
4. [https://docs.google.com/spreadsheets/d/19Mn5syH70XwFdg6Pe2fhYM17SNHGuOJDvQEQXHxSz54/edit#gid=0 Список ошибок протокола Штрих и их решение]
=== Life-Pay ===
+
 
 +
= Печать чеков =
 +
 
 +
=== При предоплате ===
 +
Если продавец передаёт предоплаченный товар курьерской службе, чек на предоплату формирует продавец. Курьерская служба должна оформить чек на передачу товара, так как ККТ обязано использовать лицо, осуществляющее расчёты с покупателем (п. 1 ст. 4.3 54-ФЗ).
 +
 
 +
Поскольку передача заказа в зачёт предоплаты относится к расчётам и этим занимается курьер, пробить кассовый чек должен именно он.
 +
 
 +
В таком случае покупатель получает два чека: первый чек выдаётся, когда клиент вносит предоплату, а второй чек — когда он получает товар. Подробнее см. [https://astral.ru/articles/ofd/12791 в статье].
 +
 
 +
=== В офисном приложении ===
 +
Чековая служба не запрашивает печать бумажного чека, если заказ доставлен курьером: бумажный чек тратит бумагу, и если бумага закончится, то печать чеков остановится. А эту бумагу курьер все равно получателю отдать не сможет.
 +
 
 +
Если клиент находится перед вами, в офисе, то чек печатается — соблюдается одно из условий:
 +
* вы отмечаете доставленным отправление, у которого выбрана доставка в пункт выдачи, совпадающий с текущим ответственным филиалом;
 +
* вы принимаете оплату за доставку заказа от заказчика, в этом случае вы вносите платеж на вкладке '''Заказы''' в карточке заказа.
 +
 
 +
=== LIFE PAY: отличия между чеками в офисном и мобильном приложении ===
 +
{|class="wikitable" align="none" style="width: 80%; background-color:#ffffff;
 +
!style="width: 20%|Отличие
 +
!style="width: 40%|Офисное приложение
 +
!style="width: 40%|Мобильное приложение
 +
|-
 +
|Авторизация. Тег <code>login</code>||Общий номер телефона<br><br>Его можно указать в ini-файле чековой службы или 2-м параметром в поле '''Cерийный номер''' в карточке ФР в программе.<br>Чекопечатающее устройство (ЧПУ) в этом случае не предполагается, а авторизация нужна.||Мобильный телефон курьера<br><br>По этому параметру LIFE PAY определяет, на какой чековый принтер отправлять копию чека.
 +
|-
 +
|Имя кассира. Тег <code>cashier_name</code>||Параметр <code>PrintCashier</code> в ini-файле<br><br>Если включено, передается ФИО сотрудника, инициировавшего печать.<br>Офисные сотрудники обычно официально трудоустроены, поэтому поле заполняется.||Не указывается<br><br>В большинстве случаев курьеры не оформлены официально, показывать налоговой их не нужно.
 +
|-
 +
| Режим печати чека. Тег <code>mode</code>.||Печать на бумаге на ФР и отправка SMS или по электронной почте<br><br>В офисе предполагается, что это самовывоз — покупатель стоит перед вами, и вы пробиваете чек и сразу из ФР его отдаете покупателю||Отправка SMS или по электронной почте<br><br>Когда курьер доставляет заказ, он печатает бумажный чек на ЧПУ. Бумажные чеки в отсутствие ЧПУ в офисе [[#Печать чеков в офисном приложении|не печатаются]]. Фискализировать чек, не отправляя его ни на бумагу, ни на ФР, ни по почте/SMS, невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
 +
|}
 +
 
 +
Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика. Если есть пожелания к конкретным полям, обращайтесь.
 +
 
 +
= Отключение печати бумажных чеков =
 +
 
 +
Чтобы отключить печать бумажных чеков на фискальном регистраторе Штрих-М:
 +
# Отключите чековую службу, чтобы она не мешала работе программы «Тест драйвера ФР». Для этого в контекстном меню элемента «Этот компьютер» выберите '''Управление'''. Откроется оснастка Windows «Управление компьютером». В панели слева разверните узел «Службы и приложения», выберите элемент «Службы», выделите в списке службу '''CheckService''' и нажмите '''Остановить службу'''.[[Файл:Настройка ФР управление.png|none|900 px]]
 +
# Запустите программу «Тест драйвера ФР».
 +
# Нажмите на кнопку '''Настройка свойств'''. Откроется окно «Свойства».[[Файл:Настройка ФР драйвер.png|none]]
 +
# Нажмите на кнопку '''Проверка связи''', чтобы проверить связь с кассой. Если в поле '''Код ошибки''' отобразился модуль кассы, все хорошо. Если отобразилась ошибка, например «Нет связи», в этом окне в поле '''Подключение''' выберите значение '''Локально''', в поле '''COM порт''' выберите порт, к которому подключена касса. Посмотреть номер порта можно через диспетчер устройств.
 +
# Нажмите на кнопку '''Таблицы'''. Откроется окно «Таблицы».
 +
# Найдите в списке таблицу 17 «Региональные настройки» и дважды щелкните по элементу. Откроется окно «Региональные настройки».
 +
# В строке «Поле 7. Rus не печатать документ» установите значение 2 и нажмите ENTER.
 +
# Закройте все окна программы «Тест драйвера ФР».
 +
# Включите чековую службу.
 +
 
 +
Печать бумажных чеков отключена, при этом чеки отправляются в ОФД.
 +
 
 +
Чтобы отключить печать чеков на других ФР, заклейте датчик кассовой ленты скотчем, бумажную ленту достаньте.
 +
 
 +
= Ошибки фискализации =
 +
 
 +
[https://docs.google.com/spreadsheets/d/19Mn5syH70XwFdg6Pe2fhYM17SNHGuOJDvQEQXHxSz54/edit#gid=0 Список ошибок протокола Штрих и их решение]
 +
 
 +
При вызове функций драйвера Штрих-М нельзя указывать круглые скобки, получаем исключение. Неправильно fDriver.FNSendSTLVTagOperation(); правильно fDriver.FNSendSTLVTagOperation;
 +
 
 +
== Ошибка программирования реквизита 1226 ==
 +
Ошибка тега 1226 означает, что не был передан ИНН поставщика.
  
=== Чем отличаются чеки Life-Pay формируемые из офиса и мобильного приложения, и почему ===
+
ИНН передается, если:
 +
# Передан признак агента.
 +
# ИНН поставщика указан в карточке клиента в Measoft или в контейнере вложения в [[API#Описание элементов для оформления заказа|API-запросе]] (параметр <code>suppINN</code>).
 +
# Наименование поставщика указано в карточке клиента в Measoft (поле '''[[Клиенты и партнеры#Реквизиты|Полное наименование]]''') или в контейнере вложения в API-запросе (параметр <code>suppcompany</code>).
  
1) Авторизация. Тег login.
+
Приоритет имеет значение, указанное в контейнере вложения.
* Из мобильного приложения указывается мобильный телефон курьера, по этому параметру Life-pay определяет, на какой чековый принтер отправлять копию чека.
 
* Из офиса берется общий номер телефона, его можно задать в ini-файле чековой службы или 2-м параметром в поле "серийный номер" в карточке ФР в программе. ЧПУ в данном случае не предполагается, а авторизовываться чем-то надо.
 
  
2) Имя кассира. Тег cashier_name.
+
== Ошибка программирования реквизита 1171 ==
* Из мобильного приложения мы его не указываем, т.к. в большинстве случаев курьеры не оформлены официально и поэтому показывать налоговой их не нужно.
+
Ошибка тега 1171 означает, что не был передан номер телефона поставщика.
* Из офиса - регулируется параметром PrintCashier в ini-файле. Если включено - передается ФИО сотрудника, инициировавшего печать. Офисные сотрудники обычно официально трудоустроены, поэтому заполнять это поле видится правильным.
 
  
3) Режим печати чека. Тег "mode".
+
Номер телефона поставщика должен быть указан в контейнере вложения [[API#Описание элементов для оформления заказа|API-запросе]] (параметр <code>suppphone</code>), карточке отдела или карточке клиента MeaSoft, на вкладке '''Реквизиты''' в поле '''Тел'''.
* Из мобильного приложения: ''<rspoiler text="email">Отправка SMS или по электронной почте</rspoiler>'': Когда курьер доставляет заказ, он выбивает бумажный чек на ЧПУ. Бумажные чеки, если бы печатались на кассе в офисе, во-первых <rspoiler text="не использовались бы">Даже если у вас не используются ЧПУ (хотя не понятно зачем: без ЧПУ можно дешевле фискализировать на Штрих-М), то курьеру все-равно бумажный чек, выбитый в офисе, не поможет!</rspoiler>, во-вторых это потенциальная причина сбоя: если заканчивается лента в ФР, то он перестанет фискализировать чеки пока новую ленту не установят. Т.е. если ставить печать на бумаге в офисе, у вас будет собираться ворох чеков, которые вы будете выбрасывать, и нужно будет постоянно следить, чтобы бумага не могла закончиться. При этом фискализировать чек, не отправляя его вообще никуда, ни на бумагу на ФР ни по почте/SMS невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
 
* Из офиса: ''<rspoiler text="print_email">Печать на бумаге на ФР и отправка SMS или по электронной почте</rspoiler>''. В офисе предполагается, что это самовывоз. Т.е. покупатель стоит непосредственно перед вами, и вы, пробивая чек, сразу из ФР его берете и отдаете покупателю.
 
  
Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика - но это вопрос ваших требований к документам, версии ПО ФР и нашей чековой службы, а так же - некоторых доступных настроек. Если есть пожелания к конкретным полям - обращайтесь, все рассмотрим!
+
Приоритет имеет значение, указанное в контейнере вложения.
  
=== Штрих-М ===
+
== Ошибка программирования реквизита 1222 ==
 +
Тег 1222 необходимо передавать совместно с тегом 1223 и только для версий ФФД 1.2 и выше.
 +
Тег 1222 передается командой FNSendTagOperation, тег 1223 формируется командами FNBeginSTLVTag и FNSendSTLVTagOperation.
 +
В тег 1223 могут быть вложены теги тег 1073 "телефон платежного агента" и тег 1026 "наименование оператора перевода". Телефон обязан передаваться в формате +7цццццццццц без скобок, тире и пробелов

Текущая версия на 13:24, 24 мая 2023

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

Одна установка службы поддерживает один регистратор.

MeaSoft поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юридическое лицо. Чтобы подключить несколько регистраторов, установите соответствующее количество модулей интеграции с ФР.

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

  • CheckServiceExe.exe — исполняемый файл службы;
  • CheckServiceExe.ini — конфигурационный файл;
  • CheckServiceExe.log — файл журнала. Если его нет, создается при запуске службы.

Применение

Чековая служба нужна, если:

  • установлена касса Штрих-М — для печати чеков в офисной системе и мобильном приложении курьера.
При закрытии заказа курьером в мобильном приложении для печати чеков нужен модуль автоматизации, который будет отправлять чеки, поскольку прямой связи мобильного приложения с Штрих-М нет;
  • установлена касса LIFE PAY — для ручной печати чека из офисного приложения.

Для печати чека через LIFE PAY и Штрих-Нано-Ф при закрытии заказа курьером в мобильном приложении чековая служба не нужна.

Примечание. Касса Штрих-М работает с чековой службой только при подключении через COM-порт или USB и одновременно передает данные в ОФД. При подключении через USB на компьютере настраивается виртуальный COM-порт.

Установка чековой службы

  1. Скопируйте файл CheckServiceExe.exe в любую папку на компьютере:
    • для кассы Штрих-М — на тот компьютер, к которому физически подключена касса;
    • для кассы LIFE PAY – на любой компьютер, потому что у LIFE PAY облачная фискализация.
  2. Создайте ярлык для файла CheckServiceExe.exe.
  3. В свойствах ярлыка на вкладке Ярлык в поле Объект после имени файла добавьте /install:
    Установка чековой службы.png
  4. Сохраните и запустите ярлык от имени администратора. В результате служба появится в списке служб. Для просмотра списка в контекстном меню Мой компьютер выберите Управление > Службы.
  5. В папке с чековой службой создайте INI-файл или загрузите шаблоны: LIFE PAY, Штрих-М.
  6. Откройте INI-файл, укажите параметры для своей базы и сохраните изменения.
  7. В контекстном меню элемента Мой компьютер выберите Управление > Службы, убедитесь, что режим запуска службы установлен в положение «Автоматически», и запустите чековую службу. Если установка и настройка прошли успешно, то первый чек будет сразу распечатан на кассе.

Если чек не печатается, смотрите причины в файле логов чековой службы CheckServiceExe.log. Он находится в папке чековой службы. Подробнее см. раздел «Устранение неполадок».

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

Настройка чековой службы

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

В разделе [COMMON] измените или добавьте следующие параметры:

Параметр Штрих-М LIFE PAY
Param
Дополнительные параметры фискального регистратора
Пример: Param=30, 6
Обязательный параметр, значения указываются через запятую.
Первое значение — пароль пользователя ФР, по умолчанию 30. Второе значение — скорость работы ФР. Чтобы узнать скорость, используйте утилиту «Тест драйвера», которая поставляется с кассой: откройте утилиту, нажмите на кнопку Настройка свойств > Поиск оборудования. Отобразится подключенный ФР и его скорость работы

.

Пример: Param=91defdc4556fc182680982e1b2am8d6f, 79011111111,,64
Необязательный параметр. Если значения указаны в фискальном регистраторе, можно оставить строку в таком виде: #Param=
Первое значение — 32-значный АПИ-ключ из ЛК LIFE PAY.
Второе значение — номер телефона без +, на который зарегистрирован ЛК LIFE PAY.
Третье значение — по умолчанию пустое, но можно указать путь к АПИ лайфпей (тикет 76001). Укажите путь https://sapi.life-pay.ru/cloud-print/ - для ФФД 1.05 И 1.1 и путь https://sapi.life-pay.ru/cloud-print-ffd1_2/ для ФФД 1.2.
Четвертое значение — агентский признак, если есть.
Port
Номер COM-порта фискального регистратора. Если регистратор подключен через USB-порт, драйвер эмулятора порта все равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в диспетчере устройств), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство.
Пример: Port=5
Обязательный параметр.
Пример: Port=1
Необязательный параметр, можно указывать значение 1.
CashRegister
Код фискального регистратора
в базе данных.
Пример: CashRegister=2
Обязательный параметр.
Что еще можно указать
ServerName
Имя или IP-адрес сервера, на котором находится БД MeaSoft. Сервер должен быть доступен по сети с компьютера, к которому подключена касса.
Пример: ServerName=srv01
Обязательный параметр.
DatabaseName
Имя базы данных (по умолчанию «courier»)
Пример: DataBaseName=courier
Обязательный параметр.
UserName
Имя пользователя базы данных
Пример: UserName=check
Обязательный параметр. Пользователя check нужно создать для определения запросов чековой службы, для этого обратитесь в техподдержку.
Password
Пароль пользователя базы данных
Пример: Password=password
Обязательный параметр.
DBPort
Порт базы данных
Пример: DBPort =3306
Обязательный параметр. По умолчанию 3306. Проверить порт можно в любом ярлыке офисной программы.
Device 1 — ФР Штрих-М (по умолчанию),
2 — чековый принтер Штрих-М (протокол Epson ESC/P)
3 — сервис фискализации LIFE PAY
9 - WebKassa
AgentFlags
Флаги тега 1057 для передачи в кассу при агентском чеке
Пример: AgentFlags=4
Обязательный параметр, если курьерская служба — платежный агент. Чтобы не передавать признаки платежного агента (если в кассе нет этого признака), укажите 0. Если параметр не указан, передается значение по умолчанию 4. Возможные значения
PrintKurier 1 — печать ФИО курьера на чеке.
PrintSeller 1 — печать заказчика на чеке.
Если включено, печатается юр. наименование, ИНН и телефон клиента.
В карточке клиента на вкладке Реквизиты должно быть заполнено поле Полное название.
Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводит текстом на бумагу дополнительный текст там, где это возможно.
PrintCashier
Печатать имя кассира на чеке (тег 1021). По умолчанию 1.
1 — кассир берется из строки чека,
0 — не печатается,
другое число — код нужного сотрудника.
Можно писать подзапрос вида if(a.cl=1, 5, 6).
EmailPriority 1 — отправка чека по e-mail приоритетнее, чем SMS.
AddStr Пользовательская строка, которая печатается на всех чеках.

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

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 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.

Подключение логирования драйвером Штрих-М

Чековая служба предусматривает включение логирования формирования чека средствами драйвера Штирх-М. Для этого в файле параметров конфигурации необходимо указать в секции [COMMON] для переменной LogShtrih значение "T" или "1". Отключить логирование указать "F" или "0". Путь по которому сохраняется лог, можно посмотреть в настройках драйвера Штрих-М: “Дополнительные параметры” -> Ставим галочку “Вести лог” и указываем путь к файл лога.

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

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

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

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

Удаление службы

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

Примечания

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

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

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

2. Для включения логирования от драйвера Штрих-М в чековой надо установить флаг fDriver.LogOn:= true. По умолчанию false

3. Ошибки условно можно разделить на 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») — нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях — обратиться в службу поддержки MeaSoft для выяснения причины и ее устранения.
Ошибка при формировании отчета без гашения (X-отчет) Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение «Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: 0». В кассовом аппарате не установлены дата и время. Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях — обратиться в службу поддержки MeaSoft для выяснения причины и ее устранения.

4. Список ошибок протокола Штрих и их решение

Печать чеков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отключение печати бумажных чеков

Чтобы отключить печать бумажных чеков на фискальном регистраторе Штрих-М:

  1. Отключите чековую службу, чтобы она не мешала работе программы «Тест драйвера ФР». Для этого в контекстном меню элемента «Этот компьютер» выберите Управление. Откроется оснастка Windows «Управление компьютером». В панели слева разверните узел «Службы и приложения», выберите элемент «Службы», выделите в списке службу CheckService и нажмите Остановить службу.
    Настройка ФР управление.png
  2. Запустите программу «Тест драйвера ФР».
  3. Нажмите на кнопку Настройка свойств. Откроется окно «Свойства».
    Настройка ФР драйвер.png
  4. Нажмите на кнопку Проверка связи, чтобы проверить связь с кассой. Если в поле Код ошибки отобразился модуль кассы, все хорошо. Если отобразилась ошибка, например «Нет связи», в этом окне в поле Подключение выберите значение Локально, в поле COM порт выберите порт, к которому подключена касса. Посмотреть номер порта можно через диспетчер устройств.
  5. Нажмите на кнопку Таблицы. Откроется окно «Таблицы».
  6. Найдите в списке таблицу 17 «Региональные настройки» и дважды щелкните по элементу. Откроется окно «Региональные настройки».
  7. В строке «Поле 7. Rus не печатать документ» установите значение 2 и нажмите ENTER.
  8. Закройте все окна программы «Тест драйвера ФР».
  9. Включите чековую службу.

Печать бумажных чеков отключена, при этом чеки отправляются в ОФД.

Чтобы отключить печать чеков на других ФР, заклейте датчик кассовой ленты скотчем, бумажную ленту достаньте.

Ошибки фискализации

Список ошибок протокола Штрих и их решение

При вызове функций драйвера Штрих-М нельзя указывать круглые скобки, получаем исключение. Неправильно fDriver.FNSendSTLVTagOperation(); правильно fDriver.FNSendSTLVTagOperation;

Ошибка программирования реквизита 1226

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

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

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

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

Ошибка программирования реквизита 1171

Ошибка тега 1171 означает, что не был передан номер телефона поставщика.

Номер телефона поставщика должен быть указан в контейнере вложения API-запросе (параметр suppphone), карточке отдела или карточке клиента MeaSoft, на вкладке Реквизиты в поле Тел.

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

Ошибка программирования реквизита 1222

Тег 1222 необходимо передавать совместно с тегом 1223 и только для версий ФФД 1.2 и выше. Тег 1222 передается командой FNSendTagOperation, тег 1223 формируется командами FNBeginSTLVTag и FNSendSTLVTagOperation. В тег 1223 могут быть вложены теги тег 1073 "телефон платежного агента" и тег 1026 "наименование оператора перевода". Телефон обязан передаваться в формате +7цццццццццц без скобок, тире и пробелов