Маркировка и МРЦ ◾️ Разливное пиво. Получение объема кега из ответа от Честного знака

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

Маркировка и МРЦ ◾️ Разливное пиво. Получение объема кега из ответа от Честного знака

 

https://crystals.atlassian.net/browse/SRTB-8883

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

10.4.14.0

Описание

При постановке кега на кран касса считывает информацию о его объеме из марки. Если данные отсутствуют, касса запрашивает ручной ввод объема, что повышает риск ошибок. Начиная с версии 10.4.14.0 объем кега может быть получен из ответа от сервиса Честного знака. Также реализован обязательный ввод объема при постановке кега на кран вручную.

Ценность

  • Обеспечение соответствия объема, переданного на кассу или в SetMark, с объемом кега, указанным в сервисе ЧЗ

  • Корректный расчет остатка пива в кеге

  • Контроль выбытия маркированного разливного пива в соответствии с законодательными требованиями.

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

1. В БД в таблицу sales_management_properties добавлена настройка "Брать объем кега из ЧЗ" (get.volume.from.true.api):

  • Настройка включена (get.volume.from.true.api=true):

    • При отсутствии объема в КМ информация об объеме берется в сервисе ЧЗ.

    • Если объем отсутствует и в КМ, и в ответе от ЧЗ, то касса предлагает ввести объем кега вручную.

  • Настройка выключена (get.volume.from.true.api=false):

    • В случае отсутствия объема в КМ касса предлагает ввести объем вручную.

2. Полученный объем записывается в хранилище:

  • если включен режим работы с SetMark - БД setmark → таблица active_marks_volumed

  • если используется локальное хранение марок - БД catalog → таблица cg_mark_item_relation.

3. При ручном вводе объема касса запрещает постановку кега, если объем не указан:

  • Если кассир ввел ноль или оставил форму пустой, касса отображает предупреждение "Постановка кега на кран без объема запрещена. Желаете ввести объем заново?" с вариантами Продолжить (на POS) / Подтвердить (SetTouch) и Отменить.

    • при выборе Продолжить касса возвращается к вводу объема;

    • при выборе Отменить касса отменяет постановку кега.

 

Приоритет выбора объёма при постановке кега:

  1. из марки;

  2. из сервиса Честного знака;

  3. ручной ввод.

 

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

Подтверждение объема кега, полученного из ответа от ЧЗ

SetTouch

1. Кассир нажимает кнопку Замена кега.

2. Касса запрашивает сканирование марки. 

3. Кассир сканирует КМ кега. В КМ отсутствует объем кега.

4. Касса обращается в ЧЗ для проверки КМ кега.

5. Касса получает из ответа ЧЗ объем кега.

6. Касса отображает сообщение о привязке КМ → кассир нажимает Ok.

7. Касса сохраняет объем кега в хранилище:

  • если используется SetMark - БД setmark → таблица active_marks_volumed

  • если используется локальное хранение марок - БД catalog → таблица cg_mark_item_relation.

Клавиатурная касса

1. Кассир выбирает пункт меню Замена кега.

2. Касса запрашивает сканирование марки. 

3. Кассир сканирует КМ кега. В КМ отсутствует объем кега.

4. Касса обращается в ЧЗ для проверки КМ кега.

5. Касса получает из ответа ЧЗ объем кега.

6. Касса отображает сообщение о привязке КМ → кассир нажимает ВВОД.

7. Касса сохраняет объем кега в хранилище.

Ручной ввод объема кега

SetTouch

1. Кассир нажимает кнопку Замена кега.

2. Касса запрашивает сканирование КМ кега.

3. Кассир сканирует КМ с кега. Касса обращается в ЧЗ для проверки КМ.

4. Касса получает стандартный ответ от ЧЗ. 

5. Касса не получает из ответа ЧЗ объем кега и предлагает кассиру ввести объем вручную.

6. Кассир в открывшемся поле для ввода объема устанавливает 0 → нажимает СОХРАНИТЬ.

7. Касса запрещает постановку кега на кран без объема. Кассир выбирает Подтвердить.

8. Касса отображает поле для ввода. Кассир вводит значение объема > 0 → нажимает СОХРАНИТЬ.

9. Касса отображает сообщение о привязке КМ → кассир нажимает Ok.

10. Касса сохраняет объем кега в хранилище.

Клавиатурная касса

1. Кассир выбирает пункт меню Замена кега.

2. Касса запрашивает  сканирование КМ кега.

3. Кассир сканирует КМ с кега. Касса обращается в ЧЗ для проверки КМ.

4. Касса получает стандартный ответ от ЧЗ. 

5. Касса не получает из ответа ЧЗ объем кега и предлагает кассиру ввести объем вручную.

6. Кассир в открывшемся поле для ввода объема устанавливает 0 или оставляет поле пустым → нажимает ВВОД.

7. Касса запрещает постановку кега на кран без объема. Кассир выбирает Продолжить.

8. Касса отображает поле для ввода. Кассир вводит значение объема > 0 → нажимает ВВОД.

9. Касса отображает сообщение о привязке КМ.

10. Касса сохраняет объем кега в хранилище.

Ограничения

  1. Логика работы с CDN-хостами, завязанная на запросы к ЧЗ, работает так же, как при обычной валидации позиции.

  2. На этапе постановки кеги на кран марка не валидируется, производится только получение объема кега из ответа от ЧЗ.

Настройка

Для включения функциональности выполните в базе данных

set. Перезагрузите кассовый модуль.

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