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.

Möbel-Meller KG Saldo: 260.881,60 Fälliger Saldo:12,05