Seitenumbruch bei Reports selbst bestimmen

10. September 2007 17:15

Ich suche eine Möglichkeit in einem angepassten Report den Seitenumbruch selbst zu bestimmen. Mehrere Sections (z.B. Artikeldaten, zugehörige Chargennummern usw) sollen immer zusammenhängend gedruckt werden.

In den einzelnen Sections gibt es einen Schalter, den ich so verstehe, dass die gerade ausgedruckte Section mit der folgenden ausgedruckt werden soll. In dem Report steht in allen Sections "Yes", Änderungen an diesen Einstellungen haben jedoch keine sichtbaren Erfolge gebracht.

Gibt es hierzu eine Lösung?

11. September 2007 07:37

Guten Morgen

einen manuellen Seitenumbruch beim Drucken lässt sich mit dem Befehl
NEWPAGE erzeugen.

MfG
Christian

11. September 2007 14:24

Hallo!

So wie ich das verstanden habe, hat der Report als übergeordnetes DataItem die Artikel-Tabelle. Es sollte ausreichen dort in den Properties den Wert von "NewPagePerRecord" auf "Yes" zu ändern.

Viele Grüße
Paul

12. September 2007 17:34

Mit den Vorschlägen kann ich das Problem leider noch nicht lösen. Ich gebe mal noch ein paar zusätzliche Infos, damit die Problemstellung klarer wird:
- der Report druckt einen speziell angepaßten Arbeitsschein aus
- zu einem Datensatz aus Prod. Order Routing Line gehören eine variable Anzahl von weiteren Datensätzen aus den Tabellen
- Prod. Order Rtng Comment Line
- Prod. Order Component
- Reservation Entry
- Extended Text Line
- ein solcher kompletter Block, dessen Länge nun mal unterschiedlich sein kann soll nicht durch einen Seitenwechsel unterbrochen werden

Für die Idee mit NewPage müsste ich die vertikale Position an der ich mich berade befinde abfragen können, also wenn ich bereits bei 20 cm bin, dann NewPage, aber eine solche Variable ist mir nicht bekannt.

mit NewPagePerRecord würde zu viel Papier entstehen, denn manchmal passe 5 oder 6 Datensätze auf eine Seite

Also, wer hat hier eine Idee?

Re: Seitenumbruch bei Reports selbst bestimmen

12. September 2007 23:35

Hallo Winfried!

WinfriedBarz hat geschrieben:[...]In den einzelnen Sections gibt es einen Schalter, den ich so verstehe, dass die gerade ausgedruckte Section mit der folgenden ausgedruckt werden soll.

Was meinst du mit "Schalter"? Die Section-Eigenschaft "KeepWithNext"?

Welche DataItems mit welcher Einrückung nutzt du?

Gruß, Marc

13. September 2007 17:14

Hallo Marc,
ich benutze folgende Dataitems:

DataItem Name
Production Order
__Reservation Entry
__Manufacturing Comment Line
__Prod. Order Routing Line
____Prod. Order Rtng Comment Line
____Prod. Order Component
______Reservation Entry
______Extended Text Line

Von Production Order bis Manufacturing Comment Line wird der Kopf des Reports gebildet. Alle danach folgenden DataItems bilden den Body. Für jeden Datensatz aus Prod. Order Routing Line sollen die zugehörenden folgenden DataItems ohne Seitenumbruch gedruckt werden, d.h. dieser Block soll zusammenhängend gedruckt werden.

Mit meinem Wissensstand müsste ich also vor dem Drucken des nächsten Datensatzes aus Prod. Order Routing Line prüfen, ob noch genügend Platz für die folgenden DataItems auf dieser Seite ist. Wenn nein, dann einen Seitenumbruch. Ich habe es mal mit Lines zählen versucht, aber das ist auch nicht so einfach.

13. September 2007 19:44

