Stapel Report erstellen...

30. Mai 2018 12:06

Hallo zusammen,

ich muss einen Batch Report erstellen, welcher (einmalig) bei allen Debitoren, welche in einem bestimmten Feld bestimmte Optionen gefüllt haben, zusätzliche Informationen hinzufügen.
Habe einen solchen Report noch nie erstellt. Ich weiß, dass ich Processing Only auf Yes setzen muss. Das DataItem habe schon hinzugefügt.

Im Text:
Wenn Debitor XY, in Feld XY die Option XY hat dann füge Option YZ hinzu.

Danke schon vorab für Eure Hilfe...

Re: Stapel Report erstellen...

30. Mai 2018 12:57

Deinen Filter kannst du in den Eigenschaften des DataItem bei DataItemTableView setzen.
Im OnAfterGetRecord Trigger stehst du dann jeweils immer auf dem entsprechenden Rec.
Hier kannst du deinen Kram tun und danach per rec.modify speichern.

Re: Stapel Report erstellen...

30. Mai 2018 13:06

besi22 hat geschrieben:Ich weiß, dass ich Processing Only auf Yes setzen muss.

Das muss man nicht, bei einer einmaligen Ausführung einfach mit leeren Seiten laufen lassen. Das hat den Vorteil, dass man sieht, ob er überhaupt losläuft (Seitenzahl dann > 0) und wann er fertig ist. Bei "Processing Only" müsste man dazu extra ein Fortschrittsfenster dazuprogrammieren. Der Aufwand lohnt sich meist nur, wenn Anwender den mehrmals ausführen sollen.

Re: Stapel Report erstellen...

30. Mai 2018 14:15

Danke schonmal für eure Antworten.
ich habe nun im OnPreDateItem mit SETRANGES gearbeitet um mir den/die entsprechenden Datensätze zurecht zu filtern.
Im OnAfterGetRecord Trigger habe ich dann per INIT und INSERT meine neue Zeilen hinzugefügt.
Kann ich, nach dem ich eine neue Zeile hinzugefüt habe, genau so auch direkt eine weitere Zeile neu anlegen? (Ich muss für jeden gefundenen Datensatz zwei neue Zeilen anlegen)

Re: Stapel Report erstellen...

30. Mai 2018 14:53

Was ist mit "Zeilen" gemeint? Datensätze in einer anderen Tabelle, die mit der Debitortabelle verknüpft sind?

Solange die Primärschlüsselfelder jeweils eindeutige neue Werte zugewiesen bekommen, kann man beliebig viele INSERTs für eine Tabelle in einem Durchgang erzeugen.