mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
* feat(community/agents): add AL agent quality guidance - add 20 agent knowledge rules with good and bad AL samples - clarify setup dialog shape, temporary persistence, permissions, profiles, instructions, capability registration, and interface wiring - add the community-owned AL agents review skill - make review fixture discovery layer-aware with custom, community, and Microsoft precedence - document layer-aware evaluation behavior * fix(community/agents): align setup and permission samples - mark agent setup pages as non-extensible where required - narrow the agent profile by hiding an unrelated sales-order field - define a dedicated read-only permission set for the sales review agent - assign AL-defined permission sets with system scope and the owning app ID - clarify the permission scope guidance for default access controls * Address agent review feedback
33 lines
1.2 KiB
AL
33 lines
1.2 KiB
AL
codeunit 50100 "Sales Review Agent Upgrade"
|
|
{
|
|
Subtype = Upgrade;
|
|
|
|
trigger OnUpgradePerCompany()
|
|
var
|
|
Agent: Codeunit Agent;
|
|
UpgradeTag: Codeunit "Upgrade Tag";
|
|
Instructions: SecretText;
|
|
AgentUserSecurityIds: List of [Guid];
|
|
AgentUserSecurityId: Guid;
|
|
TagTxt: Label 'SALESREVIEW-INSTR-2.0.0', Locked = true;
|
|
InstructionsNameTxt: Label 'Instructions.txt', Locked = true;
|
|
begin
|
|
if UpgradeTag.HasUpgradeTag(TagTxt) then
|
|
exit;
|
|
Instructions := NavApp.GetResourceAsText(InstructionsNameTxt);
|
|
AgentUserSecurityIds := GetExistingAgentUserIds();
|
|
foreach AgentUserSecurityId in AgentUserSecurityIds do
|
|
Agent.SetInstructions(AgentUserSecurityId, Instructions);
|
|
UpgradeTag.SetUpgradeTag(TagTxt);
|
|
end;
|
|
|
|
local procedure GetExistingAgentUserIds() AgentUserSecurityIds: List of [Guid]
|
|
var
|
|
SalesReviewAgentSetup: Record "Sales Review Agent Setup";
|
|
begin
|
|
if SalesReviewAgentSetup.FindSet() then
|
|
repeat
|
|
AgentUserSecurityIds.Add(SalesReviewAgentSetup."User Security ID");
|
|
until SalesReviewAgentSetup.Next() = 0;
|
|
end;
|
|
}
|