Report PrintOnlyIfDetail

24. Oktober 2008 13:00

Hallo,
ich habe einen Report erstellt mit
1.Ebene Auftragskopf
2.Ebene Auftragskopfbemerkungen
2.Ebene Auftragszeilen
im Auftragskopf habe ich PrintOnlyIfDetail gesetzt.
Wenn jetzt der User nur die Aufträge mit 'Zu liefern'>0 sehen will bekommt er blöderweise auch die Auftragsköpfe in denen eine Bemerkung steht. :cry:
Leider habe ich keine gute Idee, da ich nicht weiss wonach der User in den Auftragszeilen noch filtern wird.
(... oder kann man alle Filtereinstellungen auf einmal übertragen??...)

Re: Report PrintOnlyIfDetail

24. Oktober 2008 14:20

Du kannst im OnAfterGetRecord des Auftragskopfes mit Hilfe einer Variablen nach schauen, ob du überhaupt Zeilen findest, und dann ggf. skippen. Den/die Filter auf das DataItem Auftragszeilen kriegst du mit Copyfilters.

Re: Report PrintOnlyIfDetail

27. Oktober 2008 11:55

Leider bekomme ich den Filter immer eine 'Runde' zu spät, da das System die Ebenen immer nacheinander abarbeitet, so ist der Filter beim ersten Record noch nicht bekannt und beim zweiten bekomme ich das Ergebnis vom ersten :-(
kann man die Verknüpfung nicht irgendwie in beide Richtungen machen (wie beim innerjoin), damit ich den Kopf nicht bekomme ?
das System geht alle Köpfe durch - egal ob der Zeilenfilter ein Ergebnis liefert

Re: Report PrintOnlyIfDetail

27. Oktober 2008 12:42

Stimmt ja, der Filter auf die Zeilen kommt erst später ... hmmm ...

man könnte noch 2 Data Items vor die vorhandenen drei setzen, Sales Header und Sales Line, jeweils erste Ebene und mit CurrReport.Break im OnPreDataItem. Im Report sorgt man dafür, dass nur diese beiden zum Filtern angeboten werden. Wenn es dann zum dritten DataItem kommt (also der Report wie bisher losgeht), sind die Filter da und können kopiert werden.