Fußzeile - Zwischensumme bei Seitenwechsel stimmt nicht

Hallo!

Wir haben das Problem, dass die Zwischensumme (Fußzeile) bei ausgeblendeten Datenzeilen die ersten Vorkommnisse auf der nächsten Seite mit dazu rechnet.
Scheinbar “denkt” der Compiler, dass dies noch auf der vorherigen Seite angezeigt wird und addiert diese dazu.

Hier ein Screenshot des erzeugten Reports, bei dem die Tabelle mit den Ergebnissen über die 1. Seite hinaus gehen und die Summe aller Gruppenfuß-Werte in der Spalte “Anzahl” 106 betragen müsste, es aber 19 mehr (also 125) in der Fußzeile anzeigt, was genau der Anzahl des Ergebnis “Steuer” von der 2. Seite entspricht (106 + 19 = 125)

Das Problem konnte ich in dem Beispiel “Artikelliste mit Gruppierung” ebenfalls nachvollziehen.
Dort wird auch der Artikel “RNT” auf der zweiten Seite mit auf der Zwischensumme der 1. Seite aufgeführt.

Ich habe vorerst die Zwischensummenausgabe deaktiviert in dem ich die Fußzeile nur noch wenn LastPage()=true ist anzeigen lasse, würde mich aber über eine Lösung des Problems freuen.

Hier noch die Beispielliste zum nachvollziehen:
Artikelliste mit Gruppierung und unterdrückten Datenzeilen.lst (108.5 KB)

Grüße

Vielen Dank für die sehr gut aufbereitete Frage :slight_smile:. So unerwartet das ist - die Ausgabe ist korrekt. Der Gruppenfuss wird ja erst ausgelöst, wenn der erste Artikel der nächsten Gruppe (in Ihrem Fall “Brot”) übergeben wird. In diesem Moment wird dann von LL der Seitenumbruch ausgelöst, da der Gruppenfuss keinen Platz mehr hat. Für die Summierung ist es da schon zu spät.

Lösung könnte sein, im Gruppenfuss etwas wie SetVar("Übertrag" , NullSafe(GetVar("Übertrag")) +@gruppensumme) zu verwenden, in der Fusszeile dann GetVar("Übertrag"). Ich kann das mangels Rechner nicht ausprobieren, melden Sie sich gerne noch einmal wenn das nicht klappen sollte.

Danke für die Antwort.

Die Lösung scheint sofern man beim SetVar explizit noch einen Cast auf eine Zahl macht zu funktionieren (und man den 3. Parameter auf false setzt, damit der summierte Wert nicht angezeigt wird sondern nur gesetzt):

SetVar(“Übertrag” , NullSafe(Val(GetVar(“Übertrag”))) +@gruppensumme, false)

Ich kann allerdings der unerwarteten Aussage “die Ausgabe ist korrekt” nicht wirklich zustimmen.
Eine Zwischensumme, bei der die Ausgabe nicht der tatsächlichen angezeigten Ergebnisse entspricht, kann man nicht als “korrekt” bezeichnen.

Trotzdem ist das Problem mit der von dir beschriebenen Anpassung behoben.
Danke !

1 Like

Die Zwischensumme “weiß” ja nichts davon, dass sie eine Zwischensumme ist. Zum Zeitpunkt der Ausgabe (der eben später ist, als es aussieht - nämlich in dem Moment, in dem der übernächste Fuß ausgelöst wird) ist die Summierung durchaus korrekt. Aber ja - sehr unerwartet. Ich freue mich, dass die Lösung mit kleinen Anpassungen funktioniert hat :slight_smile:.