Przejdź do głównej zawartości

Możliwość pracy z dowolnymi zsynchronizowanymi danymi

Począwszy od API V8PreviewV7, możliwa stała się praca z dowolnymi danymi. Dane te są na żywo i synchronizowane między terminalami dla wtyczek z określonym moduleId.

AddOrUpdateCustomData - dodawanie/aktualizacja danych według klucza. Wprowadzono ograniczenia dotyczące rozmiaru danych, liczby kluczy oraz długości klucza zapisywanych przez wtyczki. Długość klucza nie przekracza 512 znaków. Długość wartości nie przekracza 32768 znaków. Liczba kluczy, które wtyczka może zapisać, nie przekracza 1024.

TryGetCustomData - pobieranie danych według klucza. Jeśli dla takiego klucza nie ma danych, zwracana jest wartość null.

TryRemoveCustomData - usuwanie danych według klucza. Jeśli dane nie zostały znalezione, zwracana jest wartość false.

ClearCustomData - usuwanie wszystkich kluczy zapisanych przez wtyczkę.

GetAllCustomData - pobranie wszystkich danych dla wtyczki.

Istnieje automatyczne czyszczenie danych, które następuje po zamknięciu zmiany kasowej. Jeśli dane nie były używane przez pewien czas (domyślnie 3 dni, kontrolowane przez opcję w config.xml - customDataObsolescenceDuration), wtyczka zostanie o tym powiadomiona poprzez subskrypcję BeforeCustomDataClear. W powiadomieniu wtyczka otrzymuje słownik klucz-dane, do których nie miała dostępu przez długi czas. W odpowiedzi wtyczka powinna zwrócić klucze, które chce zachować. Jeśli wtyczka nie subskrybuje powiadomienia, „stare” dane zostaną usunięte. Ostatnia aktualizacja dostępu do danych jest wywoływana przez następujące wywołania: AddOrUpdateCustomData, TryGetCustomData, GetAllCustomData.