Онлайн-чеки, которые были предварительно сформированы во внешней системе, размещаются на кассовом сервере в БД Dictionaries в таблице Onlinecheck. Восстановление и оплата онлайн-чеков производится непосредственно в магазине на обычной кассе.

Конфигурирование модуля

Возможность восстановления онлайн-чеков на кассе осуществляется посредством модуля "Онлайн-чеки", который активируется в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecheck.ini в секции [plugins].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
onlineCheckлогический
  • on
  • off
Включение модуля "Онлайн-чеки"По умолчанию off
Пример настройки
[plugins]
; Подключаемые модули
; on - модуль включен, off - выключен.
; по умолчанию все модули выключены
...
; Онлайн-чеки
;onlineCheck = off

Работа с онлайн-чеками осуществляется посредством направления на кассовый сервер REST-запросов. 

Настройки модуля работы с онлайн-чеками производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecheck.ini в секции [OnlineCheck].

НаименованиеТип данныхОписаниеПримечания

url

строковый

URL хранения онлайн-чеков на кассовом сервере


timeoutцелочисленный

Таймаут запроса к сервису

По умолчанию 20 секунд
maskстроковыйМаска для автоматического распознавания идентификатора онлайн-чека
Пример настройки
[OnlineCheck]
; Настройки плагина "Онлайн-чек"

; URL сервиса хранения онлайн-чеков
;url = http://localhost:8080/CSrest/rest/dictionaries

; Таймаут запроса к сервису(в секундах)
; Значение по умолчанию 20
;timeout = 20

; Маска для автоматического распознавания идентификатора онлайн-чека
;mask =

Восстановление онлайн-чеков

Для восстановления онлайн-чека на кассе необходимо в утилите администрирования Yuki настроить клавишу "Восстановить онлайн-чек" с действием COMMAND_ONLINECHECK. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

При необходимости изменения заголовка диалога ввода идентификатора онлайн-чека нужно задать параметр dialogtitle для команды COMMAND_ONLINECHECK. Чтобы изменить текст сообщения диалога ввода идентификатора онлайн-чека нужно указать параметр dialogmessage.

При нажатии клавиши "Восстановить онлайн-чек" в окне кассовой программы выводится окно для ввода данных ID чека. Данные ID чека могут быть введены с квитанции вручную либо считаны при помощи сканера. Чек восстанавливается с исходными данными (товарами, бонусной системой и т.д.). Начисление и списание бонусов осуществляется согласно данным онлайн-чека.

В кассовом ПО Artix добавлена возможность автоматического распознавания идентификатора онлайн-чека при считывании сканером или вводе с клавиатуры. Для этого необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecheck.ini задать маску идентификатора онлайн-чека в параметре mask.

Пример настройки

Если параметр mask=333\d{6}, то при вводе "333123456" вся последовательность символов будет распознана как идентификатор онлайн-чека.

Если параметр mask=333(?<barcode>\d{6}), то при вводе "333123456" префикс "333" будет обрезаться, а "123456" будет являться идентификатором онлайн-чека.

Верификация для карт в онлайн-чеке не производится. Способ ввода для группы карт должен быть установлен "Удаленно".

Операции с восстановленным чеком

Восстановленный чек полностью идентичен обычному документу продажи. Документу присваиваются реквизиты текущего чека.

В восстановленном онлайн-чеке запрещено производить любые модификации – добавление карт, изменение количества и т.д. При восстановлении игнорируется действующая на кассе система лояльности. 

Восстановленный чек может быть сторнирован. При сторнировании чека на экран выводится сообщение "Вы действительно хотите сторнировать весь чек?":

  • в случае отмены программа вернется в режим формирования чека;
  • при подтверждении операции на кассовый сервер отправляется запрос, документу присваивается статус "Не оплачен". Чек можно восстановить повторно.

В онлайн-чеке может быть разрешено сторнирование отдельных позиций. Возможность сторнирования определяется параметром dontChange, который указан в теле чека в БД кассового сервера (БД Dictionaries таблица onlinecheck поле document):

  • при значении true (1) – чек запрещено модифицировать любым способом. При попытке внести изменения на экран кассира выводится сообщение "Модификация онлайн-чека запрещена".
  • при значении false (0) – из чека разрешено удалять отдельные позиции. При попытке внести любые другие изменения на экран кассира выводится сообщение "Разрешено только удаление позиций".

