Anzahl der Artikel / Positionen im Report

Auf diesen Beitrag antworten
Markus Jakobi schrieb am 06.01.2021
Guten Morgen,
gibt es eine Möglichkeit, in Reports (speziell in Rechnungen) in den "DETAIL"-Bereichen abzufragen, ob die gerade gedruckte Position die letzte zu druckende Position ist (es also nach dieser Position mit dem Druck der Fußzeilen weitergeht)?
Alternativ würde es wahrscheinlich auch helfen, wenn die Gesamtzahl der zu druckenden Positionen bekannt wäre bzw. abgefragt werden könnte.
Hintergrund ist, dass ich in den Reports am Ende der letzten Position (aber vor dem Druck der ersten Fußzeile) etwas ausgeben möchte.

Würde mich freuen, wenn jemand da einen Tipp für mich hätte.
Vielen Dank!

Gruß -- Markus
Daniel schrieb am 06.01.2021
Hallo,

den letzten Datensatz zu erkennen ist nicht so einfach. Erst nach dem letzten Datensatz ist bekannt, dass das Ende erreicht wurde.

Mit einem Zähler würde es aber gehen, dazu müssten im Vorfeld die Anzahl der Datensätze ermittelt werden, z.B. mit einer SQL-Abfrage SELECT COUNT(artikelnr) as Anzahl FROM rechnrep.

Wenn ich es richtig verstanden habe, gibt es aber eine einfachere Lösung, indem einfach eine neue Gruppen Kopf- und Fußzeile eingefügt und direkt unter den DETAIL-Bereich geschoben wird.

Vermutlich gibt es in Ihren Vorlagen bereits einen leeren Bereich (siehe Screenshot). Den Bereich können Sie einfach aufziehen und die Inhalte einfügen.



Hoffe es klappt.
Markus schrieb am 09.01.2021
Hallo Daniel,
und wieder mal ein herzliches Dankeschön für die Tipps.

Auslöser meiner Frage war, dass wenn der Platz auf der aktuellen Seite eines Reports nicht mehr ausreicht, einige oder alle "Fußzeile"-Bereiche auf die letzte Seite geschoben werden. Dabei hatte ich teilweise die Situation, dass die Fußzeilen dahin gedruckt wurden, wo in meinen Reports eigentlich die Rechnungsanschrift etc. stehen sollte. In anderen Fällen wurde die "Kopfzeile - POSITIONEN" nicht mehr gedruckt (logisch, weil keine Positionen mehr zu drucken waren) und die Fußzeilen-Inhalte wurden an dieser Position ausgegeben.

Zur Info: Ich habe in meinen Reports einen zusätzlichen Bereich "Kopfzeile der Seite" eingfügt, in diesem Bereich befinden sich die Inhalte, die in den Original-Reports im Bereich "Kopfzeile - RECHNUNG" stehen. (Der erste Bereich "Kopfzeile der Seite" enthält unseren Briefkopf). Dadurch sollen der Briefkopf und die Adresse etc. auf jeder Seite ausgegeben werden.

Außerdem wollte ich gerne erreichen, dass die Inhalte der "Fußzeilen"-Bereiche zusammengehalten werden, also z.B. nicht der Rabatt auf der einen Seite steht und die restlichen Summen und die Zahlungshinweise auf der Folgeseite.

Deinen Vorschlag mit der zusätzlichen Fußzeile hatte ich auch schonmal probiert, allerdings lässt sich damit nicht erreichen, dass die "Kopfzeile - POSITIONEN" auf jeden Fall auf der Folgeseite ausgegeben wird (diese Kopfzeile kann nur gedruckt werden, solange der "cut" von "Detail" zu "Fußzeile" noch nicht erfolgt ist.

Ich hatte nach meinem ersten Beitrag auch weiter probiert und war bei einer ähnlichen SQL-Abfrage gelandet, wie du sie vorgeschlagen hattest. Ich habe dazu im Report einen neuen Datensatz angelegt (ANZAHLPOSITIONEN), die SQL-Abfrage dazu lautet:
SELECT COUNT(nr) as AnzPos
FROM rechnrep

Damit steht im Report die Anzahl der Positionen als ANZAHLPOSITIONEN.AnzPos zur Verfügung. Die Nummer der aktuell gedrucken Position kann über das Feld POSITION.NR angesprochen werden. In Verbindung mit der Funktion "m.free_space_cms" kann man dann feststellen, ob der restliche Platz auf der Seite für die Fußzeilen noch ausreicht, oder nicht.

Details gerne auf Rückfrage.


Viele Grüße --
Markus
Auf diesen Beitrag antworten
Forum Richtlinien