Vorgehensweise

Die Vorgehensweise um die Zeilen eines auf „Freigegeben“ stehenden Beleges zu ändern, wäre wahrscheinlich die folgende:

  1. Status des Kopfes zurücksetzen auf „Offen“
  2. Änderungen der Zeilen durchführen
  3. Status des Kopfes setzen auf „Freigegeben“

Es existiert eine weitere Möglichkeit und zudem eine, die einen Statuswechsel nicht erfordert. Wir nutzen dazu eine Funktion aus der Zeilentabelle.

SalesLine.RESET;
SalesLine.SuspendStatusCheck(TRUE);
SalesLine.SETRANGE(Type, SalesLine.Type::Order);
SalesLine.SETRANGE("Document No", '1000');
SalesLine.MODIFYALL(Quantity, 0);

Wichtig an diesem Code ist die zweite Zeile. Mit dem Aufruf der Funktion „SuspendStatusCheck“ und dem „TRUE“ erreichen wir, dass Dynamcis NAV den Status des Beleges ignoriert.

Die Funktion „SuspendStatusCheck“ ist in allen gängigen Zeilentabellen wie Sales Line, Purchase Line, etc. vorhanden.