code change · otherAL Developmentofficial - Microsoftreviewed - checked by Opus

#133 Add TransferFields SkipFieldsNotMatchingType guidance

Added guidance in BCQuality to warn developers against using TransferFields with SkipFieldsNotMatchingType as a blanket solution, as it can silently drop fields when type mismatches occur within the same extension.

Pull request · merged into main on 2026-08-24 by yahyatouil-dev · 3 files (+140 -0), 3 AL · other · tier official · reviewed (checked by Opus)

What changed

  • New knowledge rule explains that TransferFields only errors on type mismatches within the same extension, not cross-extension
  • Using SkipFieldsNotMatchingType to suppress errors can mask silent field drops
  • Good pattern: use explicit field-by-field mapping with Evaluate for type conversions to fail loudly
  • Bad pattern: relying on SkipFieldsNotMatchingType when destination needs all source fields copied
  • Rule includes code examples and verification against Microsoft Learn documentation

AL objects touched

  • community/knowledge/data-modeling/transferfields-skip-type-mismatch-can-drop-data.bad.al: added, not in the BC? snapshot yet
  • community/knowledge/data-modeling/transferfields-skip-type-mismatch-can-drop-data.good.al: added, not in the BC? snapshot yet
  • community/knowledge/data-modeling/transferfields-skip-type-mismatch-can-drop-data.md: added, not in the BC? snapshot yet

Context

  • Systems: development

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).