Изменения

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

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

943 байта добавлено, 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
|CashRegister
|<rspoiler text="Код фискального регистратора">Чтобы его узнать, выберите в главном меню системы пункт '''Справочники''' > '''Фирмы''', откройте карточку фирмы, на которую зарегистрирован фискальный регистратор, перейдите на закладку '''Устройства''', убедитесь, что в выпадающем списке выбрано значение '''Фискальные регистраторы'''. Вы увидите список фискальных регистраторов. При необходимости их можно создать здесь же.</rspoiler> в базе данных. <spoiler text="Что еще можно указать">Можно указывать наборы обслуживаемых ФР двумя способами:
*через запятую или тире, или их комбинации указать несколько кодов;*условие SQL-запроса. Например "AND «AND cr.DeviceType=3" для всех доступных ФР LIFE PAY.
Тогда они все будут обслуживаться одним объектом подключения к ФР. Что это значит: для Штрих-М у объекта открыт COM-порт при старте, и поменяться он не может. Все чеки пойдут в один ФР. Для LIFE PAY — PAY — в созданный объект передается поле '''Серийный номер''', откуда он берет авторизацию, т.о. чеки могут отправляться в различные аккаунты. Главное, что тип кассы у всех ФР должен быть один — один — служба не сможет переключиться например с LIFE PAY на ApiShip.</spoiler>
|-
|Port
|-
|PrintKurier
|1 — 1 — печать ФИО курьера на чеке.
|-
|PrintSeller
|1 — 1 — печать заказчика на чеке. Если включено, печатается юр. наименование, ИНН и телефон клиента. Чтобы это работало, в карточке клиента должно быть заполнено поле '''Полное название''', на вкладке '''Реквизиты'''. Этот параметр никак не связан с тегами фискального документа 1225 и 1226 и просто выводит текстом на бумагу дополнительный текст там, где это возможно.
|-
|PrintCashier
|1 — 1 — печать кассира на чеке (тег 1021). По умолчанию 1. 1 — 1 — кассир берется из строки чека, 0 — 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 PAY.
|-
|AgentFlags
|Флаги тега 1057 для передачи в кассу при агентском чеке. По умолчанию — умолчанию — 4. <spoiler text="Возможные значения">* 1 — 1 — банковский платежный агент,* 2 — 2 — банковский платежный субагент,* 4 — 4 — платежный агент,* 8 — 8 — платежный субагент,* 16 — 16 — поверенный,* 32 — 32 — комиссионер,* 64 — 64 — агент.
</spoiler>
|}
=== Описание значений ===
  '''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 (Наименование и ИНН поставщика) поддерживаются Штрих-М в прошивке от 24.10.2018 и версией чековой службы от 19.03.2019
== Удаление ==
Для корректного удаления службы запустите исполняемый файл "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» для выяснения причины и ее устранения.
|}
== Печать чеков из мобильного приложения курьера == === LIFE PAY При предоплате ===Если продавец передаёт предоплаченный товар курьерской службе, чек на предоплату формирует продавец. Курьерская служба должна оформить чек на передачу товара, так как ККТ обязано использовать лицо, осуществляющее расчёты с покупателем (п. 1 ст. 4.3 54-ФЗ).
=== Отличия чеков LIFE PAYПоскольку передача заказа в зачёт предоплаты относится к расчётам и этим занимается курьер, формируемых из системы MeaSoft и из мобильного приложения ===пробить кассовый чек должен именно он.
1) Авторизация. Тег login.* Из мобильного приложения указывается мобильный телефон курьераВ таком случае покупатель получает два чека: первый чек выдаётся, по этому параметру LIFE PAY определяеткогда клиент вносит предоплату, на какой чековый принтер отправлять копию чекаа второй чек — когда он получает товар. Подробнее см.* Из MeaSoft берется общий номер телефона, его можно задать в ini-файле чековой службы или 2-м параметром в поле '''Cерийный номер''' в карточке ФР в программе[https://astral. Чекопечатающее устройство (ЧПУ) ru/articles/ofd/12791 в данном случае не предполагается, а авторизация нужнастатье].
2) Имя кассира. Тег cashier_name.=== В офисном приложении ===* Из мобильного приложения мы его Чековая служба не указываемзапрашивает печать бумажного чека, если заказ доставлен курьером: бумажный чек тратит бумагу, т.к. в большинстве случаев курьеры не оформлены официально и поэтому показывать налоговой их не нужно.* Из MeaSoft - регулируется параметром PrintCashier в ini-файле. Если включено - передается ФИО сотрудникаесли бумага закончится, инициировавшего то печатьчеков остановится. Офисные сотрудники обычно официально трудоустроены, поэтому заполнять это поле видится правильнымА эту бумагу курьер все равно получателю отдать не сможет.
3) Режим печати чека. Тег "mode".* Из мобильного приложения: <rspoiler text="email">Отправка SMS или по электронной почте</rspoiler>. Когда курьер доставляет заказ, он выбивает бумажный чек на ЧПУ. Бумажные чекиЕсли клиент находится перед вами, если бы печатались на кассе в офисе, во-первых, <rspoiler text="не использовались бы">Даже если у вас не используются ЧПУ (хотя непонятно зачем: без ЧПУ можно дешевле фискализировать на Штрих-М), то курьеру все равно бумажный чек, выбитый в офисе, не поможет!</rspoiler>, во-вторых это потенциальная причина сбояпечатается — соблюдается одно из условий: если заканчивается лента в ФР* вы отмечаете доставленным отправление, то он перестанет фискализировать чеки, пока новую ленту не установят. Т.е. если ставить печать на бумаге у которого выбрана доставка в офисепункт выдачи, у вас будет собираться ворох чеков, которые совпадающий с текущим ответственным филиалом;* вы будете выбрасыватьпринимаете оплату за доставку заказа от заказчика, и нужно будет постоянно следить, чтобы бумага не могла закончиться. При в этом фискализировать чек, не отправляя его вообще никуда — ни случае вы вносите платеж на бумагу, ни на ФР, ни по почте/SMS — невозможно, это аппаратно не позволяет делать ФР. Можно на уровне ОФД отключить SMS, если они не нужны, и вам достаточно бумажного чека из ЧПУ.* Из MeaSoft : <rspoiler text="print_email">Печать на бумаге на ФР и отправка SMS или по электронной почте</rspoiler>. В офисе предполагается, что это самовывоз. Т.е. покупатель стоит непосредственно перед вами, и вы, пробивая чек, сразу из ФР его берете и отдаете покупателювкладке '''Заказы''' в карточке заказа.
Потенциально могут быть еще небольшие различия === 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) =
Ошибка тега 1226 означает, что не был передан ИНН поставщика.
# Передан признак агента.
# ИНН поставщика указан в карточке клиента в Measoft или в контейнере вложения в [[API#Описание элементов для оформления заказа|API-запросе]] (параметр <code>suppINN</code>).
# Наименование поставщика указано в карточке клиента в Measoft (поле '''[[Клиенты и партнеры#Реквизиты|'''Полное наименование]]''']]) или в контейнере вложения в API-запросе (параметр <code>suppcompany</code>).
Приоритет имеет значение, указанное в контейнере вложения.

Навигация