#8556 [Quality Management] Enforce rules and restrictions with indirect and implicit permissions
Quality Management uses InherentPermissions so that, when no setup or triggered generation rule exists, users need no QM permissions. When a rule does trigger, users without QM permissions get a standard permission error instead of silently skipping inspection creation. A new 'QltyMgmt - I. Create' permission set grants the minimum indirect rights.
- 31files
- 29AL files
- 29objects
Pull request · merged into main (BC30) on 2026-07-08 by JakovljevicDusan · 31 files (+373 -103), 29 AL · feature · tier official · reviewed (checked by Opus)
What changed
- InherentPermissions used for the setup and generation rule tables so users without QM permissions are not blocked when nothing triggers
- When a generation rule triggers, users without QM permissions now get a standard permission error instead of a silent skip
- New permission set ‘QltyMgmt - I. Create’ grants indirect permissions to create inspections, including via Create Quality Inspection actions
- Users with only that permission set cannot view or process inspections; View actions are hidden via AccessByPermission
- Behaviour changes for users or extensions.
AL objects touched
- Codeunit 20405 “Qlty. Inspec. Gen. Rule Mgmt.”, Quality Management: modified
- Table 20404 “Qlty. Inspection Gen. Rule”, Quality Management: modified
- Page 20405 “Qlty. Inspection Gen. Rules”, Quality Management: modified
- Table 20412 “Qlty. I. Result Condit. Conf.”, Quality Management: modified
- Table 20411 “Qlty. Inspection Result”, Quality Management: modified
- Page 20416 “Qlty. Inspection Result List”, Quality Management: modified
- Codeunit 20409 “Qlty. Result Condition Mgmt.”, Quality Management: modified
- Codeunit 20410 “Qlty. Result Evaluation”, Quality Management: modified
- Codeunit 20408 “Qlty. Traversal”, Quality Management: modified
- Table 20402 “Qlty. Inspection Template Hdr.”, Quality Management: modified
- Page 20404 “Qlty. Inspection Template List”, Quality Management: modified
- Codeunit 20404 “Qlty. Inspection - Create”, Quality Management: modified
- Table 20405 “Qlty. Inspection Header”, Quality Management: modified
- Table 20406 “Qlty. Inspection Line”, Quality Management: modified
- Page 20413 “Qlty. Inspection Lines”, Quality Management: modified
- Page 20408 “Qlty. Inspection List”, Quality Management: modified
- Codeunit 20412 “Qlty. Assembly Integration”, Quality Management: modified
- Codeunit 20439 “Qlty. Item Tracking Mgmt.”, Quality Management: modified
- Codeunit 20415 “Qlty. Tracking Integration”, Quality Management: modified
- Table extension 20411 “Qlty. Transfer Shipment Header”, Quality Management: modified
- Codeunit 20407 “Qlty. Manufactur. Integration”, Quality Management: modified
- Codeunit 20411 “Qlty. Receiving Integration”, Quality Management: modified
- Codeunit 20438 “Qlty. Warehouse Integration”, Quality Management: modified
- Permission set 20407 “QltyMgmt - I. Create”, Quality Management: added
- Page 20400 “Qlty. Management Setup”, Quality Management: modified
- Table 20400 “Qlty. Management Setup”, Quality Management: modified
- Codeunit 20419 “Qlty. Guided Experience”, Quality Management: modified
- Codeunit 20599 “Qlty. Misc Helpers”, Quality Management: modified
- Codeunit 20437 “Qlty. Notification Mgmt.”, Quality Management: modified
Context
- Work items: AB#626330
- Labels: AL: Apps (W1), Team: SCM
- Systems: development, integration, platform
- From the description: “Implement InherentPermissions so users without QM permissions would not silently skip mandatory Quality Inspection creation or transaction restrictions.”
Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).