Начиная с версии 4.6.213 реализована печать УПД для онлайн-чеков, содержащих карту юридического лица.

Онлайн-чеки, которые были предварительно сформированы во внешней системе, размещаются на кассовом сервере в БД 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" будет являться идентификатором онлайн-чека.

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

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

Начиная с версии 4.6.243 объединение позиций при восстановлении онлайн-чека не производится.

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

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

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

  • в случае отмены программа вернется в режим формирования чека,
  • при подтверждении операции документу присваивается статус "Не оплачен", статус отправляется на кассовый сервер (БД Dictionaries в таблице Onlinecheck в поле state) через очередь сообщений Artix-Queue. Чек можно восстановить повторно.

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

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

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

При закрытии документа данные чека записываются в БД кассы (Documents таблица Document) с текущими реквизитами, документу присваивается статус "Оплачен". Статус отправляется на кассовый сервер (БД Dictionaries таблица Onlinecheck поле state) через очередь сообщений Artix-Queue.

Идентификационный номер документа-основания для операций в БД кассы (Documents таблица Document поле sourceidentifier) заполняется идентификатором документа из тела чека, полученного из БД кассового сервера (Dictionaries таблица Onlinecheck поле documentid).

Замена товара в онлайн-чеке

Для замены товара в онлайн-чеке на кассе необходимо в утилите администрирования Yuki на клавишу настроить действие "Замена товара в онлайн-чеке" с командой COMMAND_REPLACE_GOODS_ITEM. О настройке действий подробнее можно прочитать в разделе "Настройка действий". Для онлайн-чека должна быть разрешена модификация (параметр dontChange=false).

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

После нажатия клавиши "Замена товара в онлайн-чеке":

  • для замены обычного товара в окне кассовой программы выводится диалог "Сканирование штрих-кода. Отсканируйте штрих-код товара для замены". Штрих-код товара для замены может быть введен вручную или считан при помощи сканера.
    Если был отсканирован верный штрих-код, то осуществляется замена товара. Заменяется наименование и штрих-код позиции, количество и цена остаются неизменными. 
  • для замены маркированного или обувного товара в окне кассовой программы выводится диалог "Замена товара. Отсканируйте код маркировки заменяемого товара". После сканирования кода маркировки заменяемого товара в окне кассовой программы выводится диалог "Замена товара. Отсканируйте код маркировки товара, на который производится замена". Если был отсканирован верный код маркировки (с корректным штрих-кодом), то будет осуществлена проверка кода маркировки.
    Если проверка пройдена, то в онлайн-чеке осуществляется замена товара. Заменяется наименование и штрих-код позиции, а также код маркировки, цена остается неизменной. Код маркировки, который был заменен, снимается с резерва.

Отправка онлайн-чека на согласование

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

После нажатия клавиши "Согласование онлайн-чека" онлайн-чек будет отправлен на согласование, в окне кассовой программы будет выведено сообщение "Чек отправлен на согласование".

Отправленный на согласование онлайн-чек можно восстановить, если время согласования не истекло.

Средства индивидуальной защиты в онлайн-чеке

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

Алкогольная и табачная продукция, обувные и маркированные товары в онлайн-чеке

Онлайн-чек может содержать алкогольную и табачную продукцию, обувные и маркированные товары. Для этого необходимо заполнение параметров tmctype и excisemark (БД Dictionaries в таблице Onlinecheck в поле document):

  • если у позиции в онлайн-чеке заполнен только параметр 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].

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

Для продажи весовых товаров необходимо заполнение параметра isfractionalmeasure (БД Dictionaries таблица Onlinecheck поле document):

  • если у позиции в онлайн-чеке параметр isfractionalmeasure имеет значение true, то при восстановлении такого чека позиция будет добавлена как весовая,
  • если у позиции в онлайн-чеке параметр isfractionalmeasure имеет значение false или не заполнен, то при восстановлении такого чека позиция будет добавлена как штучная (с окргулением количества до целого числа).

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

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

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

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

  • Если статус онлайн-оплаты чека на кассовом сервере не подтвержден, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Онлайн-оплата не подтверждена".
  • Если время согласования онлайн-чека на кассовом сервере истекло (статус EXPIRED), то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Время согласования чека истекло". Статусы онлайн-чеков размещаются на кассовом сервере в БД Dictionaries в таблице Onlinecheck в поле state.
  • Если произошла ошибка проверки кода маркировки позиции в онлайн-чеке, то при попытке восстановления чека то на экран выводится ошибка "Невозможно восстановить онлайн-чек. Ошибка проверки кодов маркировок, содержащихся в чеке".
  • No labels