[gelöst] Mahnung Report 117

7. Mai 2007 10:47

Hallo,
ich möchte gern den Mahnungsreport so verändern, das die Summe aller fälligen Posten gebildet wird.
Als Basis dient mir der Report 117. Beim Erkunden des Report bin aich auf etwas mir unverständlichen gestossen.



Body3 ( Issued Reminder Line ) gibt die Texte der Mahung aus. Einmal vor den und einmal nach den Detailposten.

Wie geht denn das ? Eine Section für zwei verschiedenen Dinge an zwei verschiedenen Positionen ?


Kann mir dies jemand erklären ?


Jörg


PS: Wie würde Ihr diese Problemstellung mit der Summe angehen ?.
Zuletzt geändert von Jörg Nissen am 9. Mai 2007 07:44, insgesamt 1-mal geändert.

7. Mai 2007 11:00

Hall Jörg,

vor den Detailposten wird der Vortext der höhsten Mahnstufe gedruckt, nach den Detailposten der Nachtext. Du hast dafür auch zwei DataItems (Issued Reminder Line, IssuedReminderLine2).

Gruß, Marc

7. Mai 2007 11:07

Hallo,
das hätte ich verstanden.
Nur ändere ich die Vor-Section, ist auch die Nachsection geändert. Ich habe einfach mal ein Label in die Body3-Section eingefügt. Dieses erscheint aber auch beim Nachtext ?!


Jörg

7. Mai 2007 11:30

HAst du im Nachtext vielleicht eine Leerzeile drin?
Dann wird der Teil vor der Leerzeile nämlich für Vortext gehalten.
Siehe Trigger IssuedReminderLine-OnPreDataItem.
Um den Beginn des Nachtexts (EndLineNo) zu ermitteln fängt navision von hinten an zurückzugehen, bis es entweder keine Zeilen mehr gibt, eine Zeile eines Typs >' ' oder eine Zeile vom Typ ' ' ohne Description.

7. Mai 2007 11:46

Hallo,

ich glaube meine Fragestellung ist nicht ganz verständlich.

Ich nehme den Report 117. Füge in der Body (3) Section ein Label ein.

Starte den Report.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

7. Mai 2007 12:08

schalte bei der Erstellung der Mahnungen mal die nicht fälligen offenen Posten aus, und du wirst sehen, dass das Feld weg ist.
An diesen Fall hab ich gerade gar nicht gedacht.....
Da findet Navision den Nachtext gar nicht, weil die letzten Zeilen ja Postenzeilen sind.

7. Mai 2007 12:16

Hallo,
dann wird es sicher gehen. Nur, verstanden habe ich leider noch nicht was NAV hier macht.
Ein Section 2x drucken !?. Ich möchte gern die Logik verstehen.

gruß
Jörg

7. Mai 2007 12:37

In jeder Zeile prüft der Report, um was für eine Art von Zeile es sich handelt und entsprechend der Bedingungen im OnPreSection-Trigger wird mal die eine (body3), mal die andere (body4, 5 und 6) Sektion gedruckt.
Da der Nachtext genau wie der Vortext eine Zeile vom Typ ' ' ist, und wegen der nicht fälligen Posten nicht als Endtext erkannt wird ("Line No." < EndLineNo) und deshalb auch im IssuedReminderLine- und nicht im IssuedReminderLine2-DataItem gedruckt wird, wird hier jedesmal der Body3 gedruckt, wenn eine Zeile Type=' ' auftaucht.
Wenn keine nicht fälligen Posten vorhanden sind, erkennt der Report in den letzten Zeilen die Textzeilen und sucht den Anfang derselben, bzw eine Leerzeile. Diese Zeile wird als EndLineNo festgelegt und aufgrund der Filtersettings im OnPreDataItem wird der Nachtext nun erst im Dataitem IssuedReminderLine2 gedruckt.

7. Mai 2007 13:21

Hallo,

OK, Das habe soweit verstanden. Nur, wie eine Section 2x auf einer Seite gedruckt wird habe ich noch nicht verstanden.

Wenn ich in einem Test-Report zwei Body-Section habe. Wird erst die eine Section mit allen Records und dann die andere gedruckt.

Bei den Mahnungen wird erst Section1 gedruckt, dann Section2 und dann wieder Section 1.

Gruß
Jörg

7. Mai 2007 13:37

Ich hab zwar das Gefühl, dass ich das noch nicht ganz genau verstanden habe, was du meinst - ich versuchs aber trotzdem. :-)

Du kannst über den C/AL-Code beeinflussen, ob eine Section gedruckt werden soll oder nicht. Das geht folgendenmaßen:
Code:
CurrReport.SHOWOUTPUT(TRUE)

bzw.
Code:
CurrReport.SHOWOUTPUT(FALSE)


Gruß, Marc

7. Mai 2007 13:47

Jörg, da hier mehr als ein Record (Mahnungszeilen) auf einer Seite gedruckt wird, kann auch jede Sektion mehrfach vorkommen. Body3 - Body6 behandeln alle die GLEICHE Mahnungszeile. welche von denen für den entsprechendenen Record gedruckt wird, entscheidet sich aufgrund der Bedingungen im OnPreSection der jeweiligen Sektion. Wenn keine Bedingungen hinterlegt wären, würde für jede Zeile der Subform registrierte Mahnungszeilen alle 4 Sektionen hintereinandergedruckt.

Stell dir eine Schlange mit verschiedenfarbigen Autos vor, alle wollen in die Garage, bei roten Autos geht das linke Tor auf, bei blauen das mittlere und bei grünen das rechte.
Angenommen die Farben sind rot, rot, blau, grün, rot, grün, dann geht doch die Linke Garage nochmal auf, wenn das letzte rote Auto kommt.....

9. Mai 2007 07:44

Hallo Michael,
jetzt hab ichs.

Danke

9. Mai 2007 08:27

dachte ich mir doch, dass Du beim Verkehrszentralregister arbeitest ;-)