SetKit ◾️ Проверка сборки заказа из весовых и штучно-весовых товаров

Публичное пространство

SetKit ◾️ Проверка сборки заказа из весовых и штучно-весовых товаров

https://crystals.atlassian.net/browse/KIT-188

https://crystals.atlassian.net/browse/CR-12650

SETRETAIL 10.4.9.0

SETKIT 4.6.0

Описание

SetKit предоставляет возможность проверки укомлектованности интернет-заказов путем пересканирования товаров на кассе. Подробнее – в статье Контроль сборки интернет-заказов на кассе.

Начиная с версии 10.4.9.0 реализована возможность учета количества добавляемого весового/штучно-весового товара в режиме полной проверки заказа. Функциональность обеспечивается передачей в мягком чеке признака productsValidation со указанием свойства considerProductQuantity, установленного в значение true. Действие параметра considerProductQuantity распространяется только на весовые и штучно-весовые товары без маркировки.

"productsValidation": { "type": "FULL", "considerProductQuantity": true }


Ценность

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

Логика работы

  1. Действие параметра considerProductQuantity распространяется только на весовые и штучно-весовые товары без маркировки.

  2. Контроль веса товаров происходит в режиме полной проверки заказа (в мягком чеке указан тип проверки FULL).

  3. При восстановлении мягкого чека на кассе выводится список позиций из заказа, ожидающих пересканирование, вместе с весовыми и штучно-весовыми товарами, в том порядке, в котором они переданы в мягком чеке (товары одного SKU должны быть переданы одной позицией, если будут переданы разными, то они будут "схлопнуты" в одну строку с общим весом/количеством на экране проверки).

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

Пример работы

Сценарий 1. Успешная проверка заказа

Состав мягкого чека

Внешняя система присылает в SetKit созданный заказ с передачей признака проверки productsValidation и заданными свойствами:

  • "type":"FULL" - в ходе проверки должны быть отсканированы все позиции из мягкого чека;

  • "considerProductQuantity":true - количество добавляемого весового/штучно-весового товара будет учитываться.

Указаны 3 товарные позиции:

  1. Штучно-весовой товар Пирожок с зеленым луком и яйцом 40г со штрихкодом 2400004 (количество: 2).

  2. Весовой товар Мясо свежее ГОВЯДИНА со штрихкодом 2301100 (количество: 5).

  3. Штучно-весовой товар Пирожок с зеленым луком и яйцом 40г со штрихкодом 2400004 (количество: 4).

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

{ "status":"READY_TO_PAYMENT", "dateCreated":"2024-11-05 14:00", "isEditable":true, "receiptEditable":true, "positionsAddingAllowed":true, "positionsDeletingAllowed":true, "totalPrice":1058.0, "discountsValue":0.0, "productsValidation": { "type": "FULL", "considerProductQuantity":true }, "additionalInfo":"{'orderType':'02','orderId':'03705050'}", "positions":[ { "positionOrder":1, "code":"2400004", "barcode":"2400004", "quantity":2, "unitPrice":20.0, "discountValue":0.0, "totalPrice":40.0, "isFixedPrice":false, "isFixedDiscounts":false }, { "positionOrder":2, "code": "45031", "barcode":"2301100", "quantity":5, "unitPrice":187.60, "discountValue":0.0, "totalPrice":938.0, "isFixedPrice":false, "isFixedDiscounts":false }, { "positionOrder":3, "code":"2400004", "barcode":"2400004", "quantity":4, "unitPrice":20.0, "discountValue":0.0, "totalPrice":80.0, "isFixedPrice":false, "isFixedDiscounts":false } ] }

Работа на клавиатурной кассе

1. Покупатель на кассе предоставляет кассиру номер заказа или номер телефона.

2. Кассир переходит в меню и нажимает кнопку Поиск мягкого чека.

3. Кассир производит поиск заказа (сканирует штрихкод/вводит номер вручную в окне поиска заказа/ищет по номеру телефона покупателя).

4. Касса находит заказ и выводит на экран список товаров для проверки (пересканирования) перед добавлением в кассовый чек.

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

 

5. Кассир сканирует весовую этикетку кусочка мяса весом 2 кг → количество товара в окне кассы уменьшается до 3 кг → кассир сканирует весовую этикетку со второго кусочка мяса весом 3 кг → позиция удаляется из окна проверки и добавляется в кассовый чек.

 

6. Далее кассир сканирует штучно-весовой товар по одной штуке.

 

7. После сканирования последней позиции окно проверки заказа закрывается. Заказ добавлен в кассовый чек.

8. Кассир переходит к расчёту.

Работа на SetTouch

1. Покупатель на кассе предоставляет кассиру номер заказа или номер телефона.

2. Кассир нажимает кнопку вызова мягкого чека.

3. Кассир производит поиск заказа (сканирует штрихкод/вводит номер вручную в окне поиска заказа/ищет по номеру телефона покупателя).

4. Касса находит заказ и выводит на экран список товаров для проверки (пересканирования) перед добавлением в кассовый чек.

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

 

5. Кассир сканирует весовую этикетку кусочка мяса весом 2 кг → количество товара в окне кассы уменьшается до 3 кг → кассир сканирует весовую этикетку со второго кусочка мяса весом 3 кг → позиция удаляется из окна проверки и добавляется в кассовый чек.

 

6. Далее кассир сканирует штучно-весовой товар по одной штуке.

 

7. После сканирования последней позиции окно проверки заказа закрывается. Заказ добавлен в кассовый чек.

8. Кассир переходит к расчёту.

Сценарий 2. Ошибка "Товар не может быть добавлен без указания веса"

1-4. Повторяются шаги из сценария 1.

5. Далее кассир сканирует штрихкод 2301100 товара Мясо свежее ГОВЯДИНА. Касса выводит сообщение: Товар не может быть добавлен без указания веса. Для выполнения проверки требуется отсканировать весовую этикетку товара.

6. Кассир закрывает окно и сканирует весовую этикетку товара. Далее пересканирование товаров заказа проходит аналогично сценарию 1. 

Сценарий 3. Ошибка "Вес товара превышает указанный в заказе"

1-4. Повторяются шаги из сценария 1.

5. Кассир сканирует штрихкод 2301100060009 с весовой этикетки кусочка мяса весом 6 кг (позиция Мясо свежее ГОВЯДИНА). Касса выводит сообщение: Вес товара превышает указанное в заказе. Заказ не прошел проверку.

6. Кассир закрывает окно. Производится замена товара: на один кусочек весом 5 кг или несколько кусочков суммарным весом 5 кг.

Далее пересканирование товаров заказа проходит аналогично сценарию 1. 

Ограничения

  • Функциональность реализована для клавиатурных касс и SetTouch. Не предусматривается работа на системах SCO.

Статьи по теме