Возможность работать с произвольными синхронизируемыми данными
[v8preview7
v8
]
Начиная с API V8PreviewV7 появилась возможность работать с произвольными данными. Эти данные являются оперативными и синхронизируемыми между терминалами для плагинов с конкретным moduleId
.
AddOrUpdateCustomData
- добавление/обновление данных по ключу. Введено ограничение на размер данных, количество ключей и длину ключа, записываемых плагинами. Длина ключа не больше 512 символов. Длина значения не больше 32768 символов. Количество ключей, которые может записать плагин не больше 1024.
TryGetCustomData
- получение данных по ключу. Если данных по такому ключу нет, будет возвращён null
.
TryRemoveCustomData
- удаление данных по ключу. В случае, если данные не были найдены, будет возвращён false
.
ClearCustomData
- удаление всех ключей, которые записал плагин.
GetAllCustomData
- получить все данные для плагина.
Предусмотрено автоматическое очищение данных, которое происходит при закрытии кассовой смены. Если данные не использовались некоторое время (3 дня по умолчанию, контролируется опцией в config.xml - customDataObsolescenceDuration
), то плагин будет уведомлён об этом подписавшись на BeforeCustomDataClear
. В уведомлении плагин получает словарь ключ-данные, к которым он долго не обращался. В качестве ответа плагин должен вернуть ключи, которые он хочет сохранить. Если плагин не подпишется на уведомление, то “старые” данные будут удалены. На обновление последнего доступа к данным влияют следующие вызовы: AddOrUpdateCustomData
, TryGetCustomData
, GetAllCustomData
.