[Gelöst] Warum wird "Zu liefern" nach Komm. gelösc

31. Oktober 2007 14:57

Folgende Situation auf CRONUS-DB, also Standard:

In meinem VK-Auftrag erfasse ich zwei Artikel (A und B) mit je 10 Stück.

Artikel A befindet sich auf Lagerort B. Es soll ein Stück geliefert werden. Ergo: "Zu liefern" = 1. Nachdem die Lieferung gebucht worden ist, steht unter "Zu liefern" = 10 - 1 = 9 Stück.

Artikel B liegt auf einem Lagerort , für den eine Kommissionierung erforderlich ist. Ich wähle die Funktion "Lagerbelege erstellen" und erzeuge eine Lagerkommissionierung. Hier könnte ich 10 Stück als Bewegungsmenge eintragen, wähle aber auch nur eines wie bei Artikel A. Wenn ich diese Kommissionierung liefere, wird für meinen Auftrag die Lieferung dieses einen Stückes gebucht.
Unterschied: Jetzt ist "Zu liefern" = 0.

Gibt es einen passablen Grund, warum für "logistische VK-Zeilen" kein neuer "Zu liefern"-Wert gesetzt wird?
Spricht etwas dagegen, wenn ich dieses Vorgehen ändere?

Die Stelle findet sich in CU 80:

Code:
          IF WhseHandlingRequired THEN BEGIN
            // Logistikposition -> Zu liefern = 0
            IF "Document Type" = "Document Type"::"Return Order" THEN BEGIN
              SalesLine."Return Qty. to Receive" := 0;
              SalesLine."Return Qty. to Receive (Base)" := 0;
            END ELSE BEGIN
              SalesLine."Qty. to Ship" := 0;
              SalesLine."Qty. to Ship (Base)" := 0;
            END;
            SalesLine.InitQtyToInvoice;
          END ELSE BEGIN
            // normale Position -> Berechnung von "Zu liefern"
            IF "Document Type" = "Document Type"::"Return Order" THEN
              SalesLine.InitQtyToReceive
            ELSE
              SalesLine.InitQtyToShip;
          END;
Zuletzt geändert von Natalie am 2. November 2007 11:26, insgesamt 1-mal geändert.

31. Oktober 2007 15:58

Es wäre sinnlos, einen Wert in "Zu liefern" einzutragen, da die Ware ja immer über eine Kommissionierung das Lager verlässt.
Wenn überhaupt (ich habe es jetzt nicht nachgesehen), dann müssten Felder wie "Zu Kommissionieren" oder sowas in der Art (sofern es sie gibt) gefüllt werden.

31. Oktober 2007 16:06

Nein, die Crux ist ja: Erst wenn "Zu liefern" ungleich 0 ist (ich also in diesem Fall manuell pflegen muss), erst dann kann ich überhaupt einen neuen Kommissionionierbeleg erstellen. Die gesamte zu kommissionierende Menge entspricht dort der "Zu liefern"-Menge.

Hintergrund des Ganzen:
Bei unserem Kunden sollen die Lagerkommissionierungen sofort nach (Teil-)Lieferungen gelöscht werden. Folglich muss nach jeder Teillieferung ein neuer Beleg erstellt werden.

2. November 2007 11:25

So, nach vielen Tests mit unserem Berater kommen wir zu folgendem Ergebnis:

Die Navision-Programmierung schien davon auszugehen, dass in den allermeisten Fällen der Kommissionierbeleg noch weiter lebt (da er nur teilweise ausgeführt worden ist). In solchen Fällen darf die zu liefernde Menge in T37 nicht gesetzt werden (sonst gibt es beim Versuch, eine Liefermenge einzutragen, eine Fehlermeldung).

Dass es aber durchaus sinnvoll wäre, die Liefermenge einzutragen, sobald es keinen Kommissionierbeleg (mehr) gibt - daran wurde scheinbar nicht gedacht.

Außerdem wird die Liefermenge nicht nur für die VK-Zeilen gelöscht, die sich auf den einen registrierten Kommissionierbeleg beziehen, sondern auf ALLE VK-Zeilen des betroffenen VK-Kopfes, die eine Logistikabwicklung erfordern. Siehe hierzu den Quelltext der Funktion WhseHandlingRequired.

Und diese Lücke(n) werden wir für unseren Kunden nun an o.g. Stelle schließen.