Lead with a complete plugin quick start and add task-oriented usage, troubleshooting, customization, and contribution guides. Preserve the broader plugin framing, correct conflicting contract guidance, support Agents folder reviews, and align repository validation. Convert existing sample references to clickable links without changing knowledge rules. Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1.4 KiB
| bc-version | domain | keywords | technologies | countries | application-area | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
performance |
|
|
|
|
Reset and empty SetLoadFields restore a full-row load
Contributions welcome — open a PR to refine or extend this article.
Description
SetLoadFields(...) sticks to the record variable until something clears it. Reset() "changes fields select for loading back to all", and SetLoadFields() with no arguments does the same. A later FindSet or Get then materializes every normal field. Agents often place SetLoadFields first, then Reset to apply new filters, and assume the partial selection survives. It does not.
Best Practice
Call Reset (or empty SetLoadFields()) first when the variable must be reused, then call SetLoadFields with the fields the next read actually uses, then apply filters and read. After Reset, a new SetLoadFields is required; the previous list is gone.
See sample: reset-clears-partial-record-selection.good.al.
Anti Pattern
SetLoadFields(...) followed by Reset() (or by parameterless SetLoadFields()) and then FindSet without restoring the load list. The filters look correct; the SQL still selects every column.
See sample: reset-clears-partial-record-selection.bad.al.