Autor
|
Thema: Leerung des kompletten lagerinhalts (1099 mal gelesen)
|
hm82 Mitglied
Beiträge: 4 Registriert: 17.06.2008
|
erstellt am: 17. Jun. 2008 17:01 <-- editieren / zitieren --> Unities abgeben:
ich stehe vor folgendem problem: 2x im tag soll eine methode aufgerufen werden, was ich mittels generator auch soweit hinbekommen habe. diese methode soll das komplette lager leeren, wenn der aktuelle lagerinhalt\\(modulo)8 = 0 ist. die methode sieht wie folgt aus: is i:integer; j:integer; do for i := 1 to current.Lager.xDim loop for j := 1 to current.Lager.yDim loop if lager.anzahlBEs\\8 = 0 then current.Lager[i,j].move(disposition); end; next; next; end; das problem ist nun, dass sobald die bedingung erfüllt ist, nicht der gesamte lagerinhalt auf die disposition umgelagert wird sondern nur jeweils genau eine einheit! ab einem bestimmten zeitpunkt wird dann stets 2x am tag eine einheit auf die dispositions-station umgelagert, da das lager komplett gefüllt ist (2400). wie muss die methode aussehen, dass bei erfüllung der bedingung der komplette lagerinhalt umgelagert wird und nicht nur eine einheit?? danke schonmal im vorraus mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 17. Jun. 2008 17:15 <-- editieren / zitieren --> Unities abgeben: Nur für hm82
Hallo hm82, Warum denn so kompliziert? Probier's mal mit (Gemütlichkeit ) : Code: is local i, num:integer; do num := lager.anzahlBEs; if num\\8 = 0 then for i := 1 to num loop current.Lager.cont.move(disposition); next; end; end;
Sicherlich wäre eine Überprüfung, ob die Umlagerung auch erfolgreich war mit entsprechender Fehlerbehandlung noch hilfreich. Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hm82 Mitglied
Beiträge: 4 Registriert: 17.06.2008
|
erstellt am: 17. Jun. 2008 21:41 <-- editieren / zitieren --> Unities abgeben:
besten dank für die schnelle antwort! jetzt ein neues problem: die ausgangslage ist die, dass ich 300 reihen a 8 stellplätze habe! mittels methode soll nun erreicht werden, dass alle reihen, die voll sind, geleert werden! die prüfung, ob reihen voll sind, erfolgt 2x am tag! das ganze mach ich dann wieder mit einem generator! dabei habe ich auch die modulo rechnung im sinn. allerdings leert sich bisher das lager nur, wenn mod = 0 ist! allerdings sind ja auch reihen gefüllt, wenn der modulo = x ist! wie kann ich das mittels methode lösen?? mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 18. Jun. 2008 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für hm82
|
hm82 Mitglied
Beiträge: 4 Registriert: 17.06.2008
|
erstellt am: 18. Jun. 2008 11:13 <-- editieren / zitieren --> Unities abgeben:
|
LaBonita Mitglied Dipl.-Math.
Beiträge: 151 Registriert: 26.07.2007 eM-Plant 7.5 bis 8.1 VB Java C#
|
erstellt am: 18. Jun. 2008 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für hm82
Da fehlen mir die Worte... Aber versuch es mal damit: Code: is local num, i: integer; do num := lager.anzahlBEs // 8; if num = 0 then -- weniger als 8 Teile im Lager return; end; for i := 1 to (num * 8) loop current.Lager.cont.move(disposition); next; end;
Gruß, Ortrun Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
hm82 Mitglied
Beiträge: 4 Registriert: 17.06.2008
|
erstellt am: 18. Jun. 2008 14:17 <-- editieren / zitieren --> Unities abgeben:
|