Dostosowywanie ekranu zamkniętego zamówienia
Ekran zamkniętego zamówienia (bieżąca zmiana kasy) oraz ekran zwrotu produktu mogą mieć dodane niestandardowe polecenia do wykonywania operacji za pomocą obiektu zamkniętego zamówienia.
Jak to działa w Syrve POS?
1. Ekran zamkniętego zamówienia w bieżącej zmianie kasy
Tak wygląda przycisk «SamplePlugin: Pokaż popup OK», dodany przez SDK SamplePlugin.

Załóżmy, że wtyczka pokazuje następującą wiadomość (sprawdź artykuły API Dialogi).

Wtyczka może dodać więcej niż jeden przycisk na ekran zamkniętego zamówienia jednocześnie.
Na przykład, 2 przyciski są dodane za pomocą SamplePlugin SDK: «SamplePlugin: Pokaż popup OK» oraz «SamplePlugin: Pokaż dialog wejściowy». W takim przypadku na ekranie zamkniętego zamówienia pojawi się przycisk Wtyczki.

Przycisk Wtyczki pojawi się również na ekranie, jeśli kilka wtyczek doda po jednym przycisku na ekran zamkniętego zamówienia.
Po naciśnięciu, menu Wtyczki pokaże listę wszystkich dostępnych przycisków.

2. Ekran zwrotu produktu (zamknięte zamówienie z poprzedniej zmiany kasy)
Sprawdź dokumentację dotyczącą zwrotu produktu na podstawie paragonu (zamówienia z poprzednich zmian kasy).

Dodawanie niestandardowych wtyczek
Krok 1. Zarejestruj procesor dla wymaganego typu ekranu zamkniętego zamówienia:
subscriptions = new CompositeDisposable
{
// Rejestracja akcji na ekranie zamkniętego zamówienia w bieżącej zmianie kasy
Integration.AddButtonOnClosedOrderView("SamplePlugin: Pokaż popup ok", ShowOkPopupOnClosedOrderScreen),
// Rejestracja akcji na ekranie zamkniętego zamówienia w poprzedniej zmianie kasy
Integration.AddButtonOnPastOrderView("SamplePlugin: Pokaż popup ok", ShowOkPopupOnPastOrderScreen),
};
Funkcja rejestracji operacji AddButtonOnClosedOrderView() przyjmuje następujące 2 argumenty na ekranie bieżącej zmiany kasy:
string— nazwa przycisku wyświetlana w UI.Action<IOrder, ICashRegisterInfo, IViewManager>— funkcja wywoływana po naciśnięciu przycisku.
Funkcja rejestracji operacji na ekranie poprzedniej zmiany kasy AddButtonOnPastOrderView().
Syrve POS nie przechowuje zamówień z zamkniętych zmian kasy, dlatego AddButtonOnPastOrderView().
Syrve POS nie przechowuje zamówień z zamkniętych zmian kasy, dlatego IOrder nie może być uzyskany po ID zamówienia w metodzie AddButtonOnPastOrderView(). ID zamówienia z poprzedniej zmiany kasy może być użyteczne dla wtyczki lub zewnętrznej usługi tylko wtedy, gdy utrzymuje ona własne magazynowanie.
Krok 2. Zapewnij opis procesora przycisku:
private void ShowOkPopupOnClosedOrderScreen(IOrder closedOrder, ICashRegisterInfo cashRegister, IViewManager viewManager)
{
viewManager.ShowOkPopup("Pole tekstowe", "Tekst jest podany za pomocą SamplePlugin");
}
private void ShowOkPopupOnPastOrderScreen(Guid pastOrderId, ICashRegisterInfo cashRegister, IViewManager viewManager)
{
viewManager.ShowOkPopup("Pole tekstowe", "Tekst jest podany za pomocą SamplePlugin");
}
Możesz sprawdzić przykłady implementacji w projekcie SamplePlugin SDK, w klasie ButtonsTester.