2. Juli 2010 10:28
2. Juli 2010 10:41
Chiwi hat geschrieben:1. Wie erstellt man eine Teporäre Tabelle?
DeinTempRecord.VALIDATE(DeinFeld, neuerWert);
DeinTempRecord.INSERT(TRUE);DeinTempRecord.DeinFeld := neuerWert;
DeinTempRecord.INSERT;2. Ist es denn möglich den Bericht eines Reports in eine Teporäre Tabelle zu setzen?
2. Juli 2010 10:57
2. Juli 2010 11:14
2. Juli 2010 11:59
Lagerhaltungsdatentemp."Kundennr." := Lagerhaltungsdaten."Kundennr.";
Lagerhaltungsdatentemp.Lagerortcode := Lagerhaltungsdaten.Lagerortcode;
Lagerhaltungsdatentemp."Artikelnr." := Lagerhaltungsdaten."Artikelnr.";
Lagerhaltungsdatentemp.Minimalbestand := Lagerhaltungsdaten.Minimalbestand;
Lagerhaltungsdatentemp.Bestellmenge := fehlbestand;
Lagerhaltungsdatentemp.Lagerfachbestand := Lagerhaltungsdaten.Lagerfachbestand;
Lagerhaltungsdatentemp.Lagerbestand := zugänge;
Lagerhaltungsdatentemp.LagerBestandIBM := Lagerhaltungsdaten.Lagerfachbestand + zugänge;
Lagerhaltungsdatentemp.INSERT;2. Juli 2010 12:09
IF Lagerhaltungsdatentemp.FINDSET(false, false) THEN
  REPEAT
    MESSAGE(FORMAT(Lagerhaltunsdatentemp));
  UNTIL Lagerhaltungsdatentemp.NEXT = 0;
2. Juli 2010 12:22
2. Juli 2010 12:47
Chiwi hat geschrieben:Natalie hat mir ja den Report 111 ans Herz gelegt. Kann ich denn Code so einfach rauskopieren, dann an meine Tabellenfelder anpassen und er würde laufen?
Ich weiß es sind viele Fragen und es tut mir auch leid.
 
			
		2. Juli 2010 12:54
zugänge := 0;
Verkaufskopf.SETRANGE(Belegart,Verkaufskopf.Belegart::Auftrag);
Verkaufskopf.SETRANGE(Verkaufskopf."Lief. an Code",Lagerhaltungsdaten.Lagerortcode);
IF Verkaufskopf.FIND('-') THEN REPEAT
   Verkaufszeile.SETRANGE(Belegart,Verkaufskopf.Belegart);
   Verkaufszeile.SETRANGE("Belegnr.",Verkaufskopf."Nr.");
   Verkaufszeile.SETRANGE(Art,Verkaufszeile.Art::Artikel);
   Verkaufszeile.SETRANGE("Nr.",Lagerhaltungsdaten.Nr);
   IF Verkaufszeile.FIND('-') THEN REPEAT
     zugänge := zugänge + Verkaufszeile.Restauftragsmenge;
   UNTIL Verkaufszeile.NEXT = 0;
UNTIL Verkaufskopf.NEXT = 0;
fehlbestand := (Lagerhaltungsdaten.Lagerfachbestand + zugänge - Lagerhaltungsdaten.Minimalbestand);
Lagerhaltungsdatentemp.INIT;
Lagerhaltungsdatentemp.Nr := Lagerhaltungsdaten.Nr;
Lagerhaltungsdatentemp."Kundennr." := Lagerhaltungsdaten."Kundennr.";
Lagerhaltungsdatentemp.Lagerortcode := Lagerhaltungsdaten.Lagerortcode;
Lagerhaltungsdatentemp."Artikelnr." := Lagerhaltungsdaten."Artikelnr.";
Lagerhaltungsdatentemp.Minimalbestand := Lagerhaltungsdaten.Minimalbestand;
Lagerhaltungsdatentemp.Lagerfachbestand := Lagerhaltungsdaten.Lagerfachbestand;
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp."Kundennr.",'6010');
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp.Nr,filter);
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp.Minimalbestand,'>0');
zugänge := 0;
Verkaufskopf.SETRANGE(Belegart,Verkaufskopf.Belegart::Auftrag);
Verkaufskopf.SETRANGE(Verkaufskopf."Lief. an Code",Lagerhaltungsdatentemp.Lagerortcode);
IF Verkaufskopf.FIND('-') THEN REPEAT
   Verkaufszeile.SETRANGE(Belegart,Verkaufskopf.Belegart);
   Verkaufszeile.SETRANGE("Belegnr.",Verkaufskopf."Nr.");
   Verkaufszeile.SETRANGE(Art,Verkaufszeile.Art::Artikel);
   Verkaufszeile.SETRANGE("Nr.",Lagerhaltungsdatentemp.Nr);
   IF Verkaufszeile.FIND('-') THEN REPEAT
     zugänge := zugänge + Verkaufszeile.Restauftragsmenge;
   UNTIL Verkaufszeile.NEXT = 0;
