code change · featurePlatform, DevOps & Performanceofficial - Microsoftreviewed - checked by Opus

#207 2 AL/BC UI patterns: client-expression in-list (AL0573) and Role Center AccessByPermission

Two new UI knowledge articles were added. One covers in-list set-membership tests in client expressions such as Visible or Enabled on actions, groups and parts, which only raise warning AL0573. The other covers using AccessByPermission for permission gating on Role Centers, where triggers and procedures are not allowed.

Pull request · merged into main on 2026-10-02 by MichaelDieringer · 8 files (+257 -2), 7 AL · feature · tier official · reviewed (checked by Opus)

What changed

  • In-list tests in Enabled/Visible/Editable/StyleExpr are an error on fields (AL0322) but only warning AL0573 on actions, groups and parts
  • Remediation: an or-chain, or a global Boolean recomputed in OnAfterGetCurrRecord and OnValidate; plain comparisons stay valid
  • Role Centers cannot have triggers (AL0378) or procedures (AL0569), so AccessByPermission on parts, actions and fields is the declarative fix for permission gating
  • AccessByPermission removes UI elements and is not a security boundary; setup or feature-flag gating is out of scope
  • al-ui-review.md gains tokens and mappings, and both articles are registered in review-fixtures.json

AL objects touched

  • microsoft/knowledge/ui/page-client-expression-must-not-use-in-list.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/ui/page-client-expression-must-not-use-in-list.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/ui/page-client-expression-must-not-use-in-list.md: added, not in the BC? snapshot yet
  • microsoft/knowledge/ui/rolecenter-permission-gating-must-use-accessbypermission.bad.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/ui/rolecenter-permission-gating-must-use-accessbypermission.good.al: added, not in the BC? snapshot yet
  • microsoft/knowledge/ui/rolecenter-permission-gating-must-use-accessbypermission.md: added, not in the BC? snapshot yet
  • microsoft/skills/review/al-ui-review.md: modified, not in the BC? snapshot

Context

  • Systems: platform, development
  • From the description: “AL0573, a warning that will become an error in a future release, so it builds and ships.”

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