Изменения

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

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

6722 байта добавлено, 12:08, 9 августа 2021
м
Нет описания правки
Модуль интеграции с фискальным регистратором (печати кассовых чеков) предназначен для обеспечения возможности взаимодействия системы "Курьерская «Курьерская служба 2008" 2008» с фискальными регистраторами. Он представляет собой [http://ru.wikipedia.org/wiki/Службы_Windows службу Windows], которая подключается к БД системы, и к фискальному регистратору. Одна установка службы поддерживает один регистратор. При этом система в целом поддерживает неограниченное количество регистраторов, в том числе и зарегистрированных на одно юр. лицо, посредством установки необходимого количества модулей интеграции с ФР.
Модуль печати кассовых чеков состоит из файлов:
CheckServiceExe.exe - exe — Исполняемый файл службы
CheckServiceExe.ini - ini — Конфигурационный файл
CheckServiceExe.log - log — Файл журнала. Если его нет - нет — он создается при запуске службы
== Установка ==
Для установки модуля скопируйте файлы дистрибутива в папку на компьютере, к которому подключен фискальный регистратор. Запустите файл "CheckServiceExe«CheckServiceExe.exe" exe» с параметром командной строки " « /install"install», от имени администратора(!). Если все хорошо, Вы увидите сообщение "Service «Service installed successfully"successfully». ''Подсказка: для упрощения ввода командной строки можно создать ярлык для файла "CheckServiceExe«CheckServiceExe.exe"exe», и в его свойствах, в поле "Объект"«Объект», дописать параметр, после чего запустить этот ярлык.''
После установки убедитесь, что режим запуска службы установлен в положение "Автоматически"«Автоматически», и запустите службу, используя окно "Службы" «Службы» операционной системы. Можно установить несколько независимых экземпляров службы на одну систему, переименовав exe-файл. Название службы в Windows, файлы настроек и логов будут иметь соответствующие имена.
== Настройка ==
Откройте файл CheckServiceExe.ini любым текстовым редактором, например, [http://ru.wikipedia.org/wiki/Блокнот_(программа) блокнотом].
В файле, в разделе "«<nowiki>[COMMON]</nowiki>"», Вы найдете (если не найдете - найдете — их можно добавить) следующие параметры:
=== Параметры ===
 
{|
!text-align:left;"|Параметр!Описание
|-
|ServerName
|-
|DatabaseName
|Имя базы данных (по-умолчанию - "courier"«courier»)
|-
|UserName
|-
|DBPort
|Порт базы данных (по-умолчанию - 3306)
|-
|CashRegister
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт "'''Справочники" - "''' > '''Фирмы"''', Откройте двойным щелчком откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку "'''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы"'''. Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных. <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР 2-мя двумя способами:*Через через запятую или тире, или их комбинации указать несколько кодов.;*Условие условие SQL-запроса. Например "AND «AND cr.DeviceType=3" для всех доступных ФР Life-PayLIFE PAY.
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: Для для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для Life-Pay - LIFE PAY — в созданный объект передается поле "'''Серийный номер"''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один - один — служба не сможет переключиться например с Life-Pay LIFE PAY на ApiShip.</spoiler>
|-
|Port
|Номер [http://ru.wikipedia.org/wiki/Последовательный_порт COM-порта] фискального регистратора. Если регистратор подключен через [http://ru.wikipedia.org/wiki/USB USB-порт], драйвер эмулятора порта все-равно создает виртуальный COM-порт, номер которого устанавливается в его свойствах (в [http://ru.wikipedia.org/wiki/Диспетчер_устройств Диспетчере диспетчере устройств]), а также номер порта меняется в зависимости от разъема USB, к которому подключено устройство!.
|-
|Param
|-
|PrintKurier
|1 - Печать 1 — печать ФИО курьера на чеке.
|-
|PrintSeller
|1 - Печать 1 — печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, необходимо, чтобы в карточке клиента было должно быть заполнено поле '''"Полное название"''', на вкладке '''"Реквизиты"'''. Внимание, этот Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводи выводит текстом на бумагу дополнительный текст там, где это возможно.
|-
|PrintCashier
|1 - Печать Кассира 1 — печать кассира на чеке (тег 1021). По-умолчанию 1. 1 — кассир берется из строки чека, 0 — не печатается, другое число — код нужного сотрудника. Можно писать подзапрос вида if(a.cl=1, 5, 6).
|-
|EmailPriority
|1 - Отправка 1 — отправка чека по e-mail приоритетнее , чем SMS.
|-
|AddStr
|-
|Device
|1 - 1 — ФР Штрих-М (по-умолчанию), 2 - Чековый 2 — чековый принтер Штрих-М (протокол Epson ESC/P), 3 - Сервис 3 — сервис фискализации Life-payLIFE PAY.
|-
|AgentFlags
|Флаги тега 1057 для передачи в кассу при агентском чеке. По-умолчанию - умолчанию — 4. <spoiler text="Возможные значения">* 1 — банковский платежный агент,* 2 — банковский платежный субагент,* 4 — платежный агент,* 8 — платежный субагент,* 16 — поверенный,* 32 — комиссионер,* 64 — агент.</spoiler>
|}
=== Описание значений ===
'''Param''' — дополнительные параметры.
* Для фискальных регистраторов [http://www.shtrih-m.ru/ Штрих-М] через запятую указываются: пароль пользователя ФР (по умолчанию '''30''' — пароль системного администратора), а также скорость порта (по умолчанию '''6''').
* Для LIFE PAY через запятую указываются API-ключ и телефон-имя-пользователя. Если у ФР LIFE PAY в БД заполнено поле '''Серийный номер''', то значения приоритетно берутся оттуда.
 Принимаемые значения параметра '''ParamСкорость порта''' - Дополнительные параметры. *Для фискальных регистраторов [http://www.shtrih-m.ru/ Штрих-М], в данном параметре через запятую указываются: пароль пользователя ФР (по-умолчанию - "30" - пароль сис. администратора), а также скорость порта (по-умолчанию - "6"). *Для Life-pay через запятую указываются api-ключ и телефон-имя-пользователя. Если у ФР Life-Pay в БД заполнено поле "Серийный номер", то данные значения приоритетно берутся от-туда. Принимаемые значения параметра "Скорость порта":
{|
|}
Значение параметра скорости должно совпадать с установленным режимом самого фискального регистратора. По-умолчанию, при покупке, он настроен на скорость 115200, однако, иногда этот параметр необходимо уменьшить для повышения стабильности работы регистратора. Также были случаи сброса скорости в положение 4800 пользователями, что возможно при включении ФР с зажатой кнопкой промотки чековой ленты (см. [http://courierexe.ru/download/ext_manual/Shtrih_user_manual.pdf руководство пользователя]). Таким образом, т.о. изначальная конфигурация начальная настройка в этом режиме исключит вероятность отказа системы из-за ошибочного сброса настройки в ФР. Скорость работы в ФР можно задать кнопкой "'''Установить параметры" ''' окна "Настройка свойств" «Настройка свойств» программы "Тест «Тест драйвера ФР"ФР».
Например, чтобы установить для модуля настройки подключения к ФР следующие параметры: Пароль доступа - пароль доступа — 30, скорость порта - порта — 4800 необходимо указать , укажите строку:
Param=30, 1
== Настройка ФР Штрих-М ==
[[Файл:ShtrihTableList.png|thumb|100px|right]]
'''Внимание.''' Для использования программы "Тест драйвера" «Тест драйвера» нужно остановить службу "CheckService"«CheckService».
=== Обрезка чека ===
Обрезка чеков настраивается в таблице 1 фискального регистратора, параметр "Отрезка чека"«Отрезка чека». Установите значение 1 чтобы ФР полностью отрезал каждый чек, или 2, чтобы он частично надрезал, чтобы чеки все-равно были лентой. Наша система не посылает на ККМ команду обрезки чека во избежание двойной обрезки.
=== Отчет по секциям ===
[[Файл:ShtrihZReportSect.png|thumb|100px|right]]
В системе предусмотрено разнесение различных фискальных операций по секциям фискального регистратора. По-умолчанию суточные отчеты (X и Z-отчеты) отображают общие суммы по всем секциям. В ФР есть возможность сделать разбивку этих отчетов по секциям. Для этого в таблице 1 фискального регистратора, параметр "Тип «Тип суточного отчета" отчета» установите в значение 1.
Читаем отчет регистрации.png
</gallery>
Для удовлетворения большинства потребностей наших клиентов в правильной фискализации в соответствии с 54-ФЗ, необходимо иметь [[Оборудование#Фискальный регистратор|ФР]] с фискальным накопителем (ФН) поддерживающие версию фискальный документ (ФД) версии 1.05. Так же необходимо зарегистрировать ФР в ОФД с признаком агента (тег 1057), т.к. так как курьерские службы обычно выступают в качестве платежного агента. Для соблюдения всех этих требований нужно обратиться в организацию, обслуживающую ваш фискальный регистратор с соответствующей просьбой. В некоторых случаях для поддержки может понадобиться перепрошивка ФР, замена ФН, перерегистрация в ОФД.После этих операций, можно убедиться, что все признаки, нас интересующие, установлены корректно. Для этого сначала нужно узнать номер документа фискализации. В программе "Тест драйвера" «Тест драйвера» слева откроем раздел "11«11. ФН"ФН», в закладках "Фискализация ФН"«Фискализация ФН», нажмем кнопку "Запрос «Запрос итогов фискализации" фискализации» (см. скрин-шот). В результирующем отчете видим номер фискального документа о фискализации.Затем идем на закладку "Данные"«Данные», Вводим номер документа, ставим галку "Показ«Показ. номера тегов"тегов», и нажимаем "Прочитать документ"«Прочитать документ». В результирующем тексте убеждаемся в использовании версии ФД 1.05 - 05 — теги 1209 "Версия ФФД" «Версия ФФД» и 1189 "Версия «Версия ФФД ККМ" ККМ» должны иметь значения 2, тег 1057 "Призн«Призн. плат. агента" - агента» — должен быть, вероятно, 4 (это регистр битов, значение "4" «4» соответствует установленному биту 2 "Платежный агент"«Платежный агент»).
'''Внимание!''' Данные фискального документа хранятся в фискальном накопителе 30 дней, после этого срока посмотреть документ регистрации (перерегистрации) в ФН будет невозможно.
Shtrih check tags.png
</gallery>
Убедиться в корректности передаваемых в ОФД значений тегов можно следующим образом: Сначала узнаем номер фискального документа - документа — его можно посмотреть в чеке (как бумажном, так и электронном), или в приложении "Тест драйвера" «Тест драйвера» в разделе "11«11. ФН"ФН», в закладках "Состояние ФН"«Состояние ФН», нажмем кнопку "Запрос «Запрос статуса ФН" ФН» и посмотрим "Номер «Номер последнего ФД" ФД» (см. скрин-шот). Далее на закладке "Данные" «Данные» введем этот номер в поле "№Док«№Док."», и нажмем "Прочитать документ"«Прочитать документ». В результирующем тексте убеждаемся в отправке тегов 1008, 1057, 1073, 1171, 1215 и прочих (см. скрин-шот).
Теги 1225 и 1226 (Наименование и ИНН поставщика) на момент написания этой статьи не поддерживаются фискальными регистраторами Штрих-М. Производитель обещает реализовать их поддержку в прошивке ФР для ФФД 1.1, которую пока они не выпустили. В соответствии с документом [http://courierexe.ru/download/ext_manual/LAW-MMB-7-20-229.rtf "Приложение N 2 к приказу ФНС России от 21марта 2017 г. N ММВ-7-20/229@"] их указание не является обязательным.'''ОБНОВЛЕНИЕ''' По сообщению Штрих-М в прошивке от 24.10.2018 поддержка этих тегов есть. Вот тема на форуме: https://forum.shtrih-m-partners.ru/indexи версией чековой службы от 19.php?topic=3360603.msg149130#msg1491302019
К сожалению, эти передаваемые данные далеко не всегда отображаются в бумажном и/или электронном чеках, это зависит от самого ФР и/или ОФД соответственно. Однако по данной инструкции мы можем убедиться, что со своей стороны передали все данные, необходимые для соответствия 54-ФЗ.
== Удаление ==
Для корректного удаления службы запустите исполняемый файл "CheckServiceExe«CheckServiceExe.exe" exe» с параметром командной строки " « /uninstall"uninstall».
== Примечания ==
 Поскольку при запуске служба открывает подключение к фискальному регистратору, и использует его все время своей работы, другие программы (например "Тест драйвера" и т«Тест драйвера» и т.д д.) при попытке подключения выдадут ошибку "Невозможно «Невозможно открыть порт, он используется другим приложением"приложением». Чтобы избежать этого, остановите службу модуля на время использования других программ.
== Устранение неполадок ==
 
1. В случае сбоя работы кассы ошибку можно посмотреть в файле CheckServiceExe.log
|-
|Нет связи с сервером
|Касса не печатает, в логе сообщения вида "Unknown «Unknown MySQL server host ''" » или "Can't «Can’t connect to MySQL server on..."on…».
|Неверно настроено подключение к серверу, не работает сервер, сеть.
|Проверить настройки подключения в файле CheckServiceExe.ini, проверить доступность сервера с этого компьютера.
|-
|Нет связи с фискальным регистратором
|Касса не печатает, в логе сообщения вида "Нет «Нет связи код: -1−1, Режим: 0, Подрежим: 0"
|ФР Выключен, ФР подключен не к тому разъему, ФР Настроен не на ту скорость
|Проверьте, что ФР включен, подключен к компьютеру, именно в тот порт, в котором он настраивался. Попробуйте отключить службу чеков, открыть программу "Тест драйвера"«Тест драйвера», выполнить поиск оборудования. Если она находит ФР - ФР — сравнить настройки подключения, найденные тестом драйвера с тем, что прописано в CheckServiceExe.ini. В единичных случаях проблема может заключаться в драйвере переходника COM-USB, попробуйте удалить этот переходник в диспетчере устройств windows, и попросить его поискать устройства заново.
|-
|Не корректная работа фискального регистратора.
|Касса печатает заголовок чека, потом ошибку, потом надпись "Чек аннулирован"«Чек аннулирован», и так бесконечно по кругу.
|Аппаратная ошибка ФР, некорректный чек, сформированный системой.
|Если текст ошибки, который печатается на чеке (он же сохраняется и в лог-файл) содержит информацию об [http://ru.wikipedia.org/wiki/ЭКЛЗ ЭКЛЗ] (например "ЭКЛЗ«ЭКЛЗ: Неверные дата или время код: 168, Режим: 3, Подрежим: 0") -  — нужно обратиться в компанию, с которой у вас заключен договор о поддержке кассы, сообщить им текст ошибки. В остальных случаях - случаях — обратиться в службу поддержки "Курьерская «Курьерская служба 2008" 2008» для выяснения причины и ее устранения.
|-
|Ошибка при формировании отчета без гашения (X-отчет)
|Касса печатает X-отчет бесконечно по кругу. В протоколе работы чековой службы выдается сообщение "Команда «Команда не поддерживается в данном режиме код: 115, Режим: 6, Подрежим: 0".
|В кассовом аппарате не установлены дата и время.
|Необходимо через драйвер ФР установить текущую дату и время, затем cохранить настройку. В остальных случаях - случаях — обратиться в службу поддержки "Курьерская «Курьерская служба 2008" 2008» для выяснения причины и ее устранения.
|}
 
= Печать чеков =
 
=== При предоплате ===
Если продавец передаёт предоплаченный товар курьерской службе, чек на предоплату формирует продавец. Курьерская служба должна оформить чек на передачу товара, так как ККТ обязано использовать лицо, осуществляющее расчёты с покупателем (п. 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, если они не нужны, и вам достаточно бумажного чека из ЧПУ.
|}
 
Потенциально могут быть еще небольшие различия в заполнении данных агента, поставщика. Если есть пожелания к конкретным полям, обращайтесь.
 
= Ошибка фискализации (ошибка программирования реквизита 1226) =
Ошибка тега 1226 означает, что не был передан ИНН поставщика.
 
ИНН передается, если:
# Передан признак агента.
# ИНН поставщика указан в карточке клиента в Measoft или в контейнере вложения в [[API#Описание элементов для оформления заказа|API-запросе]] (параметр <code>suppINN</code>).
# Наименование поставщика указано в карточке клиента в Measoft (поле '''[[Клиенты и партнеры#Реквизиты|Полное наименование]]''') или в контейнере вложения в API-запросе (параметр <code>suppcompany</code>).
 
Приоритет имеет значение, указанное в контейнере вложения.

Навигация