mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 17:36:53 +01:00
- Introduced guidelines for using the "CMFRT" prefix in object names, fields, and procedures to avoid naming collisions and ensure clarity. - Established rules for object ID ranges to prevent conflicts with other extensions and maintain historical integrity. - Documented best practices and anti-patterns for various coding patterns, including case statements, interface injection, label usage, and validation methods. - Implemented a standards review skill to evaluate AL source changes against CMFRT company standards, ensuring compliance with naming, permissions, and architectural patterns.
38 lines
1.3 KiB
AL
38 lines
1.3 KiB
AL
codeunit 55043 "CMFRT AQ FS ProForma Meth"
|
|
{
|
|
procedure CMFRTAQFSResolveItemToGLAcc(var SalesLine: Record "Sales Line")
|
|
var
|
|
IsHandled: Boolean;
|
|
begin
|
|
IsHandled := false;
|
|
OnBeforeCMFRTAQFSResolveItemToGLAcc(SalesLine, IsHandled);
|
|
if IsHandled then
|
|
exit;
|
|
|
|
DoCMFRTAQFSResolveItemToGLAcc(SalesLine);
|
|
|
|
OnAfterCMFRTAQFSResolveItemToGLAcc(SalesLine);
|
|
end;
|
|
|
|
local procedure DoCMFRTAQFSResolveItemToGLAcc(var SalesLine: Record "Sales Line")
|
|
var
|
|
Item: Record Item;
|
|
GeneralPostingSetup: Record "General Posting Setup";
|
|
ItemNotFoundErr: Label 'Item %1 was not found.', Comment = '%1 = Item No.';
|
|
begin
|
|
Item.SetLoadFields("No.", "Gen. Prod. Posting Group", Description);
|
|
if not Item.Get(SalesLine."CMFRT AQ FS Item No.") then
|
|
Error(ItemNotFoundErr, SalesLine."CMFRT AQ FS Item No.");
|
|
// ... business logic only; early exits here cannot skip OnAfter ...
|
|
end;
|
|
|
|
[IntegrationEvent(false, false)]
|
|
local procedure OnBeforeCMFRTAQFSResolveItemToGLAcc(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
|
|
begin
|
|
end;
|
|
|
|
[IntegrationEvent(false, false)]
|
|
local procedure OnAfterCMFRTAQFSResolveItemToGLAcc(var SalesLine: Record "Sales Line")
|
|
begin
|
|
end;
|
|
}
|