bcquality/microsoft/knowledge/style
Michael Dieringer 4a95985c8c Fix four merge-critical issues from Jesper's 2026-09-22 review
- pages-must-not-contain-business-logic.good.al/.bad.al: the "good"
  codeunit still directly assigned real Sales Line."Line Amount" and
  called Modify(), bypassing the field's normal Validate cascade
  (discount, VAT, related-amount maintenance) - persisting inconsistent
  document lines regardless of which object the code lived in. Replaced
  the real Sales Line example with a self-contained "Sample Order Line"
  table and switched the codeunit to Validate()/Modify(true), so the
  fixture demonstrates the page-vs-codeunit separation without teaching
  unsafe direct field writes to a real BC document table.
- bcpt-scenarios-must-be-app-specific.good.al: Customer.FindFirst()
  assumed a pre-existing customer (fails against an empty environment),
  and a session-local NextNo counter for the header key collides across
  concurrent BCPT sessions and repeated runs. Creates its own customer
  when none exists, and generates keys from CreateGuid() instead of an
  in-memory counter.
- upgrade-tag-logic-must-not-nest-deeply: the rule conflated two
  different things - nesting one tag's existence check inside another
  (the real anti-pattern Microsoft's guidance warns against) with
  having business-data safety conditions inside a single tagged
  migration's own loop body (which Microsoft's own worked example does,
  and its own design guidance explicitly requires: "Implement extra
  safety checks to avoid data corruption, even though you're using
  upgrade tags"). Rewrote the Description/Best Practice/Anti Pattern to
  scope the rule to actual tag nesting and migrations blended under one
  tag, and rewrote both fixtures: good.al now shows two safety
  conditions correctly nested inside one migration's own loop plus a
  second, genuinely separate migration as its own flat tagged
  procedure; bad.al now shows the real anti-pattern, one tag's check
  nested inside another's guarded body.
- table-design-must-match-bc-table-type-conventions: the rule and its
  worklist cue fired on any new table with a keys block, forcing
  buffers, queues, logs, mapping tables, and staging tables into the
  nearest-looking one of nine business-record archetypes. Added an
  explicit scope note that these nine types aren't an exhaustive table
  catalogue, and narrowed the al-data-modeling-review.md cue to require
  positive evidence (a type-specific naming suffix, key shape, or
  usage) before worklisting, instead of a bare keys/primary-key
  declaration.
2026-09-22 14:41:49 +02:00
..
abouttitle-abouttext-teaching-tips.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
abouttitle-abouttext-teaching-tips.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
abouttitle-abouttext-teaching-tips.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
al-comments-must-not-restate-what-code-already-shows.bad.al Add 18 more community AL/BC patterns across appsource, data-modeling, error-handling, security, style, testing, ui, upgrade, and web-services 2026-09-21 22:42:49 +02:00
al-comments-must-not-restate-what-code-already-shows.good.al Add 18 more community AL/BC patterns across appsource, data-modeling, error-handling, security, style, testing, ui, upgrade, and web-services 2026-09-21 22:42:49 +02:00
al-comments-must-not-restate-what-code-already-shows.md Fix ten focused correctness items plus sample links from Jesper's 2026-09-15 re-review 2026-09-21 22:44:17 +02:00
api-page-camelcase-properties.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-camelcase-properties.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-camelcase-properties.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
api-page-delayedinsert-true.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-delayedinsert-true.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-delayedinsert-true.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
api-page-entity-naming-singular-plural.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-entity-naming-singular-plural.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-entity-naming-singular-plural.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
api-page-version-format.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-version-format.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
api-page-version-format.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
caption-required-on-page-fields.bad.al Clarify page field caption and tooltip inheritance (#160) 2026-09-07 15:13:35 +02:00
caption-required-on-page-fields.good.al Clarify page field caption and tooltip inheritance (#160) 2026-09-07 15:13:35 +02:00
caption-required-on-page-fields.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
case-action-on-line-after-possibility.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
case-action-on-line-after-possibility.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
case-action-on-line-after-possibility.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
dateformula-evaluate-needs-language-independent-literals.bad.al Clarify locale-safe DateFormula Evaluate inputs (#193) 2026-09-21 10:16:07 +02:00
dateformula-evaluate-needs-language-independent-literals.good.al Clarify locale-safe DateFormula Evaluate inputs (#193) 2026-09-21 10:16:07 +02:00
dateformula-evaluate-needs-language-independent-literals.md Clarify locale-safe DateFormula Evaluate inputs (#193) 2026-09-21 10:16:07 +02:00
error-passes-parameters-directly-not-strsubstno.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
error-passes-parameters-directly-not-strsubstno.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
error-passes-parameters-directly-not-strsubstno.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
fieldcaption-not-fieldname-in-user-messages.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
fieldcaption-not-fieldname-in-user-messages.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
fieldcaption-not-fieldname-in-user-messages.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
file-name-object-type-pattern.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
label-comment-explains-placeholders.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
label-comment-explains-placeholders.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
label-comment-explains-placeholders.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
label-locked-for-non-translatable.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
label-locked-for-non-translatable.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
label-locked-for-non-translatable.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
labels-declared-at-object-scope.md Refine self-improvement review guidance 2026-08-18 11:17:14 +02:00
named-invocations-not-object-ids.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
named-invocations-not-object-ids.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
named-invocations-not-object-ids.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
no-else-after-terminating-statement.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
no-else-after-terminating-statement.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
no-else-after-terminating-statement.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
object-name-30-char-limit.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
page-name-must-match-source-table.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
pages-must-not-contain-business-logic.bad.al Fix four merge-critical issues from Jesper's 2026-09-22 review 2026-09-22 14:41:49 +02:00
pages-must-not-contain-business-logic.good.al Fix four merge-critical issues from Jesper's 2026-09-22 review 2026-09-22 14:41:49 +02:00
pages-must-not-contain-business-logic.md Fix ten focused correctness items plus sample links from Jesper's 2026-09-15 re-review 2026-09-21 22:44:17 +02:00
source-organized-by-feature-not-object-type.md Address second round of Jesper Schulz-Wedde's review on PR #157 2026-09-21 22:43:46 +02:00
temporary-variable-temp-prefix.bad.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
temporary-variable-temp-prefix.good.al Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00
temporary-variable-temp-prefix.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
tooltip-required-on-page-fields.bad.al Clarify page field caption and tooltip inheritance (#160) 2026-09-07 15:13:35 +02:00
tooltip-required-on-page-fields.good.al Clarify page field caption and tooltip inheritance (#160) 2026-09-07 15:13:35 +02:00
tooltip-required-on-page-fields.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
xmldoc-for-public-library-procedures.md Regenerate microsoft/knowledge from upstream BCApps instructions 2026-05-21 09:53:09 +02:00