При удалении позиции, которая была оплачена бонусными баллами, будет осуществлен возврат баллов на баланс карты.

При закрытии документа данные чека записываются в БД Documents кассы с текущими реквизитами, на кассовый сервер отправляется запрос и чеку присваивается статус "Оплачен".

Маркированные товары в онлайн-чеке

Для продажи средств индивидуальной защиты через онлайн-чек необходимо заполнение полей tmctype и catalogcode. Поле catalogcode используется для считывания кода номенклатуры из секции [Msiz.Сatalogs] конфигурационного файла /linuxcash/cash/conf/ncash.ini.d/msiz.ini. Если поле catalogcode не заполнено, то при восстановлении чека на экран будет выведена ошибка "Для средства индивидуальной защиты не задан код товарной номенклатуры", восстановление чека невозможно.

Онлайн-чек может содержать обувные и маркированные товары (необходимо заполнение полей tmctype и excisemark):

  • если у позиции в онлайн-чеке заполнено только поле tmctype, то при восстановлении такого чека на экран будет выведен диалог сканирования кода маркировки. При отказе от сканирования кода маркировки, восстановление онлайн-чека невозможно;
  • если у позиции в онлайн-чеке заполнено только поле excisemark, то при восстановлении такого чека сканирование кода маркировки не требуется, товар считается маркированным (в БД Documents таблице Goodsitem позиция фиксируются с типом MARKEDGOODS);
  • если у позиции в онлайн-чеке заполнены поля tmctype и excisemark, то при восстановлении такого чека сканирование кода маркировки не требуется.
Для возврата обувных и маркированных товаров, проданных через онлайн-чек, необходимо включить настройку skipCheckExciseMark в конфигурационных файлах /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [Moot] и /linuxcash/cash/conf/ncash.ini.d/markedgoods.ini в секции [MarkedGoods].

Невозможность восстановления чека

Восстановить отложенный чек невозможно в следующих ситуациях:

  • На кассе имеется открытый документ. При попытке восстановить отложенный чек на экран выводится сообщение "Документ открыт. Восстановление онлайн-чека невозможно".
  • Онлайн-чек был отменен при сторнировании. При попытке восстановления на экран выводится сообщение "Чек отменен".
  • Онлайн-чек был оплачен и закрыт. При попытке восстановления на экран выводится сообщение "Чек уже оплачен".
  • Онлайн-чек был восстановлен на другой кассе. При попытке восстановления на экран выводится сообщение "Чек зарезервирован на другой кассе".
  • Онлайн-чек содержит бонусные воздействия, на кассе отсутствует соответствие карты и группы карт. При попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Карта <номер карты> не найдена".
  • Онлайн-чек содержит бонусные воздействия, на кассе для группы карт задан неверный тип. При попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не найдена бонусная группа карт".
  • В онлайн-чек в БД КС вручную были внесены изменения. При внесении изменений подпись документа нарушается, при восстановлении чека на кассе на экран выводится сообщение "Чек не прошел проверку подлинности".
  • Отсутствует связь с кассовым сервером. В этом случае невозможно получить данные чека, на экран выводится ошибка "Ошибка обращения к серверу".
  • Если в онлайн-чеке не указан тип оплаты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не указан тип онлайн-оплаты".
  • Если в онлайн-чеке сумма оплаты превышает сумму чека, при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Cумма онлайн-оплат превышает сумму чека".
  • Если в онлайн-чеке не указана сумма оплаты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не указана сумма онлайн-оплаты".
  • Если в онлайн-чеке сумма оплаты равна "0", то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Некорректная сумма онлайн-оплаты".
  • Если в онлайн-чеке отсутствуют значения кода и/или наименования валюты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Ошибка разбора ответа от сервера".

  • Если статус онлайн-оплаты чека на кассовом сервере сохранен с ошибкой, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Онлайн-оплата была завершена с ошибкой".

  • Если статус онлайн-оплаты чека на кассовом сервере не подтвержден, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Онлайн-оплата не подтверждена".
  • No labels