Summierung über ein sich berechnendes Feld
Elisabeth Schluga
Hallo Zusammen,ich habe folgendes Problem:
Habe mir mit Coresuite einen "Zahlungsplan der Kunden" erstellt. Der "offene Betrag" errechnet sich im letzten Textfeld automatisch je nach Fälligkeitsdatum, hinterlegter Zahlungsbedingung und bereits eingezahlte Werte.
Das Feld "offener Betrag" habe ich mit dem Script Editor umgesetzt.
textBox21.Value = ... je nach if-Abfrage.
Am Ende des Reports möchte ich nun eine Summe über alle angedruckten "offenen Beträge".
Wie kann ich das realisieren? Eine Aggregatfunktion habe ich schon angelegt. Allerdings was muss in die Expression - es schein als könne ich hier nur auf Werte zugreifen, die ich fix in meinen data-bands hinterlegt habe.
nur textBox21.Value (für "offenen Betrag") kann ich nicht schreiben - es kommt zwar keine Fehlermeldung, aber die Seite bleibt leer.
Bitte um Unterstützung.
Besten Dank Elisabeth
Mario Höfer
Hallo,möglich wäre es die Berechnungen im GetDataScript des Databands durchzuführen und in einer Variablen zu speichern (definiert im CommonScript des Templates). Diese Variable kann dann für die Ausgabe und die Summenberechnung verwendet werden.
z.B. Dim Result As Double
diese Variable im GetDataScript über die Berechnungen befüllen
und die Variable Result zur Ausgabe und in der Aggregate Expression verwenden.
Damit sollte es eigentlich funktionieren.
Ich hoffe daß ich zumindest ein bischen weiterhelfen konnte.
Gruß,
Mario Höfer
Elisabeth Schluga
Danke hat funktioniert!Wusste gar nicht dass es möglich ist globale Variablen anzulegen.
Eine Frage habe ich noch zu DoublePass.
Habe ich eine Möglichkeit den 2. Durchlauf abzufangen?
Wenn ja wie?
LG
Elisabeth
Mario Höfer
Ja das geht. Und zwar über:Engine.IsDoublePass bzw.
not Engine.IsDoublePass
Elisabeth Schluga
Danke hat wunderbar funktioniert :PBin jetzt allerdings bzgl. Summe auf eine nächstes Problem gestoßen.
Ich arbeite mit Variablen und summiere so meine sich berechnenden Felder.
Wie erhalte ich nun die korrekte Summe innerhalb einer Gruppierung?
Kann ich die Gruppierung abfragen?
Man kann sich das so vorstellen:
Ich bearbeite die OP-Liste von Coresuite Accounting.
In dieser Liste wird in der ersten Zeile immer die Gesamtsumme angezeigt,
anschließend werden die Zeilen aufgelistet, aus denen sich die gezeigte Summe zusammensetzt.
Ich habe diese OP-Liste um Felder erweitert. Die Felder berechnen sich je nach Abfrage automatisch. In der ersten Zeile des Geschäftspartners möchte ich ebenfalls die Summe pro Geschäftspartner von diesen sich errechnenden Zeilen andrucken.
Nun habe ich 2 Probleme:
- Die Summe kann erst nach Ermittlung und Berechnung der Einzelzeilen ermittelt werden und muss trotzdem vorher angedruckt (eine Zeile oberhalb) werden.
- Wie Summiere ich innerhalb einer Gruppe wenn ich nicht im Punkt "Totals" eine Summe für den Bericht neu definieren kann, da es sich um sich berechnende Felder handelt?!?
Kann mir da jemand Auskunft geben?
LG
Philipp Knecht
HalloEntweder du löst es über die Totals (Kannst auch Funktionen mit if und else und etc... benutzen) dann hast du die Anzeige geschenkt oder du
speicherst deine Berechnungen selber in einer Hashtable (Objekt in .NET -> ev. ggogeln) pro Gruppe ab und füllst diese im 1. Durchlauf ab und zeigst sie im zweiten an.
Aber Totals zu verwenden tönt irgendwie einfacher ;)
hth
Elisabeth Schluga
Hallo Philipp,danke für deine Antwort.
Habe ich bei den Totals auch die Möglichkeit gruppenbedingt abzufragen?
Oder muss ich mir irgendwo mitspeichern wenn sich zB der Geschäftspartner ändert?
Oder gibts in den Totals eine Gruppierungsfunktion?
Eventuell stehe ich da auf der Leitung?
LG
Elisabeth
Philipp Knecht
HalloTotals die innerhalb voun GroupBands verwendet werden geben autom. die richtige Summe aus.
Nehmen wir mal an dass ein Groupband mit Groupexpression in der Form : dataBand1("CardCode") existiert.
Falls in dieses Band nun ein Header eingefügt wird und dort eine Textbox mit Value : GetTotal("MeinTotal") eingefügt wird, wird autom. die Gruppensumme / CardCode genommen.
hth
0
Please sign in to leave a comment.
Comments
0 comments