UNPKG

bc-code-intelligence-mcp

Version:

BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows

61 lines (55 loc) 1.76 kB
# TestField Implementation Patterns ## Entry Point Validation ```al procedure ProcessSalesOrder(var SalesHeader: Record "Sales Header") begin // Validate prerequisites at procedure entry SalesHeader.TestField("Document Type", SalesHeader."Document Type"::Order); SalesHeader.TestField("Sell-to Customer No."); SalesHeader.TestField("Order Date"); // Continue with business logic ProcessOrderLines(SalesHeader); end; ``` ## State-Dependent Validation ```al procedure ReleasePurchaseDocument(var PurchaseHeader: Record "Purchase Header") begin case PurchaseHeader."Document Type" of PurchaseHeader."Document Type"::Order: begin PurchaseHeader.TestField("Buy-from Vendor No."); PurchaseHeader.TestField("Expected Receipt Date"); end; PurchaseHeader."Document Type"::Invoice: begin PurchaseHeader.TestField("Buy-from Vendor No."); PurchaseHeader.TestField("Posting Date"); end; end; end; ``` ## Conditional Field Requirements ```al trigger OnValidate() begin if "Payment Method Code" <> '' then begin PaymentMethod.Get("Payment Method Code"); if PaymentMethod."Bal. Account Type" = PaymentMethod."Bal. Account Type"::"Bank Account" then TestField("Bank Account No."); end; end; ``` ## Try Function Integration ```al procedure TryValidateCustomerData(CustomerNo: Code[20]): Boolean var Customer: Record Customer; begin if not Customer.Get(CustomerNo) then exit(false); Customer.TestField(Name); Customer.TestField("Customer Posting Group"); exit(true); end; ```