Automatisches Reservieren von Aufträgen

20. Juni 2019 08:42

Ich habe folgendes "Problem"...
Unsere Aufträge und auch Montagen, sowie auch die Fertigungen bestehen oft aus sehr vielen einzelnen Teilen. Wenn ich jetzt in den Aufträgen reservieren will, dann kann ich das nur Zeile für Zeile, oder gibt es eine Funktion die ich übersehe?
Ich möchte aber das ein "Task" alle paar Minuten überprüft, welche Artikel reserviert werden können und dies auch tut. Und das für alle Aufträge.
Unsere "Programmierfirma" die sowas für uns lösen weis leider auch kein Rat.

Gibt es dazu nicht eine relativ "einfache" Lösung?
Kann man ggf. eine "Aufgabenwarteschlange" irgendwie so modifizieren, dass wenn diese läuft sie über alle Verkaufs und Montage/FA Zeilen schaut und reserviert?

Eine zweite Idee war es das über die Verkaufszeilen selber zu machen.
Beim entreservieren kann ich irgend einen Artikel aus dem Auftrag nehmen und dann die Filter lösen um dort alles auf einmal raus zu nehmen, aber fürs Reservieren hab ich sowas auch nicht gefunden.

Ich hoffe ich konnte mein Problem halbwegs beschreiben und jemand hat eine Lösung dafür.

Re: Automatisches Reservieren von Aufträgen

20. Juni 2019 09:02

Es gibt am Artikel die Einstellung "Reservieren = immer" dann reserviert das System zumindest in Verkaufsaufträgen die Bestände automatisch.

Re: Automatisches Reservieren von Aufträgen

20. Juni 2019 10:26

Das habe ich auch drin. Allerdings passiert ab dem Eintragen in den Auftrag dann nichts mehr.
Wir haben aber nicht nur 1 Lager wo wir Bestände haben. Der Auftrag darf aber immer nur aus dem Hauptlager abgreifen. Wenn ich jetzt eine Umlagerung mache, Ware Bestelle etc. dann wird NICHT nach reserviert. Und genau da besteht das Problem. Weil jetzt der Auftragsbearbeiter dauernd in die Aufträge muss um
zu reservieren.
Wird das nicht gemacht bekommt der Bestellvorschlag ein Problem bzw. die Ware die Umgelagert wurde ist dann einfach frei im Bestand und kann wieder von anderen Aufträgen einfach "geklaut" werden.

Der Bestellvorschlag sieht z.B. nicht, wenn Ware bestellt wurde und der Auftrag dort nicht rein reserviert hat, das für den Auftrag nichts Neues gekauft werden muss.
Es gibt eine Storno Zeile für die vorige Bestellung und NAV versucht eine neue Bestellung anzulegen. Das habe ich natürlich nicht, wenn ich die Ware reserviere.

Re: Automatisches Reservieren von Aufträgen

21. Juni 2019 18:36

Ohne mir das jetzt im Detail angeschaut zu haben würde ich behaupten einen Job zu schreiben, der über die Auftragszeilen läuft und wenn es nicht reservierte Mengen gibt prüft ob eine Reservierung möglich wäre, das kann doch eigentlich nicht so 'ne große Sache sein. Den könnte man dann in der Aufgabenwarteschlange laufen lassen.

Re: Automatisches Reservieren von Aufträgen

24. Juni 2019 10:39

enh hat geschrieben:...das kann doch eigentlich nicht so 'ne große Sache sein. Den könnte man dann in der Aufgabenwarteschlange laufen lassen...

Leider habe ich (noch) keinen Zugriff auf die Programmierung. Aber das Selbe habe ich mir auch gedacht. Mehr als ein paar Zeilen Code sollte das doch nicht brauchen...
Aber die Antwort unserer Programmierer ist eher immer etwas... naja. "2-3 Tage braucht es da Minimum".

Grob zusammenformuliert:
Schau in die Verkaufszeile Nr.1 (von allen Zeilen)
-------------------------------------------------------
REPEAT
If Menge < Reservierung then
If verfügbare Menge >0 then
Reservieren
UNTIL verkaufszeile.NEXT = 0;
-------------------------------------------------------
Sicher sehr vereinfacht dargestellt und ich weiß nicht im Ansatz die korrekte Syntax, aber ca. so stell ich mir das vor.
Leider hab ich erst demnächst selber die Möglichkeit zu programmieren.
Und dann muss ich die Sprache erstmal noch ein wenig lernen ;o)

