2. Februar 2016 17:13
Hallo Zusammen,
ich entwickle derzeit einen Report der folgendermaßen aufgebaut ist:
Als erstes DataItem habe ich die Tabelle Integer darauf folgend kommt eine Tabelle, in der wird sozusagen alle Verkäufe zusätzlich, mit allen möglichen den Auftrag betreffenden Daten füllen (Spediteur, Liefermenge, Kundenfachgruppe, Produktgruppe usw.)
Der Report soll alle Mengen eines Jahres für den jeweiligen Kunden zusammenrechnen, und das ganze in Briefform rausschicken. Er kann aber auch für einzelnde Kunden aufgerufen werden oder auch nicht als Briefform, sondern als Liste für interne Arbeiten.
Integer (Wird einmal durchlaufen)
->Jahresstatistik (enthält alle notwendigen Daten) (Wird gruppiert nach Kundennr.)
Die Jahresstatistik enthält einen Schlüssel auf die Kundennr., Lieferdatum der auch verwendet wird.
Im OnAfterGetRecord Trigger wird die Kundennr. in eine Variable weggespeichert und jedes Mal die Kundennr. des letzten Datensatzes mit der aus dem aktuellen Datensatz verglichen. Kommt es zu einem Nummernwechsel, wird der Header neugebildet und ein NEWPAGE ausgeführt.
Das Ganze funktioniert aber erst ab dem 2. Kunden. Beim ersten Kunden (Oder Einzelkundenaufruf) springt er (Laut Debugger) nachdem OnAfterGetRecord-Trigger sofort in den Footer (Es gibt 7 Header, 1 Body, 1 Groupfooter, 3 Footer), danach führt er zweimal den 1. Header aus (Auf einer Seite), dann willkürlich die anderen Header (Keine Reihenfolge, er springt auch nicht in OnPreSection), die Seiten sind mal mit und mal ohne Footer. Ganze 4 Seiten lang macht er eigentlich murks.
Dann kommt der 2. Kunde und ab da läuft alles wie geschmiert. Keine Fehler etc.
Ich verzweifel an dem Report, ich probiere schon nur noch willkürlich irgendwelche Properties, Variablen usw. zu setzen ohne echtes Vorankommen...
Vielen Dank für Hilfe und Tipps.
3. Februar 2016 10:43
Füllst du die Jahresstatistik in dem Integer-DataItem?
Wenn ja prüfe mal ob irgendwelche Filter gesetzt sind und mache einen Clear vor dem Abarbeiten der Jahresstatistik.
Wenn die Jahresstatistik eine statische Tabelle ist mit vorhandenen Datensätzen versuche doch mal statt dem Integer-DataItem ein Customer-DataItem vorzuschalten, dann musst du dich nicht mit Nummernvergleich und Newpage herumschlagen
3. Februar 2016 10:54
Die Jahresstatistik enthält eigene Datensätze. Ein Customer vorzuschalten hatte ich auch schon überlegt, allerdings werden Filter angewendet, die so nur auf der Jahresstatistik funnktionieren, wobei ich das mit einem PrintOnlyifDetail umgehen könnte.
Achja, alle Sections gehören zum Dataitem Jahresstatistik. Der Integer stellt nichts bereit.
3. Februar 2016 11:33
hmm, wichtig sind halt die Properties "GroupTotalFields" und das die Felder die du da angibst auch Teil des aktiven Schlüssels sind. In den Group-Sections arbeitest du dann mit CurrReport.showoutput = (CurrReport.TOTALSCAUSEDBY = )
Falls alles nichts hilft, kannst du dir mit FlowFiltern und FlowFields in der Tabelle Customer behelfen?
Ansonsten ist das ohne den Code zu sehen schwer zu sagen, vielleicht ist nur irgendwo ne Kleinigkeit verkehrt die dir das Leben erschwert.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.