Fix lifecycle compatibility guidance (#93)

* Fix lifecycle compatibility guidance

Correct high-confidence Business Central guidance and samples for upgrade tags, collectible errors, trigger semantics, obsoletion, events, interfaces, API contracts, and test transactions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e05a43e7-6448-4d67-9c73-798523f5d945

* Address guidance review findings

Gate SecretText guidance to BC23 and clarify that the collectible-error sample intentionally emits a message-only blocking aggregate.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e05a43e7-6448-4d67-9c73-798523f5d945

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
This commit is contained in:
Jesper Schulz-Wedde 2026-07-14 11:26:16 +02:00 committed by GitHub
parent aca3986fd0
commit 5706959e4a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
32 changed files with 201 additions and 104 deletions

View file

@ -1,16 +1,17 @@
codeunit 50220 "Upgrade New Field Init"
codeunit 50220 "Upgrade Trigger Aware"
{
Subtype = Upgrade;
local procedure InitializeNewFlagOnMyTable()
local procedure UpdateCustomerCreditLimit()
var
MyTable: Record "My Table";
DT: DataTransfer;
Customer: Record Customer;
begin
// "New Flag" is added in the same change as this upgrade procedure.
// No existing validation logic depends on it, so DataTransfer is safe.
DT.SetTables(Database::"My Table", Database::"My Table");
DT.AddConstantValue(true, MyTable.FieldNo("New Flag"));
DT.CopyFields();
if Customer.FindSet(true) then
repeat
// Validate runs the field OnValidate logic; Modify(true) separately
// runs the table OnModify trigger and its row-based events.
Customer.Validate("Credit Limit (LCY)", 50000);
Customer.Modify(true);
until Customer.Next() = 0;
end;
}