Публичное пространство
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 не приводит к расконсервации кассы.
Так же вызов “Новой кассы“ не должен запускать загрузку справочников на законсервированную кассу.
Пример сценария работы
Касса переходит в состояние не на связи.
Когда касса находится в состоянии не на связи установленный тайм-аут времени (по умолчанию - 7 дней).
Статус:
касса автоматически консервируется на сервере SetCentrum.
Если это сервер SetRetail - событие о консервации отправляется на SetCentrum.
Логируется событие автоконсервация.
Очищаются все имеющиеся транспортные очереди транспорта справочников на кассу.
Запрещено создание новых транспортных потоков на кассу.
В визуализации (магазин → настройки магазина → кассы) данная касса в состоянии “Автоматическая консервация”
В топологии 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, ООО «Кристалл Сервис Интеграция».
Все права защищены..