I get the error when I open the page from the search engine.


The details of the error are as follows:
If requesting support, please provide the following details to help troubleshooting:
Error message:
Document No. must have a value in Sales Subscription Line: Line No.=0. It cannot be zero or empty.
AL call stack:
"Sales Subscription Line"(Table 8068).GetSalesHeader line 4 - Subscription Billing by Microsoft version 27.1.41698.41776
"Sales Subscription Line"(Table 8068).GetCurrency line 4 - Subscription Billing by Microsoft version 27.1.41698.41776
I believe the error occurs because the page is not located in the registry, and when AutoFormatExpression is executed, it ends up calling TestField("Document No.")
field(15; "Calculation Base Amount"; Decimal)
{
Caption = 'Calculation Base Amount';
MinValue = 0;
BlankZero = true;
AutoFormatType = 1;
AutoFormatExpression = GetCurrency();
trigger OnValidate()
begin
TestIfSalesOrderIsReleased();
CalculatePrice();
end;
}
local procedure GetCurrency(): Code[10]
var
SalesHeader: Record "Sales Header";
begin
GetSalesHeader(SalesHeader);
exit(SalesHeader."Currency Code");
end;
local procedure GetSalesHeader(var OutSalesHeader: Record "Sales Header")
var
SalesHeader: Record "Sales Header";
begin
TestField("Document No.");
if ("Document Type" <> SalesHeader."Document Type") or ("Document No." <> SalesHeader."No.") then
if SalesHeader.Get("Document Type", "Document No.") then
if SalesHeader."Currency Code" = '' then
Currency.InitRoundingPrecision()
else begin
SalesHeader.TestField("Currency Factor");
Currency.Get(SalesHeader."Currency Code");
Currency.TestField("Unit-Amount Rounding Precision");
Currency.TestField("Amount Rounding Precision");
end
else
Clear(SalesHeader);
OutSalesHeader := SalesHeader;
end;