[Ok :=] CALCFIELDS(Field1, [Field2],...);
CALCFIELDS
Die Funktion CALCFIELDS berechnet die Werte für ein oder mehrere FlowFields (Field1, [Field2]) einer Record-Variable neu.
Parameter
Es muss mindestens ein Feld (Field1) angegeben werden und eine maximal zugelassene Anzahl an Feldern gibt es nicht. Dabei können alle FlowFields des hinterlegten Records eingebunden werden. Dies hätte allerdings einen höheren Arbeitsaufwand seitens Dynamics NAV zur Folge, was zu Verzögerungen des Programms führt.
Es können nur FlowFields und BLOB-Felder angegeben werden. Wird allerdings ein normales Feld als Parameter angegeben, wird bei Ausführung des Codes eine Fehlermeldung ausgegeben, dass das Feld ein FlowField sein muss.
Rückgabewert
Der Rückgabewert ist optional abzufragen. Konnte die Funktion CALCFIELDS erfolgreich durchgeführt werden, liefert dieser TRUE, ansonsten FALSE zurück.
FlowFields auf Seiten und Berichten
Wenn ein FlowField auf Seiten oder in Berichten in der Eigenschaft „SourceExpr“ hinterlegt wurde, dann wird dieses FlowField automatisch berechnet und die Funktion CALCFIELDS ist nicht erforderlich.
Beispiel
Folgende globale Variable wird hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
Customer | Record | Customer |
WITH Customer DO BEGIN GET('10000'); SETRANGE("Date Filter",0D,TODAY); CALCFIELDS(Balance,"Balance Due"); MESSAGE( '%1\Saldo: %2\Fälliger Saldo: %3', Name, Balance, "Balance Due"); END;
Sobald der C/AL-Code ausgeführt wird, wird uns in Dynamics NAV die nachfolgende Meldung ausgegeben.