Przejdź do głównej zawartości

Odporność na błędy

Wersja V8Preview6 wprowadza możliwość kontrolowania stanu Głównego Terminala (MT) grupy i, w razie potrzeby, przeniesienia tej roli na inny terminal.

Innowacja składa się z następujących elementów:

  1. Lista terminali rezerwowych;
  2. Śledzenie statusu głównego terminala;
  3. Możliwość ponownej konfiguracji głównego terminala za pomocą API.

Więcej:

  1. W aplikacji Syrve Office w Ustawieniach Sklepu => Ustawienia Grupy można ustawić listę terminali rezerwowych. Terminale te będą terminalami zapasowymi, które mogą przejąć rolę MT w razie potrzeby. Formularz do ustawiania terminali rezerwowych wygląda następująco:

ext_number

W API, w interfejsie ITerminalsGroup, dodano listę StandbyTerminals, która zawiera listę terminali rezerwowych ustawionych w Syrve Office. Aby uzyskać informacje o aktualnej grupie terminali, można użyć metody GetHostTerminalsGroup lub subskrybować powiadomienie TerminalsGroupChanged.

  1. Każde stanowisko kelnera lub użytkownika śledzi stan połączenia z MT i jeśli stan ulegnie zmianie, terminal to zgłasza. W tym celu dodano nowe powiadomienie ConnectionToMainTerminalChanged. W tym powiadomieniu przesyłany jest stan połączenia: true - połączenie z MT jest nawiązane, false - połączenie z MT zostało utracone.

  2. W API zaimplementowano nową operację ChangeGroupMainTerminal, która pozwala zmienić MT. Aby uruchomić tę operację, trzeba posiadać uprawnienie do wykonywania operacji niebezpiecznych (F_DOP) oraz przekazać jako argument terminal, który jest terminalem rezerwowym. Po wykonaniu tej operacji, przekazany terminal stanie się MT, a poprzedni MT zostanie przeniesiony na listę terminali rezerwowych.

Przykład:

private static void ChangeGroupMainTerminal(IOperationService os)
{
var newMainTerminal = os.GetHostTerminalsGroup().StandbyTerminals.First();
os.ChangeGroupMainTerminal(os.GetCredentials(),newMainTerminal);
}

Obecnie, aby korzystać z tej nowej funkcji, konieczna jest licencja 21053302. Ta licencja usuwa również 30-sekundowe opóźnienie podczas ponownego uruchamiania Syrve POS.