bcquality/microsoft/knowledge/error-handling/defensive-vs-offensive-code-must-match-blast-radius.good.al
Michael Dieringer a4d85c3e9e Add 18 more community AL/BC patterns across appsource, data-modeling, error-handling, security, style, testing, ui, upgrade, and web-services
Second contribution from CURABIS ApS, generalized from patterns observed across real AppSource/PTE development. Cross-checked against the current microsoft/knowledge corpus before opening; several originally-drafted candidates were dropped as duplicates of existing files.
2026-09-21 22:42:49 +02:00

10 lines
578 B
Perl

// Low blast radius: guard, with an explicit chosen fallback.
if SalesHeader.Get(SalesHeader."Document Type"::Order, DocumentNo) then
VATRegNo := SalesHeader."VAT Registration No.";
// Blank is an acceptable, deliberately-considered default here - the field
// is informational and a reviewer sees it before the document ships.
// High blast radius: let it fail loud, because this feeds posted VAT.
SalesHeader.Get(SalesHeader."Document Type"::Order, DocumentNo);
SalesHeader.TestField("VAT Bus. Posting Group");
VATBusPostingGroup := SalesHeader."VAT Bus. Posting Group";