Przejdź do głównej zawartości

Szczegółowe informacje o popularnych ekranach

W V7Preview4 dodaliśmy więcej różnych ekranów do zdarzenia ScreenChanged. Aktualna lista obsługiwanych ekranów tutaj.

Dodane metody do pracy z zewnętrznymi usługami kurierskimi

Od V7 w dostawie IDeliveryOrder pojawia się nowe pole IDeliveryOrder.ExternalCourierServiceData, a także metody do przypisywania zewnętrznej usługi kurierskiej PluginContext.Operations.ChangeDeliveryExternalCourierService oraz zewnętrznego kuriera PluginContext.Operations.ChangeDeliveryExternalCourier.

Przykład użycia

private void EcsExample()
{
var delivery = ...;
var credentials = PluginContext.Operations.AuthenticateByPin(pin);

// ID otrzymane z systemu zewnętrznego
Guid ecsId = ...;
// Nazwa systemu
string ecsName = "Nazwa usługi";

PluginContext.Operations.ChangeDeliveryExternalCourierService(ecsId, ecsName, delivery, credentials);
delivery = PluginContext.Operations.GetDeliveryOrderById(delivery.Id);

string courierName = "John Johnson";
string courierPhone = "+380971111011"; // numer telefonu kuriera, w formacie międzynarodowym
string courierComment = "Płatność gotówką";

PluginContext.Operations.ChangeDeliveryExternalCourier(courierName, courierPhone, courierComment, delivery, credentials)
}

Stało się możliwe porównywanie zwróconych i nowych zamówień

W V7Preview4 zmieniliśmy nazwę zdarzenia zwrotu zamówienia na OrderStorned, dodając do niego nowy argument Guid newOrderId - identyfikator nowego zamówienia, które jest kopią zwróconego, i na którym będzie kontynuowana dalsza praca. Do samego zamówienia dodano nowe pole StornedOrderId — identyfikator tego samego zwróconego zamówienia, z którego bieżące zamówienie zostało skopiowane podczas operacji zwrotu (anulowania). Pole to nie jest wypełniane, jeśli zamówienie nie zostało zwrócone.

Dodano możliwość ustawienia niestandardowej nazwy dla pozycji zamówienia

Od wersji V7Preview4 będzie można określić i otrzymać niestandardową nazwę dla pozycji zamówienia, która zawiera odnośnik do IProduct.

Dostępne właściwości do odczytu niestandardowych nazw:

Dostępne metody do zapisu niestandardowych nazw:

Niestandardowe nazwy są wyświetlane jako część zamówienia i w dzienniku zdarzeń, a także drukowane na paragonach.

Dodano obsługę kart i kodów kreskowych na ekranie edycji zamówienia

Począwszy od V7Preview4, wtyczka może obsługiwać zdarzenia przewijania karty lub skanowania kodu kreskowego na ekranie edycji zamówienia.
Może to być wykorzystane na przykład do integracji z zewnętrznym systemem lojalnościowym.

Dodano dwie notyfikacje do PluginContext.Notifications:

Te notyfikacje są wywoływane tylko bezpośrednio na ekranie edycji zamówienia (bez otwartych okienek) i tylko podczas przesunięcia karty lub zeskanowania kodu kreskowego, który nie został rozpoznany przez wbudowane procesory.
Przyznawanie rabatu za pomocą karty rabatowej zarejestrowanej w Syrve Office, dodawanie produktu do zamówienia za pomocą kodu kreskowego opakowania oraz inne podobne operacje działają jak dotychczas, ale jeśli przewinięta karta lub zeskanowany kod kreskowy są nieznane aplikacji Syrve POS, wtedy do akcji wkracza wtyczka.
Zarejestrowany przez wtyczkę handler otrzyma kod kreskowy lub szczegóły karty i będzie musiał zgłosić wynik — czy notyfikacja została uznana za przetworzoną.
Jeśli wtyczka zgłosi, że zdarzenie zostało przetworzone, proces się kończy i nie będą wywoływane handlery innych wtyczek.
Jeśli wtyczka nie rozpozna kodu kreskowego lub karty, powinna zwrócić false, aby wywołane zostały handlery innych wtyczek.
Jeśli zdarzenie ostatecznie pozostanie nieprzetworzone, użytkownik otrzyma standardowy komunikat informujący, że przesunięta karta lub zeskanowany kod kreskowy są nieznane systemowi.

Podczas przetwarzania notyfikacji na ekranie wyświetlany jest pasek postępu.
Oprócz danych kodu kreskowego lub karty, wtyczka otrzyma bieżące zamówienie, lokalną wersję IOperationService do edycji bieżącego zamówienia, a także IViewManager z możliwością wyświetlania okien dialogowych oraz zmiany tekstu na pasku postępu.

Przykłady użycia zostały dodane do SamplePlugin: OrderEditScreen.AddProductByBarcode oraz OrderEditScreen.AddDiscountByCard.