Przejdź do głównej zawartości

Nawigacja do zamówienia inicjowana przez wtyczkę (kontynuacja)

W API V8 wykonano drugi krok w kierunku możliwości wyświetlania okien dialogowych i nawigacji do zamówienia z inicjatywy wtyczki z różnych ekranów.

W jednej z poprzednich wiadomości
mówiliśmy o sposobach nawigacji do zamówienia za pomocą przycisków wtyczki lub z ekranu edycji zamówienia.
Teraz ta nawigacja jest obsługiwana z innych ekranów:

Aby zrozumieć, że znajdujemy się na ekranie obsługującym pracę z UI, musimy zasubskrybować zdarzenie
ScreenChanged.

Jeśli ekran, który pojawił się w zdarzeniu, jest jednym z wymienionych powyżej, można wywołać nową metodę
TryExecuteUiOperation,
do której należy przekazać odwołanie do callbacka, który Syrve POS wywoła, gdy tylko pojawi się taka możliwość.
Jeśli nie ma żadnej akcji, stanie się to natychmiast, a jeśli w tym momencie wykonywane są inne operacje, callback zostanie wywołany zaraz po ich zakończeniu.
W każdym przypadku metoda TryExecuteUiOperation zwróci kontrolę po wywołaniu callbacka.
Jeśli callback zgłosi wyjątek, zostanie on wyrzucony z TryExecuteUiOperation.
Jeśli w momencie wywołania TryExecuteUiOperation inna operacja była w toku, która ostatecznie doprowadziła do wyjścia z bieżącego ekranu,
callback nie może zostać wywołany ani natychmiast, ani opóźniony, a metoda TryExecuteUiOperation zgłosi wyjątek OperationCanceledException.

Podczas działania callbacka wyświetlany jest pasek postępu. Callback otrzyma
IViewManager
z możliwością wyświetlania okien dialogowych oraz
zmiany tekstu na pasku postępu,
a także z możliwością
przejścia do zamówienia.

Nawigacja jest możliwa tylko w otwartym zamówieniu.
Podczas wywołania metody sprawdzane są odpowiednie uprawnienia aktualnie zalogowanego pracownika na froncie.
Te same, które są sprawdzane podczas nawigacji przez naciśnięcie przycisków na samym froncie.
Nawigacja do zamówienia dostawy nie jest jeszcze możliwa.