Przejdź do głównej zawartości

Więcej informacji w zamówieniach z zamkniętych zmian kasowych

API V8Preview7 dodało informacje o tym, czy bieżące zamówienie zostało usunięte lub storno, informacje o tym, z którego zamówienia bieżące zamówienie zostało storno, a także listę zamówień wchodzących w skład tej samej grupy co bieżące zamówienie.

  • PastOrder.Deleted
    — czy zamówienie zostało usunięte;
  • PastOrder.Storned
    — czy zamówienie zostało storno na zmianie kasowej, na której zostało opłacone, lub czy bieżące zamówienie jest zamówieniem zwracającym zamówienie z zamkniętej zmiany kasowej (uwaga: jeśli oryginalne zamówienie nie zostało storno na zmianie kasowej, na której zostało opłacone, a zostało zwrócone tylko z zamkniętej zmiany kasowej, ta właściwość będzie równa false);
  • PastOrder.SourceOrderInfo
    — informacje o zamówieniu, z którego bieżące zamówienie zostało skopiowane podczas anulowania lub zwracania z zamkniętej zmiany kasowej;
  • PastOrder.GroupOrderInfo
    — informacje o zamówieniu, do grupy którego należy bieżące zamówienie
    (tutaj znajdą się informacje albo o zamówieniu, z którego bieżące zamówienie zostało skopiowane podczas anulowania,
    albo o zamówieniu, którego dodatkowym zamówieniem jest bieżące zamówienie,
    albo o zamówieniu, które było pierwsze w wyniku podziału na 2 kasy,
    jeśli wymienione oryginalne zamówienia same były pierwsze w grupie;
    albo o bieżącym zamówieniu, jeśli jest pierwsze (lub jedyne) w grupie,
    a jeśli oryginalne zamówienie samo było częścią grupy, to grupa bieżącego zamówienia będzie grupą oryginalnego zamówienia);
  • PastOrder.GroupPastOrders
    — lista zamówień wchodzących w tę samą grupę co bieżące zamówienie
    (zamówienia mające tę samą właściwość GroupOrderInfo, co bieżące zamówienie).

Aby zatem zrozumieć, czy bieżące zamówienie zostało przynajmniej raz anulowane, należy sprawdzić jego właściwość
Storned,
jeśli jest równa false, to dodatkowo trzeba sprawdzić, czy wśród zamówień zgrupowanych znajdują się takie, które odnoszą się do bieżącego przez właściwość
SourceOrderInfo:

if (pastOrder.Storned || pastOrder.GroupPastOrders.Any(o => o.SourceOrderInfo?.OrderId == pastOrder.OrderId)
// To zamówienie zostało już anulowane.

Przy próbie ponownego zwrotu
(StornoPastOrder)
już anulowanego zamówienia Syrve POS sprawdzi nowe prawo CAN_STORN_CLOSED_ORDERS_AGAIN ("F_STRNA", "Ponowny zwrot zamówienia z zamkniętej zmiany kasowej").