AutoCalcFields should only be used for FlowFields or Blob fields
Properties
PC0007
Error
Design
Code Fix
Ignore Obsolete
SetAutoCalcFields
tells the platform which fields to compute automatically on every subsequent read (FindSet, FindFirst, Get, etc.). The method only accepts FlowFields and Blob fields — passing a normal field causes a runtime error.
Normal fields are already loaded with every read operation. Remove any non-FlowField, non-Blob fields from the SetAutoCalcFields call.
Example
procedure CalcCustomerBalance()
var
Customer: Record Customer;
begin
Customer.SetAutoCalcFields("Balance (LCY)", Name); // AutoCalcFields should only be used for FlowFields or Blob fields [PC0007]
end;"Balance (LCY)" is a FlowField and is valid. Name is a normal field and triggers the diagnostic. Remove it:
procedure CalcCustomerBalance()
var
Customer: Record Customer;
begin
Customer.SetAutoCalcFields("Balance (LCY)");
end;