RECORDID

Die Funktion RECORDID liefert die Record-ID (RecordID) des Datensatzes (Record), der gerade in der Tabelle ausgewählt ist.

Parameter

Record steht für die eingefilterte Record-Variable, für deren Datensatz man die RecordID ausgeben möchte.

Rückgabewert

Der Befehl liefert eine RecordID zurück, die sich aus der Tabellen-ID sowie den Werten der Primärschlüsselfelder des Datensatzes zusammensetzt.

Weitere Informationen

Der Rückgabewert des Befehls RECORDID kann mit Hilfe der Funktion FORMAT zur Ausgabe in einen Text umgewandelt werden. Hierbei wird die Tabellen-ID in den Namen der Tabelle umgewandelt. Zusätzlich kann über den „FormatNumber”-Parameter der FORMAT-Funktion bestimmt werden, ob der Name der Tabelle (0) oder die Caption der Tabelle für die aktuelle Sprache (1) ausgegeben werden soll. Bei dem Debitoren mit der Debitoren-Nummer 10000 sähe das ganze in einer deutschsprachigen Anwendung wie folgt aus:

FORMAT-Aufruf Ausgabe
FORMAT(Customer.RECORDID,0,0) Customer: 10000
FORMAT(Customer.RECORDID,0,1) Debitor: 10000

Beispiel

Für unser Beispiel legen wir eine Stapelverarbeitung an, die alle Debitoren durchläuft und eine Fehlermeldung ausgibt, wenn ein Debitor gefunden wird, dessen „Fälliger Saldo (MW)” größer ist als sein „Kreditlimit (MW)”.
Hierzu legen wir ein neues Objekt vom Typ Report mit dem Dataitem „Customer” an, bei dem wir die Eigenschaft „ProcessingOnly” auf „Yes” setzen. Zusätzlich benötigen wir folgende Textkonstante:
Name ConstValue
BalanceDueOverCreditLimitErr Bei dem %1 liegt das fällige Saldo über dem Kreditlimit!

Da es sich bei dem Feld „Fälliges Saldo (MW)” um ein Flowfield handelt, fügen wir in den „OnPreDataItem”-Trigger ein SETAUTOCALCFIELDS ein, um das Feld bei jedem Aufruft der Variable direkt zu berechnen:

SETAUTOCALCFIELDS("Balance Due (LCY)");

Anschließend fügen wir folgenden Code in den „OnAfterGetRecord”-Trigger ein:

IF "Credit Limit (LCY)" < "Balance Due (LCY)" THEN
    ERROR(BalanceDueOverCreditLimitErr,FORMAT(RECORDID,0,1));

Wenn wir die Stapelverarbeitung nun starten, erscheint folgende Meldung in Microsoft Dynamics 365 Business Central:

Bei dem Debitor: 01445544 liegt das fällige Saldo über dem Kreditlimit!