Публичное пространство
Маркировка и МРЦ ◾️ Фоновая проверка марок
https://crystals.atlassian.net/browse/SRTB-10260
https://crystals.atlassian.net/browse/CR-15181
10.4.26.0
Описание
Функциональность включает фоновую (асинхронную) валидацию марок при добавлении маркированных товаров в чек, чтобы товар попадал в чек сразу после сканирования, без ожидания ответа от сервисов проверки. Если при сканировании товаров превышена квота на добавление товаров с некорректными марками, касса немедленно блокирует добавление следующего товара, не дожидаясь перехода к расчету/подитогу. Перед переходом к расчету/подитогу касса синхронизирует окончательное решение по корректности марок, чтобы не допустить завершения чека с ошибочными марками.
Ценность
Фоновая проверка снижает задержку при сканировании (валидация может занимать до ~3 секунд) и ускоряет обслуживание на кассе при массовой доле маркированных товаров. При этом контроль соблюдения правил продажи сохраняется за счет блокирующей обработки проблемных марок и обязательного ожидания завершения проверок перед расчетом.
Пример работы
Кассир сканирует код маркировки (КМ) товара.
Касса выполняет быстрые проверки: валидность формата КМ и поиск товара по GTIN.
Если быстрые проверки прошли — касса сразу добавляет товар в чек, сохраняя КМ в плагинных свойствах и устанавливая статус марки
AWAITING_RESULT(товар “условно добавлен”).Касса ставит КМ в очередь и отправляет на проверку во все подключенные сервисы валидации.
По мере получения ответов статус марки меняется на:
OK— марка прошла проверки;ERROR— марка не прошла хотя бы одну проверку.
Если количество проблемных марок превысило порог (N) (настройка
maxProblemMarksWithAsyncValidation) и стало (N+1) — касса блокирует добавление новых товаров и переводит пользователя в сценарий удаления проблемных позиций (сканированием марок) либо аннулирования чека.При переходе к расчету/подитогу касса проверяет, что нет марок в
AWAITING_RESULT(показывает ожидание), и что все марки имеют статусOK— иначе запускает обработку проблемных позиций.
Настройки
Выполните настройки ниже, чтобы включить фоновую валидацию марок и (при необходимости) включить резервирование марок разливного пива в SetMark.
1. Выполните скрипт на сервере SetCentrum/SetRetail10 в базе данных set для установки значения в настройке maxProblemMarksWithAsyncValidation максимального количества проблемных марок при фоновой проверке:
UPDATE sales_management_properties
SET property_value = '1',
send_status = 0
WHERE property_key = 'maxProblemMarksWithAsyncValidation';Значение настройки определяет:
Касса допускает указанное количество проблемных марок, продолжая добавлять товары без блокирующих ошибок.
Установите значение
0, если требуется отключить функциональность (тогда товар добавляется в чек только после успешной синхронной валидации).Установите значение больше
0, если требуется включить функциональность (тогда маркированные товары добавляются без ожидания ответа до появления (N+1) проблемной марки).Применение происходит только с нового чека: если значение было изменено в процессе формирования чека, касса применит его только в следующем чеке.
Поведение при превышении количества
касса заблокирует добавление новых товаров;
будет показано блокирующее уведомление:
Клавиатурная касса/SetTouch: В чеке есть товары, не прошедшие проверку. Удалите товары из чека или аннулируйте чек.
SCO: заголовок Ошибка добавления товаров, текст Ожидайте консультанта для удаления проблемных товаров.
После удаления последней проблемной маркированной позиции касса возвращается к чеку, а на SCO — в режим покупателя. Дальнейшая валидация маркированных товаров в рамках текущего чека выполняется синхронно.
2. Выполните скрипт на сервере SetCentrum/SetRetail10 в базе данных set для установки значения в настройке enableDraftBeerReservationInSetMark для включения резервирования марок разливного пива в SetMark на кассах:
UPDATE sales_management_properties
SET property_value = 'true',
send_status = 0
WHERE property_key = 'enableDraftBeerReservationInSetMark';
4. Перезагрузите кассовый модуль.
Ограничения
Функциональность только для чеков продажи.