Autor
|
Thema: Quelle soll Aufträge lt. Lite erzeugen (720 mal gelesen)
|
littlelady Mitglied
Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 07. Jul. 2008 19:13 <-- editieren / zitieren --> Unities abgeben:
Ich habe eine Tabelle (Liste) mit egig langen Datensätzen. In Spalte 2 steht die Auftragsnummer, in Spalte 4 die Artikelnummer. Die Quelle soll nun einen Karton erzeugen, dem als Attribut(Auftragsliste) Teile der Liste angehängt werden. D.h. die Tabelle eines Kartons soll die Artikelnummer enthalten für Auftragsnummer 2. Die Tabelle des nächsten Kartons die Daten für Auftragsnummer 3 usw. i: ist die Zeile j: ist die Auftragsnummer is j:integer; i:integer; do i:=1; j:=2; while liste[2,i]=j loop Einzelstation.inhalt.auftragsliste[1,i]:=liste[4,i]; i:=i+1; end; j:=j+1; end; Fehlermeldung ist, dass die Operanden nicht kompatibel sind. Was hab ich falsch gemacht?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 08. Jul. 2008 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für littlelady
Hallo littlelady, schau Dir die Hilfe mal zum Thema Quelle an. Hier kannst Du mit Reihenfolgetabelle genau die Attribute an Deine Kartons hängen, die Du willst. Das Ganze kannst Du sowohl per Hand (kann sehr mühsam sein), aber auch per Methode machen Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
littlelady Mitglied
Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 08. Jul. 2008 15:07 <-- editieren / zitieren --> Unities abgeben:
Meine Quelle erzeugt im Moment auch BEs nach einer Tabelle, so wie in der Hilfe beschrieben. Allerdings habe ich jetzt ca. 50000 Datensätze, die nicht alle per Hand eintppen kann :-) Daher suche ich jetzt eine Methode als Ausgangssteuerung für die Quelle. In Spalte 2 der Datensätze (Tabelle heißt im Modell Liste) stehen die Auftragsnummern, in Spalte 3 die Artikelnummern. Die Methode soll nun einen Karton produzieren, dem, solange die Auftragsnummer z.B. 3 ist alle Attribute anhängen, die in der Liste in Spalte 3 stehen. Ich finde leider in der Hilfe nicht wie ich die Mehtode aufbauen muss.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 08. Jul. 2008 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für littlelady
Hallo littlelady, anbei eine kleine Methode zum befuellen einer Reihenfolgetabelle: is i : integer; do for i := 1 to anzahl_tabelleneintraege loop reihenfolgetabelle [1,reihenfolgetabelle.ydim+1] := erzeugungszeitpunkt;--z.B. 216000 entspricht 6:00h morgens reihenfolgetabelle [2,reihenfolgetabelle.ydim] := lpart;--hier musst Du Dein Klassenbauteil angeben reihenfolgetabelle [3,reihenfolgetabelle.ydim] := anzahl_bauteile;--hier gibst Du an, wieviel von deinen Bauteilen erzeugt werden reihenfolgetabelle [4,reihenfolgetabelle.ydim] := bauteilname;--hier kannst Du einen Bauteilnamen vergeben --ab hier erfolgt die attributezuweisung reihenfolgetabelleb.createnestedlist (5,reihenfolgetabelle.ydim); reihenfolgetabelle[5,reihenfolgetabelle.ydim].setname("x"); reihenfolgetabelle [5,reihenfolgetabelle.ydim][4,1] := "blau";--z.B. Farbzuweisung reihenfolgetabelle [5,reihenfolgetabelle.ydim][3,2] := true;--z.B. Zustandszuweisung next; end; -- end of method ich hoffe Du kommst damit klar
Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
littlelady Mitglied
Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 09. Jul. 2008 13:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Simulant, komme irgendwie nicht weiter, vielleicht magst du mir ja nochmal helfen? Also meine Tabelle (tabelle1) sieht so aus: 1 345 1 567 1 345 2 983 2 547 2 456 3 128 3 579 3 491 Beim BE Austritt aus der Quelle soll nun dem ersten BE die Artikelnummern angehangen werden, vor denen eine 1 steht, dem zweiten BE alle Nummern vor denen eine 2 steht usw. Ich hab mir folgendes vorgestellt, was natürlich nicht funktioniert:-) for i:=1 to tabelle1.yDim loop if tabelle1[1,i]=2 then tabelle1.kopiereBereichNach({1,i}...{2,i},@.tabelle); end; next; Es sollen Daten von einer Tabelle1 in die Tabelle2 des BEs übertragen werden. Bin wirklich für jede Hilfe dankbar, da ich keine 5000 Datensätze per Hand eingeben kann!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
littlelady Mitglied
Beiträge: 14 Registriert: 18.06.2008
|
erstellt am: 09. Jul. 2008 16:06 <-- editieren / zitieren --> Unities abgeben:
so bin etwas weiter mit meinem Latein. Nun wird wenigstens die erste Auftragsnummer (2) in die Liste des BEs übertragen. j müsste eigentlich immer eine Zahl weiter wandern bis 8000. Vielleicht hat ja jemand eine Idee wie ich das hinbekomme. Und ein weiteres Problem ist, dass die Daten in der BE tabelle natürlich auch in der Zeile gespeichert werden in der sich die Originaldaten befinden. D.h. irgendwann finde ich meine Daten in Zeile 8000 und nicht mehr ganz oben. ... is i:integer; j:integer; do j:=einzelstation.inhalt.j +1; j:=einzelstation.inhalt.j; for i:=1 to tabelle.yDim loop if tabelle[1,i]=j then einzelstation.inhalt.tabelle[1,i]:=tabelle[2,i] end; next; end; Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der simulant Mitglied
Beiträge: 71 Registriert: 28.02.2007 ----------- der simulant
|
erstellt am: 10. Jul. 2008 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für littlelady
Hallo littlelady, habs leider gestern nicht mehr geschafft. Hier Deine Methode die Du in die Ausgangssteuerung der Quelle hängen musst(Hecksteuerung). Die Quelle erzeugt nur Deine Kartons. Diesen Kartons musst Du natürlich in der Klasse eine Tabelle als benutzerdefiniertes Attribut anhängen: is lsearch : integer; gefunden : boolean; ycur : integer; do lsearch := @.id; gefunden := true; tablefile.setcursor(1,1); while gefunden loop if tablefile.find ({1,1}..{1,*},lsearch) then ycur := tablefile.cursory; @.tab_attri [1,@.tab_attri.ydim+1] := tablefile [2,ycur]; else gefunden := false; end; end; end; ps: tablefile ist Deine vorhandene Liste @.tab_attri ist die angehängte Tabelle vom Karton die jeweiligen Tabellenformate muessen integer,real sein Gruß der simulant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|