2017-12-07 2 views
0

Ich habe einen Bericht in Crystal Reports 11, der 2 Bilder oben in der Kopfzeile enthält. Ich habe eine Formel, die in der Fußzeile läuft. Ich möchte diese Bilder basierend auf dem Wert der Formel ausblenden/anzeigen, aber wenn der Bericht geladen wird, werden die Bilder geladen, bevor die Formel ausgeführt wird, sodass sie nicht ordnungsgemäß angezeigt werden. Gibt es eine Möglichkeit, den Ladevorgang von etwas in der Kopfzeile zu verzögern, bis am Ende etwas ausgeführt wurde? Grundsätzlich laden Sie ein Bild am Ende des laufenden Berichts?Crystal Reports 11 Feld ausblenden, bis Formel ausgeführt wird

Das Szenario ist eine doppelte Rechnung/Rechnung. Der geschuldete Formel-Saldo befindet sich in Footer Group Footer 3H. Die Textfelder befinden sich im Gruppenkopf 3a. Zu dem Zeitpunkt, zu dem der Bericht ausgeführt wird, zeigt @BalanceOwed einen Saldo an, aber wenn der Bericht vollständig ausgeführt wird, ist @BalanceOwed gleich 0. In diesem Fall sollte das Textfeld "Empfang" im Gegensatz zum Textfeld "Rechnung" angezeigt werden Wenn @BalanceOwed> 0 ist.

Ich weiß, wie man etwas basierend auf Werten unterdrückt, aber nicht basierend auf Werten, die zu dem Zeitpunkt nicht existieren, zu dem der Bericht das Element zum Ausblenden/Anzeigen erstellt.

Danke.

Jayson

Antwort

0

Verwenden der EvaluateAfter() -Funktion in dem Bildauswahlformel. Geben Sie EvaluateAfter() den Namen der Formel in der Fußzeile an, die zuerst ausgeführt werden muss.

Sie setzen den EvaluateAfter() in die Bedingungsunterdrückungsformel des Felds/Bildes am Anfang der Formel vor jeder anderen Logik.

EvaluateAfter() weist den Kristall an, die Formel erst auszuführen, nachdem die angegebene Formel ausgeführt wurde.

+0

Danke für den Vorschlag. Frage, wie ich das vorher noch nie benutzt habe. Um zu sehen, was passiert, habe ich eine Formel namens EvaluateAfter ({BalanceDue}) erstellt und diese in die Kopfzeile eingefügt, in der sich das Textfeld befindet, das ich ausblenden möchte. Ich habe auch BalanceDue dort platziert, nur um zu sehen, was gezeigt wird. Ich lief den Bericht und der Bericht kommt mit einem Saldo auf den Bericht von 409,00. Das ist im Feld "Fälligkeitsdatum" auf der Rechnung angegeben. In der Kopfzeile zeigt BalanceDue 409,00 und EvaluateAfter ({BalanceDue}) 0 an. Wenn ich dies mit einer möglichen Rechnung/Quittung führe, zeigt der EvaluateAfter-Aufruf immer 0 an. – Jayson

+0

Ich glaube, das Format sollte eigentlich 'EvaluateAfter ({@ BalanceDue}) ' –

+0

Sie haben das Format korrekt und das ist mein Format. Ich entfernte die @ -Symbole, da ich die Antwort nicht mit ihnen darin posten konnte. – Jayson

Verwandte Themen