Публичное пространство
SetKit ◾️ Статусы для заказов через выдачу для нефискальных документов
https://crystals.atlassian.net/browse/SRTF-410
https://crystals.atlassian.net/browse/SRTF-367
https://crystals.atlassian.net/browse/CR-13566
10.4.18.0
- 1 Описание
- 2 Ценность
- 3 Настройка
- 4 Описание статусов
- 5 Работа клавиатурных и SetTouch
- 6 SetKit: выдача предоплаченных заказов на кассе
- 6.1 Назначение функциональности
- 6.2 Основные статусы заказа
- 6.3 Настройка нефискального документа
- 6.4 Сценарий обработки заказа
- 6.5 Сценарий для неоплаченного заказа
- 6.6 Сценарий для предоплаченного заказа
- 6.7 Блокировка повторной выдачи
- 6.8 Экспорт нефискального документа
- 6.9 Ограничения
- 6.10 Ожидаемый результат
Описание
Функциональность позволяет получать информацию о статусах заказов: “в сборке”, “предоплаченный”, “выдается”, чтобы реализовать возможность выдавать предоплаченные заказы на кассе без фискального чека, что помогает уменьшить стоимость арендной платы за помещение.
Ценность
Позволяет экокномить финансовые затраты ритейлера.
Настройка
Для включения функциональности выполните скрипт на сервере SetCentrum/SetRetail10 в базе set для добавления поведения заказа при нефискальном документе в заказе:
SELECT add_property(
'CASH_NON_FISCAL_DOC',
NULL,
'ORDER_PICKUP',
'Выдача заказа без чека',
'Выдача оплаченного заказа на кассе без чека',
10,
2,
0
);Описание статусов
Статус заказа в Set Kit IN_ASSEMBLY - заказ собирается.
Статус заказа, который необходим для понимания при запросе с кассы, в каком статусе находится заказ, а также для понимания количества при запросе информации по всем статусам (метод status-info)
Статус заказа в Set Kit READY_TO_PICKUP - предоплаченный заказ готов к выдаче.
На кассе (должен также участвовать в status-info)
Статус заказа в Set Kit PICKUP - заказ выдаётся.
Предоплаченный заказ в данный момент выдается на кассе (должен также участвовать в status-info)
Работа клавиатурных и SetTouch
При получении заказа в статусе READY_TO_PICKUP касса переводится автоматически в нефискальный режим и формирует нефискальный документ.
Перевод в нефискальный режим доступен всем пользователям, которые поднимают номер мягкого чека со статусом READY_TO_PICKUP.
Добавлен код (тип) нефискального документа, который будет сформирован для такого заказа, из списка настроенных типов нефискальных документов
Например:
module_name = CASH_NON_FISCAL_DOC;
property_key = ORDER_PICKUP;
property_value = "Выдача заказа без чека";
"Выдача оплаченного заказа на кассе без чека"
После поднятия мягкого чека на кассе в статусе READY_TO_PICKUP заказу в SetKit установливается новый статус PICKUP.
при получении статуса заказа PICKUP в момент выдачи на одной кассе, запрещается выдача этого же заказа на другой и вывести предупреждение, что заказ выдается на другой кассе и не добавлять заказ в чек.
точно такая же логика для статуса заказа IN_ASSEMBLY, запретить выдачу на другой кассе и вывести соответствующее сообщение
После регистрации/печати нефискального документа такого заказа, в Set Kit устанавливается ему статус.
Регистрация заказа, т.е. регистрация нефискального документа происходит при выборе “Выдать документ“ или отдельной кнопки печати нефискального документа с составом чека.
При отмене регистрации документа статус в Set Kit возвращается обратно на READY_TO_PICKUP.
Нефискальный документ должен выгружаться в ERP средствами веб-сервиса экспорта на стороне SetRetail10.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<purchases count="1">
<purchase tabNumber="1" userName="Администраторов Администратор Администраторович" operationType="true" cashOperation="INCOME" operDay="2021-12-28+03:00" shop="1488" cash="61" shift="73" number="55" saletime="2021-12-28T14:17:16.641+03:00" begintime="2021-12-28T14:16:47.764+03:00" amount="900.00" discountAmount="0.00" inn="7802781104" status="NONFISCAL">
<plugin-property key="NON_FISCAL_DOCUMENT_TYPE" value="ORDER_PICKUP"/>
Алгоритм работы с новыми статусами
Из OMS/ERP системы поступает заказ в SetKit;
В SetKit заказу присваивается уникальный guid и дополнительные параметры для хранения информации о заказе;
Заказу присвоится статус
CREATED;
На кассу спускается новый заказ в статусе “создан“ и сотрудник, отвечающий за заказы, может начать работу по сборке заказов
Когда сотрудник приступает к сборке где-то на складе, то внешняя система работы с заказами присваивает статус -
IN_ASSEMBLY;Когда заказ собран, заказам присваиваются статусы, в зависимости от оплаты:
READY_TO_PAYMENTИЛИREADY_TO_PICKUP;
Внешняя система работы с заказами оповещает покупателя о том, что можно забрать заказ
Покупатель приходит забрать заказ и кассир вызывает операцию поиска мягкого чека
Кассир вводит номер заказа в форму поиска мягкого чека:
Ветка 1. Если заказ не оплачен, статус - | Ветка 2. Если заказ оплачен, статус - |
|---|---|
|
|
Ограничения
Переход в нефискальный документ с типом - выдача заказа не доступен через меню, в него можно перейти только после ввода номера заказа со статусом READY_TO_PICKUP. Соответственно в меню выбора типа нефискального документа не отображается новый тип - “ORDER_PICKUP";
На кассе должен быть документ для отображения таких заказов
home/tc/storage/crystal-cash/modules/fiscalPrinterModule/templates/order-pickup.xmlОтображение мягкого чека производится через тег
softchecknumber, состав чека, его сумму, оплаты.
На кассе нельзя выдается заказ в статусе
READY_TO_PICKUP, который был частично оплачен, т.к. такие заказы не могут быть выданы логически.Повтор нефискального документа невозможен.
Данная реализация подразумевает работу только на клавиатурных кассах и кассах SetTouch.
На кассе SCO данный функциональность недоступна.
В данной реализации предусмотрен пропуск сканирования марок для нефискального режима уже оплаченных заказов если в составе заказа марки указаны. Т.е. если в составе заказа были переданы марки, то на этапе выдачи заказа на кассе в статусе READY_TO_PICKUP не будет происходить дополнительная проверка в ЧЗ и в других дополнительных системах проверки (Set Mark и т.п.) предполагается что марки были проверены на этапе формирования заказа и будут списаны на этапе закрывающего фискального чека в ерп системе (или в сторонней онлайн кассе).
Соответственно, если заказ был получен в статусе READY_TO_PAYMENT то все проверки марок осуществляются как раньше, т.е. остаются такие же как и до текущей доработки.
Если в составе заказа есть маркированные товары но в блоке марок у позиций не указаны марки, то касса запросит сканирование марки предоставлении заказа в чек на кассе. При этом будет проведена полноценная проверка марки во всех настроенных системах.
SetKit: выдача предоплаченных заказов на кассе
Фича SetKit расширяет сценарий работы с заказами в SetRetail10: касса получает из SetKit актуальный статус заказа и корректно обрабатывает выдачу предоплаченного заказа без формирования фискального чека. Для такого сценария используется нефискальный документ с типом ORDER_PICKUP.
Материалы подготовлены с учетом требований TechWriters Style Guide и описывают пользовательский сценарий, настройки, статусы, ограничения и ожидаемое поведение кассы.
Назначение функциональности
Функциональность предназначена для выдачи на кассе заказов, которые уже оплачены во внешней системе. При получении заказа в статусе READY_TO_PICKUP касса автоматически переходит в нефискальный режим и формирует документ выдачи заказа без фискального чека.
Решение позволяет:
выдавать предоплаченные заказы на кассе без повторной фискализации;
отслеживать этапы обработки заказа через статусы SetKit;
блокировать одновременную выдачу одного заказа на разных кассах;
передавать данные о нефискальном документе в ERP через экспорт SetRetail10.
Основные статусы заказа
Статус | Описание | Поведение на кассе |
|---|---|---|
| Заказ создан в SetKit после получения из OMS/ERP. | Заказ доступен для дальнейшей обработки. |
| Заказ находится в сборке. | Касса не должна выдавать такой заказ. Если заказ уже обрабатывается, отображается предупреждение. |
| Заказ собран, но не оплачен. | Касса добавляет заказ в чек, принимает оплату и выполняет стандартную фискальную продажу. |
| Предоплаченный заказ готов к выдаче. | Касса автоматически переходит в нефискальный режим и формирует документ с типом |
| Заказ находится в процессе выдачи. | Повторная выдача на другой кассе блокируется. |
| Заказ выдан покупателю. | Сценарий выдачи завершен. |
Настройка нефискального документа
Для включения сценария выдачи предоплаченного заказа добавьте в базе set на сервере SetCentrum/SetRetail10 поведение нефискального документа:
SELECT add_property(
'CASH_NON_FISCAL_DOC',
NULL,
'ORDER_PICKUP',
'Выдача заказа без чека',
'Выдача оплаченного заказа на кассе без чека',
10,
2,
0
);После настройки касса использует тип нефискального документа ORDER_PICKUP только при обработке заказа со статусом READY_TO_PICKUP. Переход в этот тип документа через меню кассы недоступен.
Сценарий обработки заказа
OMS/ERP передает заказ в SetKit.
SetKit присваивает заказу уникальный GUID, сохраняет дополнительные параметры и устанавливает статус
CREATED.Сотрудник начинает сборку заказа. Внешняя система переводит заказ в статус
IN_ASSEMBLY.После сборки заказ получает один из статусов:
READY_TO_PAYMENT— заказ требуется оплатить на кассе;READY_TO_PICKUP— заказ уже оплачен и готов к выдаче.
Покупатель приходит за заказом, кассир выполняет поиск мягкого чека по номеру заказа.
Касса получает статус заказа и запускает соответствующий сценарий обработки.
Сценарий для неоплаченного заказа
Если заказ получен в статусе READY_TO_PAYMENT, касса обрабатывает его как стандартный заказ к оплате:
Заказ добавляется в чек.
SetKit переводит заказ в статус
PAYMENT.Кассир сканирует марки товаров, если они есть в составе заказа.
Касса рассчитывает сумму к оплате.
Покупатель оплачивает заказ.
Кассир выдает заказ покупателю.
Сценарий для предоплаченного заказа
Если заказ получен в статусе READY_TO_PICKUP, касса выполняет выдачу без фискального чека:
Касса проверяет, что заказ полностью оплачен. Частично оплаченный заказ в статусе
READY_TO_PICKUPне выдается.Касса автоматически переходит в нефискальный режим.
Формируется нефискальный документ с типом
ORDER_PICKUP.После начала выдачи SetKit переводит заказ в статус
PICKUP.Кассир проверяет состав заказа и при необходимости сканирует марки.
Кассир нажимает кнопку выдачи заказа.
SetKit переводит заказ в статус
COMPLETED.Кассир передает заказ покупателю.
Блокировка повторной выдачи
Если заказ находится в статусе PICKUP или IN_ASSEMBLY, касса не должна добавлять его в чек для выдачи на другой кассе. Пользователю отображается предупреждение о том, что заказ уже обрабатывается или еще не готов к выдаче.
При отмене регистрации нефискального документа статус заказа в SetKit возвращается на READY_TO_PICKUP.
Экспорт нефискального документа
Нефискальный документ по выдаче заказа выгружается в ERP средствами веб-сервиса экспорта SetRetail10. В выгрузке должен передаваться тип документа:
<plugin-property key="NON_FISCAL_DOCUMENT_TYPE" value="ORDER_PICKUP"/>Ограничения
Тип нефискального документа
ORDER_PICKUPне отображается в меню выбора нефискальных документов и доступен только из сценария выдачи заказа.На кассе должен быть настроен шаблон документа
home/tc/storage/crystal-cash/modules/fiscalPrinterModule/templates/order-pickup.xml.Повтор нефискального документа невозможен.
Функциональность доступна для клавиатурных касс и SetTouch.
На SCO сценарий не поддерживается.
Частично оплаченный заказ в статусе
READY_TO_PICKUPне может быть выдан.Если марки переданы в составе предоплаченного заказа, касса может пропустить дополнительное сканирование при выдаче. Предполагается, что марки были проверены на этапе формирования заказа и будут списаны закрывающим фискальным чеком в ERP или сторонней онлайн-кассе.
Если в заказе есть маркированные товары, но марки не переданы, касса запросит сканирование марки и выполнит полноценную проверку во всех настроенных системах.
Ожидаемый результат
Кассир может корректно выдать предоплаченный заказ через SetKit без формирования фискального чека. Статусы заказа синхронизируются между кассой и SetKit, повторная выдача блокируется, а данные о нефискальном документе передаются в ERP.