Autor
|
Thema: Kommissionierliste erstellen (2604 mal gelesen)
|
Traudel Mitglied
Beiträge: 27 Registriert: 20.03.2007
|
erstellt am: 02. Mai. 2007 11:27 <-- editieren / zitieren --> Unities abgeben:
Guten Tag, ich habe mal wieder eine Frage um in meinem Projekt weiter zu kommen. Ich möchte in meinem Lager eine Kommissionierzone verwirklichen und möchte dafür eine zufällige Kommissionierliste erstellen lassen. Die Kommissionierliste soll dann von einem Schnellläufer innerhalb dieser Zone abgefahren werden. In der Listen sollten Werte wie die einzelnen Plätze und der Anzahl der Picks an jedem Platz willkürlich nach vorgabe der mittleren Pickanzahl und der mittleren Anzahl der angefahren Plätze generiert werden. Ist dies möglich und wenn ja wie kann ich es umsetzen? Danke für die Hilfe die ich schon erhalten habe! 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: 26. Jul. 2007 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für Traudel
Hallo Traudel, ich habe Dein Problem exemplarisch so verstanden: Es sollen 20 Kommissionselemente erstellt werden. Dabei sollen aus einer Menge von 5 Plätzen im Mittel 2 Plätze ausgewählt werden, auf denen im Mittel 5 Picks erfolgen. Ich habe mir eine Vereinfachung überlegt, die mir Minimal und Maximalprüfungen erspart: Wähle zwischen 1 und 2 Plätzen und zwischen 1 und 5 Picks. Eine mögliche Implementierung siehst Du unten. Auf die oberste Liste kannst Du dann - vorausgesetzt Du stellst sie als Object und nicht als Variable zur Verfügung - bei der Erzeugung Deiner Aufträge dynamisch zugreifen. Ich hoffe, dass Dir das hilft. VG, LaBonita is local t: list[table]; t_val: table[object, integer]; l: list[object]; i, j, num, num1, num2, num3, num4, num5: integer; do t.create; num := 20; num1 := 2; num2 := 5; for i := 1 to num loop t_val.create; l.create; l := current.Places.copy(`[1]..` ); num3 := z_gleich(1, 1, num1); for j := 1 to num3 loop num5 := z_gleich(1, 1, l.Dim); num4 := z_gleich(1, 1, num2); t_val[1, j] := l[num5]; t_val[2, j] := num4; next; t[i] := t_val; next; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|