[gelöst] Wareneingang - "Menge akt. Lieferung"

4. August 2014 08:20

Hallo,
In unserem Wareneingang gibt es den Umstand, dass Bestellungen mitunter 100 & mehr Zeilen haben.
Die Bestellungen werden in diesre Größe meist nie komplett geliefert, weshalb der Mitarbeiter am Wareneingang immer das Feld "Menge akt. Lieferung" händisch auf 0 setzen musste für die Zeilen, die nicht geliefert wurden.
Um dies etwas zu optimieren, hatte ich einen Button eingebaut, welcher dies automatisch macht, sodass am Anfang jeder Lieferung zuerst der Button gedrückt wird und anschließend die Mengen der erhaltenen Zeilen gefüllt und geliefert wurden (also gebucht).
Der Code dazu sieht wie folgt aus:

Code:
PurchaseLine_LT.SETRANGE("Document No.", "No.");
IF PurchaseLine_LT.FINDSET(TRUE) THEN
  REPEAT
    CLEAR(PurchaseLine_LT."Qty. to Receive");
    PurchaseLine_LT.MODIFY;
  UNTIL PurchaseLine_LT.NEXT = 0;


Aber es tauchte das Problem auf, dass Bestellungen in denen dieser Button verwendet wurde keine Teillieferungen mehr zu gelassen haben.
Die Fehlermeldung war "Sie können nicht mehr als 0 Basiseinheiten erhalten".
Nach einem Zoom auf die Zeile sah ich den Schlamassel: Das Feld "Bereits gelieferte Menge (Basis)" hatte den gleichen Wert wie das Feld "Menge".
Die "Menge je Einheit" ist bei uns 1. Der Artikel in dieser Bestellzeile wurde auch noch nicht geliefert. Umso größer war meine Verwunderung, wo auf einmal der Wert für das Basiseinheiten Feld herkam. Jedes Basiseinheitenfeld hatte plötzlich einen Wert, entweder war es der Wert für die gesamte Menge oder 0 (z.B: bei Restbestellmenge (Basis)).
Am Beispiel des Felds "Bereits gelieferte Menge". Menge in diesem Feld: 0, "Bereits gelieferte Menge (Basis)": 5 (gleich Menge).

Die Recherchen in der MSDN haben ich auch nicht weitergebracht, da dort nur stand, dass diese Felder den Mengenmäßigen Wert des Feldes entsprechend der hinterlegten Basiseinheit angeben.
Ich konnte das Verhalten einmal reproduzieren, aber nicht jede Ausführung des obigen Codes brachte das Verhalten, dass das Feld der Basiseinheiten aufs Maximum gesetzt wurde.

Ist euch hierzu ein "Bug" oder ähnliches bekannt oder habt ihr eine Idee wie ich das Problem (Menge akt. Lieferung auf 0 setzen) automatisiert lösen kann ohne bei der Bestellung was kaputt zu machen (z.B. OnValidate Trigger des Feldes oder OnModify Trigger der Tabelle durchlaufen)

Grüße und guten Start in die neue Woche,
Thomas
Zuletzt geändert von ThomasM am 4. August 2014 11:27, insgesamt 1-mal geändert.

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 08:53

Hallo Thomas,

in deinem Programmcode entdecke ich zwei üble "Nachlässigkeiten":
  1. Du filterst nicht auf die Belegart.
    Hierdurch könntest du evtl. auch Zeilen anderer Belegarten erwischen.
  2. Du validierst das Feld "Qty. to Receive" nicht.
    Dadurch werden die weiteren Prüfungen nicht ausgeführt und davon abhängige Felder (z. B. "Qty. to Receive (Base)", "Qty. to Invoice", ...) nicht gefüllt.
Code:
PurchaseLine_LT.SETRANGE("Document Type", "Document Type");  // <--- Zusätzlicher Filter auf die Belegart
PurchaseLine_LT.SETRANGE("Document No.", "No.");
IF PurchaseLine_LT.FINDSET(TRUE) THEN
  REPEAT
    
// CLEAR(PurchaseLine_LT."Qty. to Receive");
    PurchaseLine_LT.VALIDATE("Qty. to Receive",0);  // <-- Feld validieren
    PurchaseLine_LT.MODIFY;
  UNTIL PurchaseLine_LT.NEXT = 0;

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 08:58

Hallo,
es ist sehr gefährlich Felder nur per CLEAR oder ':=' zuzuweisen. Das sollte man nur machen, wenn man genau weiß, dass hinter dem Feld kein Feldtrigger steht. Die Mengenfelder haben aber i. d. R. einen solchen Trigger. Diese Felder sollte man immer mit VALIDATE zuweisen ( es sei denn man weiß genau warum man dS nicht möchte). Dadurch werden die Feldtrigger ausgeführt und versorgen so abhänge Felder. Auch ein Modify(true) kann nicht schaden, da auch hier wichtige Daten gepflegt werden.

Gruß Fiddi

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 09:38

Danke für die schnellen Antworten!

Das es wohl besser wäre die Trigger auszuführen (aus den genannten Gründen) habe ich schon vermutet.
Vielen Dank für den Hinweis mit der Belegart - das war wirklich sehr nachlässig. :oops:

Aber grundsätzlich spricht nichts gegen eine Automatisierung in dieser Art um dem Wareneingang zu helfen - oder?
Es wundert mich, dass es diese Option nicht im Standard gibt, da es ja eher nicht die Regel ist, Bestellungen mit nur 10 Zeilen zu haben und Teillieferungen ein elementarer Bestandteil sind.

