code change · featureAL Developmentofficial - Microsoftreviewed - checked by Opus

#175 9 AL/BC patterns: document distribution, price calculation & barcode extensibility

Nine new AL/BC patterns document best practices for document distribution, report selections, price calculation extensibility, barcode usage, and posting-cascade field mirroring, with verified examples from Business Central source.

Pull request · merged into main on 2026-09-30 by MichaelDieringer · 30 files (+1644 -6), 28 AL · feature · tier official · reviewed (checked by Opus)

What changed

  • Adds nine knowledge articles, each with bad and good AL examples
  • Covers document distribution: Report Selections usage, Print and Email actions, and Find Entries (Navigate) extensions
  • Covers pricing extensibility: price calculation handlers, price source types and custom price sources
  • Covers TransferFields field mirroring in posting cascades and barcode generation through the Barcode module
  • Updates the data-modeling review skill so these topics are in scope, and adds evaluation fixtures

AL objects touched

  • microsoft/knowledge/data-modeling/activate-new-price-calculation-handler-via-onfindsupportedsetup.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/activate-new-price-calculation-handler-via-onfindsupportedsetup.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/activate-new-price-calculation-handler-via-onfindsupportedsetup.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/custom-document-dispatch-must-not-bypass-report-selections.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/custom-document-dispatch-must-not-bypass-report-selections.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/custom-document-dispatch-must-not-bypass-report-selections.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/document-print-and-email-actions-call-report-selections-directly.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/document-print-and-email-actions-call-report-selections-directly.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/document-print-and-email-actions-call-report-selections-directly.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-find-entries-navigate-for-new-document-types.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-find-entries-navigate-for-new-document-types.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-find-entries-navigate-for-new-document-types.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-price-source-type-must-sync-document-subset-enum.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-price-source-type-must-sync-document-subset-enum.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-price-source-type-must-sync-document-subset-enum.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-report-selection-usage-for-new-document-types.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-report-selection-usage-for-new-document-types.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/extend-report-selection-usage-for-new-document-types.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/new-price-source-must-add-candidate-and-trigger-recalculation.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/new-price-source-must-add-candidate-and-trigger-recalculation.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/new-price-source-must-add-candidate-and-trigger-recalculation.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/report-barcodes-must-use-barcode-module-and-production-font-name.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/report-barcodes-must-use-barcode-module-and-production-font-name.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/report-barcodes-must-use-barcode-module-and-production-font-name.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/transferfields-mirrored-fields-must-match-type-and-length.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/transferfields-mirrored-fields-must-match-type-and-length.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/data-modeling/transferfields-mirrored-fields-must-match-type-and-length.md: added, not in the BC? snapshot yet
  • microsoft/skills/review/al-data-modeling-review.md: modified, not in the BC? snapshot

Context

  • Systems: development
  • From the description: “Nine rules about Business Central’s document distribution architecture and posting-cascade/pricing extensibility, verified against BCApps source and Microsoft Learn”

Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).