Hast du für jedes DateItem (Prod. Order Routing Line bis Extended Text Line) eine eigene Body-Section? Wenn ja, würde ich alle bis auf die letzte Section löschen und vorher die alle Controls in die letzte Section schieben. Dann müsstest du doch alles in einer eigenen Section haben und Navision machen von selbst einen Umbruch? (oder ? ...)

Gruß, Marc

14. September 2007 06:25

Hatte ich schon versucht, aber dann bleibt der Report leer. Probleme sehe ich auch darin, dass die einzelnen Sections manchmal mehrmals durchlaufen werden, z.B. wenn es mehrere Zeilen Extended Text gibt, das würde in einer Section m.E. nicht funktionieren.

14. September 2007 09:12

Stimmt.

Hast du die Möglichkeit den Report mal "hochzuladen". Dann kann man sich den mal anschauen.

Gruß, Marc

14. September 2007 11:27

Ich hatte mal ein ähnliches Problem zu lösen. Mit den Mitteln die mir der Report-Designer von sich aus zur Verfügung stellt, bin ich da auch nicht weitergekommen. Habe dann schließlich einen Zähler benutzt, den ich dann abfragen konnte, um die aktuelle Position auf der Seite zu ermitteln:

- ich habe eine globale Variable 'VerfügbarerPlatz' (Typ Integer) definiert
- in der Header-Section (Seitenwechsel) setze ich diese Variable auf den Maximalwert der Seitenlänge die auf einer leeren Seite hinter dem Header zur Verfügung steht (also z.B. 20000)
- in jeder Section die gedruckt wird reduziere ich den Zähler entsprechend der Größe der Section
- wenn jetzt der Teil, der nicht unterbrochen werden darf anfängt, dann ermittele ich zuerst die zu erwartende Länge dieses Bereichs und frage ab, ob diese zu erwartende Länge kleiner oder gleich der noch zur Verfügung stehenden freien Fläche (VerfügbarerPlatz) ist (noch auf das Blatt passt). Falls nicht rufe ich den Seitenwechsel auf.

Das ist ziemlich aufwändig und setzt voraus, dass bekannt ist wie lang die Seite ist (mitunter vom Druckertreiber abhängig).

Eine andere Lösung habe ich damals nicht gefunden - und schließlich haben wir das gaaaaaaaanz früher ja immer so gemacht :-D

Gruß
Edgar

14. September 2007 14:17

Hallo Marc,
ich lade den Report mal hoch.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

14. September 2007 14:22

Hallo Edgar,
ich hatte es auch schon mal so versucht, aber ich hatte meine Probleme in den Sections. Mir fehlt da die Info, herauszufinden ob etwas gedruckt wurde, da fehlt mir der Ansatz wie ich das am besten durchführen kann. Hast du da noch ein paar Tips für mich? Den Report habe ich ja hochgeladen, wenn du mal einen Blick reinwerfen willst.

14. September 2007 14:36

Kurz noch mal zum Verständnis:

1. Es soll immer ein ganze Arbeitsschein auf einem Blatt zu sehen sein.
2. Es dürfen auch mehrere Arbeitsscheine auf einem Blatt sein.

Richtig?

14. September 2007 18:57

Hallo, ich hänge an dem selben Thema. Als Einsteiger ist es echt schwer zu verstehen wieso der Seitenumbruch nun nicht funktioniert?
Bei mir fängt der Seitenumbruch schon auf der hälfte der Seite an?

15. September 2007 08:21

putzmeister hat geschrieben:Bei mir fängt der Seitenumbruch schon auf der hälfte der Seite an?


Das kann auch daran liegen, dass der Report-Footer so gross definiert ist, das er auf der ersten Seite kein Platz mehr hat. Dann muss er eben auf einer Folgeseite gedruckt werden.

Seitenumbruch

30. Oktober 2007 11:10

Welcher Footer ist gemeint? Der Footer wir ordentlich auf jeder Seite gedruckt, doch auf der hälfte der Seite erfolgt immer die Fortsetzung. Roundloop Footer?

Ich lad mal den Report hoch.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.