mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-06 23:26:55 +01:00
* Add trigger-default and declined-Confirm knowledge with review cues Three Microsoft-layer articles with good/bad samples: - error-handling/declined-confirm-must-abort-not-partially-apply - data-modeling/delete-master-data-with-trigger - data-modeling/master-data-must-be-inserted-with-trigger Wire targeted worklist cues into al-error-handling-review and al-data-modeling-review and register the samples in review-fixtures.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Tighten declined-confirm, delete and insert trigger articles after review Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
51 lines
1.5 KiB
AL
51 lines
1.5 KiB
AL
table 50100 "Sample Mailbox Watch"
|
|
{
|
|
fields
|
|
{
|
|
field(1; "Code"; Code[20])
|
|
{
|
|
}
|
|
field(2; "Watched Email"; Text[250])
|
|
{
|
|
trigger OnValidate()
|
|
var
|
|
StopWatchingQst: Label 'Email %1 is being watched. Stop watching it?', Comment = '%1 = previous email address';
|
|
begin
|
|
if "Watched Email" = xRec."Watched Email" then
|
|
exit;
|
|
if xRec."Watched Email" <> '' then
|
|
if Confirm(StopWatchingQst, false, xRec."Watched Email") then begin
|
|
Unsubscribe("Subscription ID");
|
|
Clear("Subscription ID");
|
|
end;
|
|
// On "no" the old subscription is never removed, yet the new value is
|
|
// kept and the only field that tracked it is overwritten: it is orphaned.
|
|
if "Watched Email" <> '' then
|
|
"Subscription ID" := Subscribe("Watched Email");
|
|
end;
|
|
}
|
|
field(3; "Subscription ID"; Guid)
|
|
{
|
|
Editable = false;
|
|
}
|
|
}
|
|
|
|
keys
|
|
{
|
|
key(PK; "Code")
|
|
{
|
|
Clustered = true;
|
|
}
|
|
}
|
|
|
|
local procedure Subscribe(EmailAddress: Text[250]): Guid
|
|
begin
|
|
// Registers EmailAddress with the external watch service and returns its subscription.
|
|
exit(CreateGuid());
|
|
end;
|
|
|
|
local procedure Unsubscribe(SubscriptionId: Guid)
|
|
begin
|
|
// Removes the subscription from the external watch service.
|
|
end;
|
|
}
|