[Gelöst] Kreditorwechsel im Headerbereich eines Reports

8. August 2007 13:30

Hallo miteinander!

Wir haben einen Report, bei dem pro Kreditor die lt. Artikeltabelle zugeordneten Artikel ausgedruckt werden.
Also Dataitem1 = Vendor und Dataitem2 = Item. "Soweit so gut!"
Jetzt wurde gewünscht, das die Kreditordaten auf jeder Seite wiederholt werden. Also habe ich einfach im Header des Dataitem "Vendor" die Eigenschaft "PrintOnEveryPage" auf "True" gesetzt und im DataItem selbst die Eigenschaft "NewPagePerRecord" ebenfalls auf "TRUE".
Zunächst schien auch alles in Ordnung zu sein, doch dann ist uns aufgefallen, dass bei einem Kreditorwechsel auf der unmittelbar folgenden Seite noch der vorhergehende Kreditor ausgedruckt wird und erst auf der nachfolgenden Seite der "neue" Kreditor gedruckt wird.

Die Logig, das erst mit Abruf eines Datensatzes der neue Kreditor zur Verfügung steht, und somit alse erst bei Erreichen des Body-Bereichs - ist mir schon klar.
Aber wie kann ich es am geschicktesten lösen, dass dieser trozdem unmittelbar nach dem Kreditorwechsel zur Verfügung steht??

Habt Ihr da einen Tip für mich?

Gruß
Ralf Müller
Zuletzt geändert von neckit am 9. August 2007 09:19, insgesamt 1-mal geändert.

8. August 2007 13:47

Gehe in die Sections und stelle deine Header-Felder in den Sections "TransHeader" bzw. "TransfFooter" bereit (hierfür auf eine Section zeigen und mit F3 eine neue Section anlegen).

Als Beispiel schaue dir den Standardreport 206 für das DataItems Sales Invoice Line und VAT Counter an.

8. August 2007 15:32

Der Trick ist nicht den Header des DataItems Vendor zu nehmen, sondern den Header vom DataItem Item. Wenn ich dein Konstrukt richtig verstanden habe, reicht das.

Gruß
Tim

8. August 2007 21:00

Danke erstmal - aber leider kann mir keiner der beiden Vorschläge wirklich weiter helfen.

Tim's Trick ist für meine geschilderte einfache Struktur zwar anwendbar aber der Bericht ist real etwas umfangreicher und mit mehreren verschachtelteten "Item"-Bereichen versehen und daher hier leider nicht verwendbar.

Natalies Vorschlag führt leider zum gleichen Ergebnis. Nach Kreditorwechsel wird immer noch auf der ersten Folgeseite der "alte" Kreditor ausgedruckt und erst auf der nachfolgenden Seite der "neue" Kreditor ausgewiesen.

Habt Ihr noch einen anderen Tip?
Falls sich jemand den - abgespeckten - Bericht mal anschauen möchte, habe ich ihn angefügt.

Ich währe wirklich dankbar für einen Lösungsvorschlag.

Gruß
Ralf Müller
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

8. August 2007 21:27

Bin so schlecht im Erklären - siehe Anhang! :-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

8. August 2007 21:44

Navision scheint sich mit dem NewPagePerRecord und PrintOnlyIfDetail des DataItems Vendor zu beißen.
Wenn du das selbst durch CurrReport.NEWPAGE ausführst, geht es.

Bleibt nur noch das Problem mit PrintOnlyIfDetail ... Das müsstest du auch noch händisch ausführen (also mit CurrReport.SKIP) arbeiten...

Ganz unproblematisch wäre es, wenn der Kopfbereich des selben Kreditors nicht auf der 2. Seite und höher wiederholt werden müsste (siehe Anhang vorher).
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

9. August 2007 09:18

Da bleibt mir nur noch zu sagen "Danke Natalie"!

Jetzt scheint alles problemlos zu klappen und mit der händischen Ausführung von PrintOnlyIfDetail sollte es keine Probleme geben.

Bei manchen Dingen ist es echt verwirrend, wie der NAV-Berichtgenerator "tickt" !

Nochmals vielen Dank.

Gruß
Ralf Müller

9. August 2007 10:09

Bitte bitte :-)