mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +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.
33 lines
1.3 KiB
AL
33 lines
1.3 KiB
AL
page 55035 "CMFRT AQ FS JJL API"
|
|
{
|
|
PageType = API;
|
|
SourceTable = "CMFRT AQ FS JJL Buffer"; // buffer table, not Job Journal Line
|
|
|
|
trigger OnInsertRecord(BelowxRec: Boolean): Boolean
|
|
begin
|
|
// Side effects only; framework performs the default insert.
|
|
Rec.CMFRTAQFSLogIncomingRequest();
|
|
end;
|
|
}
|
|
|
|
codeunit 55038 "CMFRT AQ FS JJL Proc"
|
|
{
|
|
procedure CMFRTAQProcessPendingEntries()
|
|
var
|
|
JJLBuffer: Record "CMFRT AQ FS JJL Buffer";
|
|
JJLCreator: Codeunit "CMFRT AQ FS JJL Creator";
|
|
begin
|
|
JJLBuffer.SetRange("CMFRT AQ Status", "CMFRT AQ Buffer Status"::"CMFRT AQ Pending");
|
|
if JJLBuffer.FindSet(true) then
|
|
repeat
|
|
// Proc owns the error boundary: one bad row does not abort the batch.
|
|
if Codeunit.Run(Codeunit::"CMFRT AQ FS JJL Creator", JJLBuffer) then
|
|
JJLBuffer."CMFRT AQ Status" := "CMFRT AQ Buffer Status"::"CMFRT AQ Processed"
|
|
else begin
|
|
JJLBuffer."CMFRT AQ Status" := "CMFRT AQ Buffer Status"::"CMFRT AQ Error";
|
|
JJLBuffer."CMFRT AQ Error Message" := CopyStr(GetLastErrorText(), 1, MaxStrLen(JJLBuffer."CMFRT AQ Error Message"));
|
|
end;
|
|
JJLBuffer.Modify(true);
|
|
until JJLBuffer.Next() = 0;
|
|
end;
|
|
}
|