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

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

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

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

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

Работа с отложенными чеками осуществляется посредством направления на сервер соответствующих запросов (отложить, изменить, восстановить чек).

Адрес сервиса хранения отложенных чеков указывается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/deferredcheck.ini в секции [DeferredCheck].

Кассовое ПО Artix позволяет настраивать работу программы таким образом, чтобы касса могла использоваться в разных режимах. Особенности работы программы с отложенными чеками определяется параметром onlyDeferredMode в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/deferredcheck.ini в секции [DeferredCheck]:

  • при значении параметра true касса может быть использована только для откладывания документов продажи. Оплата чеков на такой кассе невозможна, при попытке перейти в режим оплаты на экран выводится сообщение "Оплата чека запрещена". При выполнении команды "Отложить чек" программа переходит в режим закрытого документа, минуя оплату;
  • при значении параметра false на кассе доступны операции откладывания и восстановления документов продажи, а также любые другие операции с чеком. При выполнении команды "Отложить чек" программа после отправки данных на сервер и печати квитанции переходит в контекст открытого документа со следующим порядковым номером.
НаименованиеТип данныхВозможные значенияОписаниеПримечания

url

строковый

URL сервиса хранения отложенных чеков

Сервис запускается на кассовом сервере
timeoutцелочисленный
Таймаут ожидания ответа от сервераПо умолчанию 10 секунд

onlyDeferredMode

логический
  • true
  • false

Режим, при котором на кассе можно только откладывать чеки

По умолчанию false

maskстроковый
Маска для автоматического распознавания идентификатора отложенного чека
Пример настройки
[DeferredCheck]
; Настройки модуля "Отложенный чек"
 
; URL сервиса хранения отложенных чеков
url = http://localhost:8080/CSrest/rest/dictionaries

; Таймаут ожидания ответа от сервера
; По умолчанию 10 секунд
;timeout = 10

; Режим, при котором на кассе можно только откладывать чеки. По умолчанию false
;onlyDeferredMode = false

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

Откладывание чека

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

Команда "Отложить чек" может быть выполнена только в режиме формирования чека, если чек открыт, и в режиме подытога при условии, что в чеке отсутствуют оплаты. При попытке выполнить действие в любом другом режиме команда игнорируется, в основной лог программы записывается причина, по которой действие не может быть выполнено. При нажатии клавиши "Отложить чек" программа запрашивает подтверждение на выполнение операции. Если операция подтверждена, то данные чека отправляются на кассовый сервер и на ФР печатается квитанция с ID чека.

Квитанция отложенного чека формируется на основании файла /linuxcash/cash/reports/deferredcheck.xml, в котором указывается объект deferred c параметром id – идентификатор чека. 

Отложенный документ записывается в БД Documents в таблицу Document в поле closed со статусом 3 (отложен).

Отложить и восстановить можно только чек продажи. При нажатии клавиши в режиме возврата на экран выводится ошибка "Только чек продажи может быть отложен".

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

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

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

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

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

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

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

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

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

Восстановленный чек может быть отложен повторно. В этом случае в БД Documents в таблицу Document записывается чек с идентификатором id, который соответствует текущим данным чека, и статусом 3 (отложен). Если в чек были внесены изменения, то они будут записаны в исходный документ, хранящийся на кассовом сервере. При повторном откладывании распечатывается квитанция с первоначальным идентификатором, по которому можно восстановить документ со всеми внесенными изменениями. 

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

  • При подтверждении операции на экран будет выведен диалог "Отменить отложенный чек? Чек нельзя будет повторно восстановить". В случае подтверждения чек будет отменен без возможности восстановления.
  • При отмене операции чек будет сторнирован, но при необходимости его можно восстановить повторно. При сторнировании чека на кассовый сервер отправляется запрос и документу присваивается статус "Отменен".

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

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

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

  • На кассе имеется открытый документ. При попытке восстановления на экран выводится сообщение "Документ открыт. Восстановление отложенного чека невозможно".
  • Отложенный чек был отменен при сторнировании. При попытке восстановления на экран выводится сообщение "Чек отменен".
  • Отложенный чек был оплачен и закрыт. При попытке восстановления на экран выводится сообщение "Чек уже оплачен".
  • Отложенный чек был восстановлен на другой кассе. При попытке восстановления на экран выводится сообщение "Чек зарезервирован на другой кассе".
  • Отсутствует связь с кассовым сервером. В этом случае невозможно получить данные чека, на экран выводится ошибка "Ошибка обращения к серверу".
  • Отложенный чек не найден на кассовом сервере. При попытке восстановления на экран выводится сообщение "Документ с идентификатором <введенный id чека> не найден".

Работа с отложенным чеком в кластерном режиме

Начиная с версии 4.6.140 реализован функционал работы с отложенными чеками в режиме подключения к кластеру.

При использовании кластерного режима возникает необходимость вести отложенные чеки отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при откладывании и восстановлении чека касса отправляет на кассовый сервер запрос, включающий идентификатор отложенного чека и идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini устанавливается ID кластера.

Просмотр отложенных чеков

Для того чтобы в БД не накапливалось большое количество отложенных чеков предусмотрена возможность просматривать и закрывать/сторнировать такие чеки в рамках одного магазина.

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

Команда работает только в режиме формирования документов.

При нажатии клавиши "Просмотр отложенных чеков" на экран кассира выводится окно со списком чеков с указанием номера, идентификатора, времени открытия и суммы чека. Чеки сортируются по времени внесения изменений от поздних к ранним.

Для просмотра доступен список всех чеков, отложенных в магазине, к которому относится касса. Просмотр чеков возможен только в рамках открытой смены.

При нажатии клавиши "Ввод" чек, выбранный из списка, восстанавливается на кассе. Для работы с восстановленным чеком доступны следующие действия:

  • сторнирование;
  • закрытие (проведение продажи по данному чеку);
  • повторное откладывание.

Если при запросе на сервере не будет обнаружено неоплаченных отложенных чеков, то на экран кассира выводится сообщение "В этом магазине нет отложенных чеков".

Просмотр списка отложенных чеков из открытого чека запрещен. На экран кассира в этом случае выводится сообщение "Документ открыт. Восстановление отложенного чека невозможно".

  • No labels