21. Januar 2015 14:00
Schönen guten Tag,
ich bin nun schon seit mehreren Stunden dabei mich mit diesem Problem auseinander zu setzen.
Ich erläutere kurz den Ablauf den ich mir Wünsche:
1. Ich öffne PageX und drücke auf eine Funktion.
2. Funktion startet einen ReportY.
2.1 ReportY filtert ein Record
2.2 ReportY startet eine PageZ mit dem gefiltertem Record.
3. In PageZ makiert man mit der Maus die gewünschten Zeilen die man haben möchte.
3.1 Mit drücken auf OK wird die Page geschlossen
4. Der ReportY soll nun die makierten Zeilen weiterverarbeiten.
Nun zu meinem bisherigen Code (vereinfacht / Ab Report):
Report - OnPreDataItem()
Record_1_Global.RESET;
Record_1_Global.SETRANGE(Feld1,10000);
IF Record_1_Global.COUNT <> 0 THEN BEGIN
Page_1_Local.SETRECORD(Record_1_Global);
Page_1_Local.SETTABLEVIEW(Record_1_Global);
Page_1_Local.LOOKUPMODE(TRUE);
Page_1_Local.EDITABLE(FALSE);
IF Page_1_Local.RUNMODAL = ACTION::LookupOK THEN
Page_1_Local.GETRECORD(Record_1_Global);
END ELSE
ERROR('');
In der Page_1 passiert folgendes:
Page_1 - OnQueryClosePage
Record_2_Local.RESET;
CurrPage.SETSELECTIONFILTER(Record_2_Local);
IF Record_2_Local.COUNT <> 0 THEN BEGIN
Rec.RESET;
Rec.COPY(Record_2_Local);
END ELSE
ERROR('');
Mein Problem ist nun, dass ich mit GETRECORD nun nicht das bekomme was ich haben möchte.
Die Page hat allerdings beim schließen die richtigen Werte.
In meinem Beispiel hat "Rec" in der Page "3" Zeilen, was auch richtig so ist.
Mein "Page_1_Local.GETRECORD(Record_1_Global);" hat aber 9 Zeilen, was nun falsch ist.
Verwende ich GETRECORD nun falsch oder wie bekomme ich nun in meinem Report die 3 Zeilen die im "Rec" stehen?
Ich hoffe ich habe das ganze verständlich dargestellt und freue mich auf schnelle Antwort.
MfG,
Masaky
Zuletzt geändert von Masaky am 21. Januar 2015 17:14, insgesamt 1-mal geändert.