Начиная с версии 4.6.213 реализована печать УПД для онлайн-чеков, содержащих карту юридического лица.
Онлайн-чеки, которые были предварительно сформированы во внешней системе, размещаются на кассовом сервере в БД Dictionaries
в таблице Onlinecheck
. Восстановление и оплата онлайн-чеков производится непосредственно в магазине на обычной кассе.
Конфигурирование модуля
Возможность восстановления онлайн-чеков на кассе осуществляется посредством модуля "Онлайн-чеки", который активируется в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/onlinecheck.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
onlineCheck | логический |
| Включение модуля "Онлайн-чеки" | По умолчанию 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
" будет являться идентификатором онлайн-чека.
Верификация для карт в онлайн-чеке не производится. Способ ввода для группы карт должен быть установлен "Удаленно".
Проверка кода магазина при восстановлении онлайн-чека
В кассовом ПО Artix реализована возможность проверки кода магазина при восстановлении онлайн-чека. Данное поведение регулируется параметром verifyShopCode
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecheck.ini
в секции [OnlineCheck]
:
- при значении
true
:- если код магазина, в котором восстанавливается онлайн-чек, не совпадает с кодом магазина, в котором должен быть восстановлен онлайн-чек, то будет выведена ошибка "Невозможно восстановить онлайн-чек. Заказ предназначен для выдачи в магазине
<код> <наименование магазина>
". Онлайн-чек восстановлен не будет, - если код магазина, в котором восстанавливается онлайн-чек, совпадает с кодом магазина, в котором должен быть восстановлен онлайн-чек, то он будет успешно восстановлен.
- если код магазина, в котором восстанавливается онлайн-чек, не совпадает с кодом магазина, в котором должен быть восстановлен онлайн-чек, то будет выведена ошибка "Невозможно восстановить онлайн-чек. Заказ предназначен для выдачи в магазине
- при значении
false
код магазина проверен не будет. Онлайн-чек будет успешно восстановлен.
Наименование | Тип данных | Возможные значения | Описание |
---|---|---|---|
verifyShopCode | логический |
| Проверять код магазина при восстановлении онлайн-чека |
[OnlineCheck] ; Настройки плагина "Онлайн-чек" ... ; Проверять код магазина при восстановлении онлайн-чека ; По умолчанию false ;verifyShopCode = false
Операции с восстановленным чеком
Начиная с версии 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]
.Проверка кодов маркировок при восстановлении онлайн-чека
При восстановлении онлайн-чеков осуществляется проверка кодов маркировок в системе цифровой маркировки "Честный знак".
Если проверка кодов маркировок позиций в онлайн-чеке завершилась успешно, то онлайн-чек будет восстановлен.
Если коды маркировок одной или нескольких товарных позиций из онлайн-чека не прошли проверку в системе цифровой маркировки "Честный знак", то существует возможность сторнировать такие товарные позиции. Данная возможность определяется параметром stornoFailedMarkedPositions
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecheck.ini
в секции [OnlineCheck
]:
- При значении
true
при попытке восстановления онлайн-чека на экран для каждой позиции будут выведены ошибки проверки кодов маркировок, после чего отобразится форма со списком данных позиций. Восстановление онлайн-чека возможно только после их сторнирования. Для сторнирования позиций, не прошедших проверку, необходимо отсканировать код маркировки каждой позиции.
Если после сторнирования позиций, не прошедших проверку:- в онлайн-чеке осталась хотя бы одна позиция, то онлайн-чек будет восстановлен,
- в онлайн-чеке не осталось позиций, то на экран будет выведен диалог "Невозможно восстановить онлайн-чек. Отсутствуют позиции", онлайн-чек восстановлен не будет.
- При значении
false
при попытке восстановления онлайн-чека на экран будет выведена ошибка проверки кода маркировки для первой позиции, которая не прошла проверку, после чего на экран будет выведена ошибка "Невозможно восстановить онлайн-чек. Ошибка проверки кодов маркировок, содержащихся в онлайн-чеке", онлайн-чек восстановлен не будет.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
stornoFailedMarkedPositions | логический |
| Сторнировать маркированные позиции, не прошедшие проверки | По умолчанию false |
[OnlineCheck] ; Настройки плагина "Онлайн-чек" ... ; Сторнировать маркированные позиции, не прошедшие проверки ; По умолчанию false ;stornoFailedMarkedPositions = false
Весовые товары в онлайн-чеке
Для продажи весовых товаров необходимо заполнение параметра isfractionalmeasure
(БД Dictionaries
таблица Onlinecheck
поле document
):
- если у позиции в онлайн-чеке параметр
isfractionalmeasure
имеет значениеtrue
, то при восстановлении такого чека позиция будет добавлена как весовая, - если у позиции в онлайн-чеке параметр
isfractionalmeasure
имеет значениеfalse
или не заполнен, то при восстановлении такого чека позиция будет добавлена как штучная (с окргулением количества до целого числа).
Невозможность восстановления чека
Восстановить отложенный чек невозможно в следующих ситуациях:
- На кассе имеется открытый документ. При попытке восстановить отложенный чек на экран выводится сообщение "Документ открыт. Восстановление онлайн-чека невозможно".
- Онлайн-чек был отменен при сторнировании. При попытке восстановления на экран выводится сообщение "Чек отменен".
- Онлайн-чек был оплачен и закрыт. При попытке восстановления на экран выводится сообщение "Чек уже оплачен".
- Онлайн-чек был восстановлен на другой кассе. При попытке восстановления на экран выводится сообщение "Чек зарезервирован на другой кассе".
- Онлайн-чек содержит бонусные воздействия, на кассе отсутствует соответствие карты и группы карт. При попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Карта <номер карты> не найдена".
- Онлайн-чек содержит бонусные воздействия, на кассе для группы карт задан неверный тип. При попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не найдена бонусная группа карт".
- В онлайн-чек в БД КС вручную были внесены изменения. При внесении изменений подпись документа нарушается, при восстановлении чека на кассе на экран выводится сообщение "Чек не прошел проверку подлинности".
- Отсутствует связь с кассовым сервером. В этом случае невозможно получить данные чека, на экран выводится ошибка "Ошибка обращения к серверу".
- Если в онлайн-чеке не указан тип оплаты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не указан тип онлайн-оплаты".
- Если в онлайн-чеке сумма оплаты превышает сумму чека, при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Cумма онлайн-оплат превышает сумму чека".
- Если в онлайн-чеке не указана сумма оплаты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Не указана сумма онлайн-оплаты".
- Если в онлайн-чеке сумма оплаты равна "0", то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Некорректная сумма онлайн-оплаты".
Если в онлайн-чеке отсутствуют значения кода и/или наименования валюты, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Ошибка разбора ответа от сервера".
Если статус онлайн-оплаты чека на кассовом сервере сохранен с ошибкой, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Онлайн-оплата была завершена с ошибкой".
- Если статус онлайн-оплаты чека на кассовом сервере не подтвержден, то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Онлайн-оплата не подтверждена".
- Если время согласования онлайн-чека на кассовом сервере истекло (статус
EXPIRED
), то при попытке восстановления чека на экран выводится ошибка "Невозможно восстановить онлайн-чек. Время согласования чека истекло". Статусы онлайн-чеков размещаются на кассовом сервере в БДDictionaries
в таблицеOnlinecheck
в полеstate
. - Если произошла ошибка проверки кода маркировки позиции в онлайн-чеке, то при попытке восстановления чека то на экран выводится ошибка "Невозможно восстановить онлайн-чек. Ошибка проверки кодов маркировок, содержащихся в чеке".