UNTIL Verkaufskopf.NEXT = 0;
Lagerhaltungsdatentemp.Lagerbestand := zugänge;
fehlbestand := (Lagerhaltungsdatentemp.Lagerfachbestand + zugänge - Lagerhaltungsdatentemp.Minimalbestand);
Lagerhaltungsdatentemp.Bestellmenge := fehlbestand;
Lagerhaltungsdatentemp.LagerBestandIBM := Lagerhaltungsdatentemp.Lagerfachbestand + zugänge;
Lagerhaltungsdatentemp.INSERT;
Die Lagerhaltungsdaten exestiert bereits
Identifizierte Felder und Werte
Nr. =",Kundennr.=",Lagerort=",Lagerfachcode"
4. Juli 2010 18:22
IF generieren = TRUE THEN BEGIN
Lagerhaltungsdatentemp.INIT;
Lagerhaltungsdatentemp.Nr := Lagerhaltungsdaten.Nr;
Lagerhaltungsdatentemp."Kundennr." := Lagerhaltungsdaten."Kundennr.";
Lagerhaltungsdatentemp.Lagerortcode := Lagerhaltungsdaten.Lagerortcode;
Lagerhaltungsdatentemp."Artikelnr." := Lagerhaltungsdaten."Artikelnr.";
Lagerhaltungsdatentemp.Minimalbestand := Lagerhaltungsdaten.Minimalbestand;
Lagerhaltungsdatentemp.Lagerfachbestand := Lagerhaltungsdaten.Lagerfachbestand;
Lagerhaltungsdatentemp.CALCFIELDS(Lagerhaltungsdatentemp.Lagerfachbestand);
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp."Kundennr.",'6010');
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp.Nr,filter);
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp.Minimalbestand,'>0');
zugänge := 0;
Verkaufskopf.SETRANGE(Belegart,Verkaufskopf.Belegart::Auftrag);
Verkaufskopf.SETRANGE(Verkaufskopf."Lief. an Code",Lagerhaltungsdatentemp.Lagerortcode);
IF Verkaufskopf.FIND('-') THEN REPEAT
   Verkaufszeile.SETRANGE(Belegart,Verkaufskopf.Belegart);
   Verkaufszeile.SETRANGE("Belegnr.",Verkaufskopf."Nr.");
   Verkaufszeile.SETRANGE(Art,Verkaufszeile.Art::Artikel);
   Verkaufszeile.SETRANGE("Nr.",Lagerhaltungsdatentemp.Nr);
   IF Verkaufszeile.FIND('-') THEN REPEAT
     zugänge := zugänge + Verkaufszeile.Restauftragsmenge;
   UNTIL Verkaufszeile.NEXT = 0;
UNTIL Verkaufskopf.NEXT = 0;
Lagerhaltungsdatentemp.Lagerbestand := zugänge;
fehlbestand := (Lagerhaltungsdatentemp.Lagerfachbestand + zugänge - Lagerhaltungsdatentemp.Minimalbestand);
Lagerhaltungsdatentemp.Bestellmenge := fehlbestand;
Lagerhaltungsdatentemp.SETFILTER(Lagerhaltungsdatentemp.Bestellmenge,'<0');
Lagerhaltungsdatentemp.LagerBestandIBM := Lagerhaltungsdatentemp.Lagerfachbestand + zugänge;
Lagerhaltungsdatentemp.INSERT;
IF Lagerhaltungsdatentemp.FINDSET(FALSE, FALSE) THEN
  REPEAT
    MESSAGE(FORMAT(Lagerhaltungsdatentemp));
  UNTIL Lagerhaltungsdatentemp.NEXT = 0;
END;4. Juli 2010 18:56
Chiwi hat geschrieben:Habe folgenden Code in meinen OnPostDataItem geschrieben und die Tabelle wir auch gefüllt, allerdings nur mit dem letzten Datensatz .
Was könnte ich falsch gemacht haben?
IrgendeinRec.SETRANGE(...); // oder SETFILTER o.ä.
IF IrgendeinRec.FINDSET THEN BEGIN
  REPEAT
    TempRec.INIT;
    TempRec.Feld1 := IrgendeinRec.Feld1;
    ...
    TempRec.INSERT;
  UNTIL IrgendeinRec.NEXT = 0;
END;5. Juli 2010 10:31