Grüße,
Thomas

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 09:59

ThomasM hat geschrieben:Aber grundsätzlich spricht nichts gegen eine Automatisierung in dieser Art um dem Wareneingang zu helfen - oder?

Nein, grundsätzlich spricht nichts dagegen.

Es wundert mich, dass es diese Option nicht im Standard gibt

Also eigentlich kannte ich es im Verkauf, dass je nach Lagerorteinstellungen die Menge zu liefern gar nicht erst vorbelegt worden ist. Leider finde ich die Stelle spontan nicht wieder ... Ich hätte erwartet, das Pendant im Einkauf wiederzufinden.

da es ja eher nicht die Regel ist, Bestellungen mit nur 10 Zeilen zu haben und Teillieferungen ein elementarer Bestandteil sind.

Du unterschätzt, wieviele Firmen es tatsächlich gibt, deren Bestellungen meistens (weit) weniger als 10 Zeilen haben ;-)

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 10:14

ThomasM hat geschrieben:Es wundert mich, dass es diese Option nicht im Standard gibt, da es ja eher nicht die Regel ist, Bestellungen mit nur 10 Zeilen zu haben und Teillieferungen ein elementarer Bestandteil sind.
Eine solche Option gibt es doch:
In der Einkauf Einrichtung kann im Feld "Zu liefernde/zurückzunehmende Standardmenge" festgelegt werden, ob der Wert standardmäßig mit der Restmenge oder <leer> vorbelegt werden soll.
In der Verkauf Einrichtung gibt es das Feld auch und nennt sich "Zu liefernde Standardmenge".

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 10:20

Gibt es unter 2013 nicht mehr die Möglichkeit, zu einer Bestellung einen Wareneingang zu erstellen und den zu buchen?
Ich finde es "unvorsichtig", den Wareneingang direkt in einer Bestellung buchen zu lassen.

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 10:25

Timo Lässer hat geschrieben:Eine solche Option gibt es doch:
In der Einkauf Einrichtung kann im Feld "Zu liefernde/zurückzunehmende Standardmenge" festgelegt werden, ob der Wert standardmäßig mit der Restmenge oder <leer> vorbelegt werden soll.
In der Verkauf Einrichtung gibt es das Feld auch und nennt sich "Zu liefernde Standardmenge".



Das ist ja Klasse - das finde ich persönlich wesentlich besser, als nachträglich den Wert wieder zu überschreiben.
Vielen Dank Timo!

Wirkt sich die Einstellung nur auf neue Bestellungen aus - oder auch auf bestehende?
Bei einem kurzen Test blieb der Vorschlag in aktuellen Bestellungen stehen, trotz der Einstellung in der Einkaufs Einrichtung.

Grüße,
Thomas

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 11:11

ThomasM hat geschrieben:Wirkt sich die Einstellung nur auf neue Bestellungen aus - oder auch auf bestehende?
Bei einem kurzen Test blieb der Vorschlag in aktuellen Bestellungen stehen, trotz der Einstellung in der Einkaufs Einrichtung.


Die Antwort lieferst du durch deinen Test selbst -> NAV Einstellungstabellen wirken nur per heute => Zukunft und NICHT Vergangenheit <= heute.

Re: Wareneingang - "Menge akt. Lieferung"

4. August 2014 11:26

Freestyler hat geschrieben:Die Antwort lieferst du durch deinen Test selbst -> NAV Einstellungstabellen wirken nur per heute => Zukunft und NICHT Vergangenheit <= heute.


Hab ichs mir doch gedacht :-D
Danke für die Bestätigung.

Re: Wareneingang - "Menge akt. Lieferung"

7. August 2014 09:00

RaiNav hat geschrieben:Gibt es unter 2013 nicht mehr die Möglichkeit, zu einer Bestellung einen Wareneingang zu erstellen und den zu buchen?
Ich finde es "unvorsichtig", den Wareneingang direkt in einer Bestellung buchen zu lassen.

Das kommt immer auf den Bedarf des Unternehmens an. Ein Wareneingang muss erstellt werden und ist dadurch ein zusätzlicher Schritt, den nicht alle gehen wollen. Bei uns gibt es eine separate Page für die Wareneingänge aus den Bestellungen, wo nur Menge und Lieferscheinnummer geändert werden können.

ThomasM hat geschrieben:...
Wirkt sich die Einstellung nur auf neue Bestellungen aus - oder auch auf bestehende?
Bei einem kurzen Test blieb der Vorschlag in aktuellen Bestellungen stehen, trotz der Einstellung in der Einkaufs Einrichtung.
...

Ich glaube beim nächsten Buchen einer Bestellung sollten die Mengen korrekt vorbelegt werden. Kann mich aber auch täuschen.

Re: Wareneingang - "Menge akt. Lieferung"

7. August 2014 10:12

RaiNav hat geschrieben:Gibt es unter 2013 nicht mehr die Möglichkeit, zu einer Bestellung einen Wareneingang zu erstellen und den zu buchen?

Das kann wie bisher über das Feld "Wareneingang erforderlich" in der Tabelle Lagerort aktiviert werden. Wie schon gesagt, kann das je nach Betriebsstruktur sowohl unabdingbar als auch unpraktisch sein.