mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-08 18:31:36 +01:00
Add 15 community knowledge articles from BC Code Intel ingest (#66)
* Add 15 community knowledge articles from BC Code Intel ingest Ingests net-new /community knowledge from BC Code Intelligence, surviving the admission test, gray-zone salvage, and dedup against the full corpus. Domains: ui (6), error-handling (3), performance (2), upgrade (1), appsource (1), security (1), telemetry (1). The two BC24 No. Series migration drafts are merged into one article. Adds good/bad AL samples for the clean-fit articles (error-handling, performance, security, telemetry). UI and appsource remain knowledge-only. Validator and knowledge-index checks pass (207 articles). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Correct SetLoadFields JIT-load article to match MS docs The draft claimed accessing an unlisted field "reloads the entire row" per record. Microsoft's partial-records docs say otherwise: the platform does an implicit Get that loads the missing field(s), and in a direct var loop the first JIT updates the enumerator so later iterations do not re-load. The genuine per-row penalty is the pass-by-value case, where the copy's enumerator is not updated. Rewrite the article around JIT loading and the by-value footgun, rename the slug from ...full-reload to ...jit-load, and fix the good/bad samples to demonstrate the by-value repetition accurately. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Jeremy Vyska <jeremy@sparebrained.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6281e7e39a
commit
4119417ce4
29 changed files with 613 additions and 0 deletions
|
|
@ -0,0 +1,33 @@
|
|||
codeunit 50124 "Batch Import Good Sample"
|
||||
{
|
||||
procedure ImportAll(var StagingLine: Record "Sales Line")
|
||||
var
|
||||
FailedCount: Integer;
|
||||
begin
|
||||
if StagingLine.FindSet() then
|
||||
repeat
|
||||
// Isolate each record behind a Codeunit.Run boundary: a failure
|
||||
// inside the run rolls back only that record's work, and the
|
||||
// batch continues instead of discarding everything.
|
||||
if not Codeunit.Run(Codeunit::"Batch Import One Line", StagingLine) then
|
||||
FailedCount += 1;
|
||||
until StagingLine.Next() = 0;
|
||||
|
||||
if FailedCount > 0 then
|
||||
Message('%1 line(s) were skipped; the rest were imported.', FailedCount);
|
||||
end;
|
||||
}
|
||||
|
||||
codeunit 50125 "Batch Import One Line"
|
||||
{
|
||||
TableNo = "Sales Line";
|
||||
|
||||
trigger OnRun()
|
||||
begin
|
||||
// Validation lives here. If it throws, only this line rolls back,
|
||||
// because the caller wrapped the call in Codeunit.Run.
|
||||
Rec.TestField("No.");
|
||||
Rec.TestField(Quantity);
|
||||
Rec.Insert(true);
|
||||
end;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue