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

SetRetail10 ◾️ Автоконсервация касс

SRTS-1124 - Получение подробных данных проблемы… СТАТУС

CR-10085 - Получение подробных данных проблемы… СТАТУС

10.4.3.0

Описание

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

Ценность

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

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

Логика

1. При наступлении тайм-аута (изменяемый параметр, по умолчанию - 7 дней), во время которого касса находится не на связи с сервером, касса консервируется на сервере с логированием времени и причины события. При этом:

  • очищаются все имеющиеся транспортные очереди справочников на кассу на сервере;

  • запрещается создание новых транспортных потоков на кассу, поступающих на сервер из любых источников:

    • ERP;

    • изменения в визуализации сервера;

    • загрузка данных из SetCentrum на SetRetail;

    • вызов “Новой кассы“ для законсервированной кассы с самой кассы и с сервера;

  • в ESB очереди не очищаются.

2. Статус кассы отличает от ручной консервации. В базе данных set на сервере SetRetail/SetCentrum в таблице cash_cash статус законсервированной вручную кассы - CLOSED_DOWN (Законсервирована). Для автоконсервации статус OFFLINE_DOWN.

  • В визуализации сервера данный статус тоже отличается по названию, при OFFLINE_DOWN пользователю будет отображатсья Автоматическая консервация.

3. Правило автоконсервации действует для всех типов данных, отправляемых на кассу, аналогично со статусом Законсервирована.

4. Тайм-аут, после которого сервер вызывает метод консервации кассы, должен имеет 3 настройки в таблице sales_management_properties:

  • Включение/отключение автоконсервации, по умолчанию включена.

  • Срок в днях, после которых выполняется автоконсервация кассы (если параметр NULL, EMPTY или невалиден, то срок равен параметру cleaner.messages.time.to.live.in.days). По умолчанию 7 дней.

  • Время в течение суток, в которое будет срабатывать планировщик по поиску и консервации касс, в формате чч:мм:сс. По умолчанию 02:00:00.

  • Настройки автоконсервации касс должны загружаться с SetCentrum на SetRetail.

5. Срок, после которого сервер будет консервировать кассу, должен высчитываться от даты в таблице od_cash_status в БД set_operday, т.к. кассы присылают своё состояние раз в 2 минуты, эта дата будет всегда актуальной.

5.1. Сервер SetCentrum при автоконсервации всегда проверянт тип магазина, на котором находится касса.

  • Если касса на виртуальном магазине и на Centrum записи в od_cash_status по данной кассе ЕСТЬ, то процесс автоконсервации будет выполняться.

  • Если касса не на виртуальном магазине (т.е. на физическом SetRetail), и на SetCentrum записи в od_cash_status по данной кассе ОТСУТСТВУЮТ, то процесс автоконсервации НЕ будет выполняться (чтобы не законсервировать все кассы на SetCentrum в топологии SetCentrum ↔ SetRetail).

6. При переходе кассы в статус автоконсервации на сервере SetRetail в топологии SetCentrum ↔ SetRetail ↔ POS на сервер SetCentrum будет отправляться статус кассы, чтобы не возникло расхождений.

7. На сервере ручная расконсервация кассы из статуса автоконсервации не отличается для касс в статусе ручной консервации CLOSED_DOWN.

8. При расконсервации кассы на SetCentrum в визуализации (кнопка Активировать) на сервер SetRetail отправится статус ACTIVE, касса выйдет из статуса консервации.

8.1. При переводе кассы из статуса автоконсервации OFFLINE_DOWN и обычной консервации CLOSED_DOWN в статус Активна на SetCentrum (или на SetRetail, не подключенном к Centrum) пользователю будет отображено модальное окно с информацией:


Внимание!
Выполните процедуру расконсервации кассы для актуализации справочников и очистки устаревших данных.
Инструкция: SetRetail10 ▪️ Касса ◾️ Консервация и расконсервация
При несоблюдении инструкции возможны расхождения в данных и некорректная работа кассы!

9. Соблюдается, что, если с сервера SetCentrum на сервер SetRetail приходит статус кассы с автоконсервацией, сервер SetRetail проигнорирует такое обновление статуса. Любые другие изменения статусов соблюдается.

  • При вызове Новый магазин, если по какой-либо причине на сервере SetCentrum касса находится в статусе автоконсервации, но на SetRetail касса в любом другом статусе, статус не поменяется.

10. Соблюдается ограничение, если сервер SetRetail подключен к серверу SetCentrum, перевести кассу из состояния автоконсервации в статус Активна можно только с сервера SetCentrum.

Дополнительные информация

  • Транспорт сообщений с SetRetail на SetCentrum о состоянии консервации кассы работает по файловому транспорту и SetESB.

    • На сервер SetCentrum должны отправляются изменения статусов касс. Отсутствует периодическая отправка статусов без изменений данных.

  • Вызов Новой кассы с самой кассы, с сервера SetRetail или SetCentrum в топологии SetCentrum ↔ POS не приводит к расконсервации кассы.

    • Так же вызов “Новой кассы“ не должен запускать загрузку справочников на законсервированную кассу.

Пример сценария работы

  1. Касса переходит в состояние не на связи.

  2. Когда касса находится в состоянии не на связи установленный тайм-аут времени (по умолчанию - 7 дней).

  3. Статус:

    1. касса автоматически консервируется на сервере SetCentrum.

      1. Если это сервер SetRetail - событие о консервации отправляется на SetCentrum.

    2. Логируется событие автоконсервация.

    3. Очищаются все имеющиеся транспортные очереди транспорта справочников на кассу.

    4. Запрещено создание новых транспортных потоков на кассу.

    5. В визуализации (магазин → настройки магазина → кассы) данная касса в состоянии “Автоматическая консервация”

  4. В топологии SetCentrum ↔ SetRetail при переходе кассы в статус консервации на SetRetail изменения передаются на SetCentrum.

Настройки

Все настройки хранятся в на сервере SetCentrum/SetRetail в базе данных set таблице sales_management_properties.

  • cash.auto.conservation.enabled = true - Включена ли автоконсервация касс на сервере

  • cash.auto.conservation.time = 02:00 - Время в формате HH:mm в которое запускается таймер автоконсервации касс

  • cash.auto.conservation.ttl = 7 - Срок в днях, после которого выполняется автоконсервация кассы. Если не задана или задана невалидное значение - попытается взять значение настройки cleaner.messages.time.to.live.in.days. Если и эта настройка не задана, либо невалидна - будет взято значение по-умолчанию - 7.

© 1994-2024, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных