Hallo!
ich habe die Tage schon was über mein Problem geschrieben. Jetzt habe ich eine Idee komme aber nicht weiter.
Ich denke, es wäre sinnvoller einen dezentralen Lager mit einem Puffer zu realisieren. Diesen Puffer habe ich direkt nach der Quelle gesetzt (siehe Anhang). Mein Benutzer gibt Anzahl der Teile, die zu produzieren sind (out). Ich weiss genau, dass dafür Source2 mit out/20 Teilen "TeilB" belegt werden muss. Von TeilB kann ich nur 1000 Stück abnehmen, nicht weniger, also ich muss 1000 nehmen, dafon nur out/20 verbrauchen und Rest im Puffer aufbewahren. Wenn der Benutzer bei der nächsten Eingabe den Wert eingibt und daraus ergibt sich Betrag <= BEsimPuffer, wird nichts bestellt, sondern aus dem Puffer genommen.
Da ich mit dem Dialog arbeite, versuche ich die Quelle und den Puffer mit der Methode callback im ialog zu steuern. Das funktioniert aber nicht ganz:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
bestand := 0;
verbr := out / 20;
if sourceObj2 /=void then
if Puffer.AnzahlBEs >= verbr then bestell := 0;
else bestell := 1000;
end;
sourceObj2.Anzahl := bestell;
bestand := Puffer.AnzahlBEs;
rest := bestand - verbr;
Tabelle1[1,1] := bestell;
Tabelle1[2,1] := verbr;
Tabelle1[3,1] := bestand;
Tabelle1[4,1] := rest;
end;
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Tabelle1 ist zur Kontrolle. bestand - wie viele BEs sind im Puffer jetzt, verbr - verbrauch von BEs, bestell - bestellen. Was mache ich falsch?
Danke für Eure Hilfe voraus.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP