Seitenumbruch und falsche Summenbildung

19. August 2009 09:42

Hallo,

momentan haben wir mit einem report bei der anpassung probleme.

wir wollen/haben dem report summenfunktionen zugefügt, diese funktionieren auch so erstmal problemlos.

aber dabei fällt auf, dass der report beim seitenumbruch nicht alle zahlen bis zum footer aufsummiert, sondern nah am footer stehende werte elegant auslässt, diese aber dann auf der nächsten seite mitzählt.

mittlerweile habe ich einige sachen probiert, aber so recht wird es nichts.

Es handelt sich um den Report Artikeljournal (703).

Vielen Dank für eure Hilfe!

Re: Seitenumbruch und falsche Summenbildung

19. August 2009 09:55

Kenn ich :-/, da ist die automatische Summierung mackelig (wann und wann nicht, konnte mir bisher auch keiner sagen). Dies gilt im Übrigen gerade für Überträge, also den TransHeader/TransFooter.

Wir haben es so gelöst: Statt automatisch aufzusummieren, eine globale Variable verwenden. Diese an passender Stelle initialisieren.
In jeder Section, die die aufzusummierende Textbox enthält, im OnPostSection-Trigger *:
Code:
IF CurrReport.SHOWOUTPUT THEN
  DeineVariable += Feldinhalt;


Im Footer statt Feldinhalt nun DeineVariable als SourceExpr angeben.

* Momentan die einzig sinnvolle Anwendung, die ich für diesen Trigger kenne.

Re: Seitenumbruch und falsche Summenbildung

19. August 2009 10:13

Ne Variante mit ner globalen variable habe ich im ansatz schon gemacht, brauch also im endeffekt nur noch den code zufügen und schauen was passiert!

Danke Stoni

Re: Seitenumbruch und falsche Summenbildung

19. August 2009 11:54

so ich hab es eingefügt und bemerkt, dass er richtig anfängt, dann aber sich komplett verwirrt.

durch mehrere transheader und -footer rechnet er jetzt manche sachen doppelt und andere übernimmt er waghalsige werte aus den vorhergehenden feldern, obwohl ich darauf geachtet habe, dass ich verschiedene globale variablen sauber verknüpfe...

Aufbau:
1.Item Register TransHeader (übernimmt den Wert des vorangegangenen Footers/alles stimmig/Variable Quant)
2. Item Ledger Entry Body (gibt die eigentlichen Werte aus/Zuweisung Quant2 += "Quantity"/CreateTotals für "Quantity")
3. Item Ledger Entry TransFooter (Teilmengen/Variable Quant2/Zuweisung Quant1 Quant1 += Quant2)
4. Item Ledger Entry Footer (Gesamtmenge pro Item Ledger Entry/Variable Quant2/Zuweisung Quant1 Quant1 += Quant2)
5.Item Register TransFooter (Fortsetzungsumme/Variable Quant1/Zuweisung Quant := Quant1)
6.Item Register Footer (Berichtgesamtmenge/Variable Quant1)

Den ersten Datensatz rechnet er richtig, dem zweiten Datensatz (Seitenumbruch und Teilmenge) rechnet er den ersten Datensatz hinzu.
Fortsetzungssumme ist auf der Seite korrekt, nur um den Wert des ersten Datensatzes zu hoch.
Gesamtmenge ist richtig, leider wieder um den Wert des ersten Datensatzes zu hoch.
Gesamtmenge des 3. Datensatzes mindert er um den Gesamtumsatz des ersten Datensatzes und zieht die um 1 erhöhte Menge vom hinterlegten Wert ab.
usw. ...

hoffe es ist einigermaßen zu verstehen