Re: Automatisches Reservieren von Aufträgen

24. Juni 2019 10:54

S_M_B hat geschrieben:... Mehr als ein paar Zeilen Code sollte das doch nicht brauchen...
Aber die Antwort unserer Programmierer ist eher immer etwas... naja. "2-3 Tage braucht es da Minimum"...

Das kann schon sein. Die Erfahrung zeigt jedoch, dass es getestet werden, stabil funktionieren und eventuelle Ausnahmen geprüft werden müssen.

Re: Automatisches Reservieren von Aufträgen

24. Juni 2019 17:28

Aber jetzt mal im Ernst, du kannst mir doch nicht erzählen das die Funktion so schwierig ist.
Bei meiner alten Firma hatten wir einen Programmierer, der hat solche Sachen in 1-2 Stunden gelöst. Das sehe ich ja auch ein mit Testen etc.
Aber doch nicht 1 Tag oder gar 2-3 Tage!!

Wir reden hier immerhin auch von einer Funktion, die es so in Nav schon gibt. Jeder Auftrag nutzt das reservieren in dem Moment, wenn auf "Immer reservieren" steht eine Menge eingetragen wird.
Die Reservierungslogik muss ja nicht komplett neu geschrieben werden, davon redet keiner. Man kann die Funktion ja auch manuell aufrufen...
Geh in einen Verkaufsauftrag, geh auf Funktionen und reservieren, schau welche Codeunit beim klicken auf automatisch reservieren angesprochen wird und schau welche Parameter übergeben werden.
Das was da passiert muss ich doch nur in den Code einbinden.
Wie gesagt, nur im übertragenen Sinne:

REPEAT
If Menge < Reservierung then
If verfügbare Menge >0 then
Codeunit mit Parameter füttern
UNTIL verkaufszeile.NEXT = 0;

Keiner kann mir erzählen das man für die Funktion so lange braucht... das wären immerhin 8-24 volle Stunden!
Außer man ist Anfänger und beschäftigt sich damit nicht so viel. Von jemand der sich damit auskennt erwarte ich anderes!

Re: Automatisches Reservieren von Aufträgen

27. Januar 2023 12:27

Nachdem ich jetzt seit etwas über einem Jahr selber in die Programmierung eingestiegen bin und den Beitrag nochmal gesehen habe, dachte ich mir ich schreib hierzu nochmal was...

Es war wie gedacht nicht all zu schwer. Die Funktion die das Autoreservieren aktiviert, kann man einfach antriggern.
Hierbei wird einfach der aktuelle Record übergeben. Das kann man nutzen in dem man den Record auf dem man steht selber bestimmt.

Als Beispiel der FA mit seinen Komponenten.
Man steht in den Komponenten. Entweder übergebe ich jetzt nur die Zeile in der man steht in die Procedure "AutoReserve" oder man macht ein SetRange/Filter mit Repeat.
Zusätzlich kann man bei uns aber auch noch ALLE Zeilen auswählen. Das Ganze schön über einen Dialog und mit einer Auswertung der reservierten Artikel.

Da wir ein eigenes Kommissionssystem haben machen wir vorher noch ein paar Abfragen.

Aber im Prinzip:
IF ProdOrderCompRec.FINDSET(FALSE, FALSE) THEN
Dialog.Update(1, ProdOrderCompRec."Prod. Order No.");
Dialog.Update(2, ProdOrderCompRec."Item No.");
ProdOrderCompRec.AutoReserve;
UNTIL ProdOrderCompRec.NEXT = 0;

Wie gesagt haben wir noch einiges drum rum, mit Auswertung und Auswahlfeldern was man reservieren mag.
Aber das sollte ja nicht das Problem sein sich das selber zusammen zu "basteln".

Re: Automatisches Reservieren von Aufträgen

27. Januar 2023 15:54

Und wie lange hast du dafür gebraucht?

Re: Automatisches Reservieren von Aufträgen

1. Februar 2023 18:48

Für reines Reservieren des Auftrags war es mit Testen in ~2 Std erledigt. Also nur das, was ich damals haben wollte.

Der Rest den wir dann gebaut haben mit Dialogen, die Abfragen was man genau reservieren mag, ob nur den einen Auftrag oder über alles oder nach Filter, dass hat dann länger gedauert... war aber nach einem halben Tag dann auch erledigt.