Record.FindFirst() Method

Version: Available or changed with runtime version 1.0.

Finds the first record in a table based on the current key and filter.

Syntax

[Ok := ]  Record.FindFirst()

Parameters

Record
 Type: Record
An instance of the Record data type.

Return Value

[Optional] Ok
 Type: Boolean
true if the operation was successful; otherwise false. If you omit this optional return value and the operation does not execute successfully, a runtime error will occur.

Remarks

This method should be used instead of Find('-') when you only need the first record.

You should only use this method when you explicitly want to find the first record in a table or set. Do not use this method in combination with Repeat.. Until.

Calling FindFirst on an empty table from the OnNewRecord trigger causes the Business Central Server to throw an exception, and the AL execution stops. However, the client suppresses this error and does not show any error message to the user. Therefore, when using FindFirst inside this trigger, you should add code that conditionally verifies whether a record was found, and if not, notify the user with a message. For example:

if not MyRecord.FindFirst then
    Error('error message');

Example

This example also assumes that you have a ConfigurePost method.

var
    SalesSetupRec: Record "Sales & Receivables Setup";
begin
    // Read the first record only. 
    if SalesSetupRec.FindFirst then
        begin
           ConfigurePost(SalesSetupRec);
        end;
end;

See Also

Record Data Type
Get Started with AL
Developing Extensions
AL Database Methods and Performance on SQL Server