bcquality/microsoft/knowledge/data-modeling
Michael Dieringer a28ba1a1d7 Address second round of Jesper Schulz-Wedde's review on PR #156
- dimension-management-wiring.md/.good.al: split into the two distinct
  models the article was conflating - master data (Default Dimension
  records via ValidateDimValueCode/SaveDefaultDim) vs. transactional/
  document data (a single Dimension Set ID assembled via AddDimSource +
  GetDefaultDimID, verified against BCApps' ExchRateAdjmtProcess.Codeunit.al).
  Added a compiling document-table example alongside the existing master
  table one.
- Deleted api-page-flowfields-must-be-calcfields (.md/.good.al/.bad.al):
  Microsoft's own FlowFields documentation states a FlowField used as a
  control's direct source expression is automatically calculated on any
  page - no API-page exception is documented, and none could be
  reproduced.
- prefer-email-module.bad.al/.md: Codeunit Mail has no Send/GetErrorDesc
  members; fixed to the real current 7-argument CreateMessage signature,
  and corrected the claim that the legacy path "still runs" - its base
  implementation no longer sends anything, only raises integration events.
- check-post-line-batch-pattern.md/.good.al: reframed from a universal
  invariant to the standard shape, naming the real Gen./Item/CA/Res./Job/
  Insurance/Mfg. Item/FA Jnl.-Check Line/-Post Line/-Post Batch codeunits
  it's based on. Added the missing Check Line companion codeunit so the
  good fixture is internally complete.
- test-data-must-be-random-and-complete.good.al: removed leftover
  "collision-free" wording contradicting the already-corrected article text.
- fixed-choice-set-must-use-enum-not-integer.md: removed the reintroduced
  state-count heuristic ("the line is the state count"), aligned with
  binary-choice-must-be-boolean.md's semantics-based distinction.
- namespace-must-be-verified-from-source.md: removed the false claim that
  the compiler and AL Language Server use different namespace-resolution
  rules.
- intrinsic-al-functions-must-use-modern-casing.md: removed the unverified
  claim that PascalCase is the VS Code formatter's default output.

Worklist completeness: added cues for the 8 rules in data-modeling,
testing, performance, and web-services that had none (Jesper's explicit
ask), plus the same gap in all 7 style rules from this PR (not explicitly
named this round, but the identical systemic issue) - 15 cues total across
al-data-modeling-review.md, al-testing-review.md, al-performance-review.md,
al-web-services-review.md, and al-style-review.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 22:26:33 +02:00
..
check-blocked-in-referencing-code-not-in-master.bad.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
check-blocked-in-referencing-code-not-in-master.good.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
check-blocked-in-referencing-code-not-in-master.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
check-post-line-batch-pattern.bad.al Add 18 community AL/BC patterns across style, data-modeling, web-services, appsource, breaking-changes, performance, and testing 2026-09-21 22:24:07 +02:00
check-post-line-batch-pattern.good.al Address second round of Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:26:33 +02:00
check-post-line-batch-pattern.md Address second round of Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:26:33 +02:00
dimension-management-wiring.bad.al Add 18 community AL/BC patterns across style, data-modeling, web-services, appsource, breaking-changes, performance, and testing 2026-09-21 22:24:07 +02:00
dimension-management-wiring.good.al Address second round of Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:26:33 +02:00
dimension-management-wiring.md Address second round of Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:26:33 +02:00
do-not-change-primary-key.bad.al Add 18 community AL/BC patterns across style, data-modeling, web-services, appsource, breaking-changes, performance, and testing 2026-09-21 22:24:07 +02:00
do-not-change-primary-key.good.al Address Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:25:26 +02:00
do-not-change-primary-key.md Address Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:25:26 +02:00
initialize-document-defaults-in-initrecord.bad.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
initialize-document-defaults-in-initrecord.good.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
initialize-document-defaults-in-initrecord.md Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
insert-only-transfer-may-rely-on-caller-cleanup.md knowledge: three false-positive guards from BCApps PR 10277, 10278 and 10346 (#146) 2026-09-02 11:25:19 +02:00
master-table-no-from-number-series-in-oninsert.bad.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
master-table-no-from-number-series-in-oninsert.good.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
master-table-no-from-number-series-in-oninsert.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
owning-table-must-delete-dependents-in-ondelete.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
owning-table-must-delete-dependents-in-ondelete.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
owning-table-must-delete-dependents-in-ondelete.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
round-direction-symbols-use-magnitude.bad.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
round-direction-symbols-use-magnitude.good.al Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
round-direction-symbols-use-magnitude.md Add foundational AL developer knowledge (#195) 2026-09-21 10:15:39 +02:00
set-last-date-modified-in-onmodify-and-onrename.bad.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
set-last-date-modified-in-onmodify-and-onrename.good.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
set-last-date-modified-in-onmodify-and-onrename.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
setup-table-is-a-singleton.bad.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
setup-table-is-a-singleton.good.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
setup-table-is-a-singleton.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
share-mediaset-items-with-insert-not-field-assignment.bad.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
share-mediaset-items-with-insert-not-field-assignment.good.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
share-mediaset-items-with-insert-not-field-assignment.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
table-relation-extensions-are-additive-and-top-down.bad.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
table-relation-extensions-are-additive-and-top-down.good.al Complete AL review knowledge readiness (#108) 2026-07-15 10:55:25 +02:00
table-relation-extensions-are-additive-and-top-down.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
testfield-required-setup-field.bad.al Add 18 community AL/BC patterns across style, data-modeling, web-services, appsource, breaking-changes, performance, and testing 2026-09-21 22:24:07 +02:00
testfield-required-setup-field.good.al Add 18 community AL/BC patterns across style, data-modeling, web-services, appsource, breaking-changes, performance, and testing 2026-09-21 22:24:07 +02:00
testfield-required-setup-field.md Address Jesper Schulz-Wedde's review on PR #156 2026-09-21 22:25:26 +02:00
transferfields-skip-type-mismatch-can-drop-data.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
transferfields-skip-type-mismatch-can-drop-data.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
transferfields-skip-type-mismatch-can-drop-data.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
use-no-series-codeunit-not-noseriesmanagement.bad.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
use-no-series-codeunit-not-noseriesmanagement.good.al Add data-modeling and appsource knowledge articles (MICROSOFT layer) (#65) 2026-07-13 10:35:31 +02:00
use-no-series-codeunit-not-noseriesmanagement.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
validate-table-relation-false-suppresses-rename-propagation.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
validate-table-relation-false-suppresses-rename-propagation.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
validate-table-relation-false-suppresses-rename-propagation.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00
xrec-is-a-before-image-only-in-some-triggers.bad.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
xrec-is-a-before-image-only-in-some-triggers.good.al Promote knowledge for Microsoft review skills (#153) 2026-09-03 15:06:01 +02:00
xrec-is-a-before-image-only-in-some-triggers.md Improve partner onboarding and documentation navigation (#174) 2026-09-09 17:31:03 +02:00