From d33f1251799132d023ed10fdc0980494da74bd9e Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 12:30:58 +0100
Subject: [PATCH 1/8] Step 1
---
.../QltyEntryInspector.PermissionSet.al | 21 ++++++++++++-------
.../Permissions/QltyGeneral.PermissionSet.al | 20 +++++++++++-------
.../QltyMngmntObjects.PermissionSet.al | 2 +-
3 files changed, 28 insertions(+), 15 deletions(-)
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
index 07d65ffc40..0851e3fbfa 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
@@ -40,15 +40,17 @@ using Microsoft.QualityManagement.Utilities;
using Microsoft.QualityManagement.Workflow;
///
-/// Used for data entry only.
+/// Used for data entry in quality inspections only.
///
permissionset 20404 QltyEntryInspector
{
Caption = 'Quality Inspection - Data Entry';
Assignable = true;
+
IncludedPermissionSets = "QltyMngmnt - Objects";
+
Permissions =
- // codeunits
+ // Codeunits
codeunit "Qlty. - Warehouse Integration" = X,
codeunit "Qlty. Application Area Mgmt." = X,
codeunit "Qlty. Auto Configure" = X,
@@ -86,7 +88,8 @@ permissionset 20404 QltyEntryInspector
codeunit "Qlty. Item Tracking" = X,
codeunit "Qlty. Traversal" = X,
codeunit "Qlty. Workflow Setup" = X,
- // pages
+
+ // Pages
page "Qlty. Lookup Field Choose" = X,
page "Qlty. Edit Large Text" = X,
page "Qlty. Choose Existing Tests" = X,
@@ -124,10 +127,12 @@ permissionset 20404 QltyEntryInspector
page "Qlty. Inspection List" = X,
page "Qlty. Whse. Gen. Rule Wizard" = X,
page "Qlty. Inspection" = X,
- // queries
+
+ // Queries
query "Qlty. Inspection Values" = X,
query "Qlty. Item Ledger By Location" = X,
- // reports
+
+ // Reports
report "Qlty. Certificate of Analysis" = X,
report "Qlty. Change Item Tracking" = X,
report "Qlty. Create Internal Put-away" = X,
@@ -138,7 +143,8 @@ permissionset 20404 QltyEntryInspector
report "Qlty. General Purpose Inspect." = X,
report "Qlty. Move Inventory" = X,
report "Qlty. Non-Conformance" = X,
- // tables
+
+ // Tables
table "Qlty. Express Config. Value" = X,
table "Qlty. Test" = X,
table "Qlty. Inspection Gen. Rule" = X,
@@ -154,7 +160,8 @@ permissionset 20404 QltyEntryInspector
table "Qlty. Inspect. Source Config." = X,
table "Qlty. Inspection Line" = X,
table "Qlty. Inspection Header" = X,
- // table data
+
+ // Table data
tabledata "Qlty. Express Config. Value" = RIMD,
tabledata "Qlty. Test" = RIMd,
tabledata "Qlty. Inspection Gen. Rule" = RIMd,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
index b6d316bc2f..7dbc754931 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
@@ -39,14 +39,15 @@ using Microsoft.QualityManagement.Utilities;
using Microsoft.QualityManagement.Workflow;
///
-/// Used for supervising.
+/// Used for supervising quality inspections.
///
permissionset 20403 QltyGeneral
{
Caption = 'Quality Inspection - Supervisor';
Assignable = true;
+
Permissions =
- // codeunits
+ // Codeunits
codeunit "Qlty. - Warehouse Integration" = X,
codeunit "Qlty. Application Area Mgmt." = X,
codeunit "Qlty. Auto Configure" = X,
@@ -84,7 +85,8 @@ permissionset 20403 QltyGeneral
codeunit "Qlty. Item Tracking" = X,
codeunit "Qlty. Traversal" = X,
codeunit "Qlty. Workflow Setup" = X,
- // pages
+
+ // Pages
page "Qlty. Lookup Field Choose" = X,
page "Qlty. Edit Large Text" = X,
page "Qlty. Choose Existing Tests" = X,
@@ -118,10 +120,12 @@ permissionset 20403 QltyGeneral
page "Qlty. Inspection List" = X,
page "Qlty. Whse. Gen. Rule Wizard" = X,
page "Qlty. Inspection" = X,
- // queries
+
+ // Queries
query "Qlty. Inspection Values" = X,
query "Qlty. Item Ledger By Location" = X,
- // reports
+
+ // Reports
report "Qlty. Certificate of Analysis" = X,
report "Qlty. Change Item Tracking" = X,
report "Qlty. Create Internal Put-away" = X,
@@ -132,7 +136,8 @@ permissionset 20403 QltyGeneral
report "Qlty. General Purpose Inspect." = X,
report "Qlty. Move Inventory" = X,
report "Qlty. Non-Conformance" = X,
- // tables
+
+ // Tables
table "Qlty. Express Config. Value" = X,
table "Qlty. Test" = X,
table "Qlty. Inspection Gen. Rule" = X,
@@ -148,7 +153,8 @@ permissionset 20403 QltyGeneral
table "Qlty. Inspect. Source Config." = X,
table "Qlty. Inspection Line" = X,
table "Qlty. Inspection Header" = X,
- // table data
+
+ // Table data
tabledata "Qlty. Express Config. Value" = RIMD,
tabledata "Qlty. Inspection Gen. Rule" = RIMD,
tabledata "Qlty. I. Result Condit. Conf." = RIMD,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
index 914e562982..9345c72fde 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
@@ -42,8 +42,8 @@ using Microsoft.QualityManagement.Workflow;
permissionset 20406 "QltyMngmnt - Objects"
{
Caption = 'Quality Management - Objects';
- Assignable = true;
Access = Internal;
+ Assignable = true;
Permissions =
// Codeunits
From 3670eef11503b84d569dd1b8d69da6e3fb8d32cf Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 12:43:23 +0100
Subject: [PATCH 2/8] Step 2
---
.../Permissions/QltyEntryInspector.PermissionSet.al | 12 +-----------
.../app/src/Permissions/QltyGeneral.PermissionSet.al | 12 ++----------
2 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
index 0851e3fbfa..15b105e255 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
@@ -6,7 +6,6 @@ namespace Microsoft.QualityManagement.Permissions;
using Microsoft.QualityManagement.AccessControl;
using Microsoft.QualityManagement.API;
-using Microsoft.QualityManagement.Configuration;
using Microsoft.QualityManagement.Configuration.GenerationRule;
using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue;
using Microsoft.QualityManagement.Configuration.Result;
@@ -34,7 +33,6 @@ using Microsoft.QualityManagement.Integration.Warehouse;
using Microsoft.QualityManagement.Reports;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
-using Microsoft.QualityManagement.Setup.ApplicationAreas;
using Microsoft.QualityManagement.Setup.SetupGuide;
using Microsoft.QualityManagement.Utilities;
using Microsoft.QualityManagement.Workflow;
@@ -50,15 +48,7 @@ permissionset 20404 QltyEntryInspector
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Codeunits
- codeunit "Qlty. - Warehouse Integration" = X,
- codeunit "Qlty. Application Area Mgmt." = X,
- codeunit "Qlty. Auto Configure" = X,
- codeunit "Qlty. Inspection - Create" = X,
- codeunit "Qlty. Disp. Change Tracking" = X,
- codeunit "Qlty. Disp. Internal Put-away" = X,
- codeunit "Qlty. Disp. Move Auto Choose" = X,
- codeunit "Qlty. Disp. Neg. Adjust Inv." = X,
+ // Codeunits
codeunit "Qlty. Disp. Purchase Return" = X,
codeunit "Qlty. Disp. Transfer" = X,
codeunit "Qlty. Expression Mgmt." = X,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
index 7dbc754931..234660cb8f 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
@@ -6,7 +6,6 @@ namespace Microsoft.QualityManagement.Permissions;
using Microsoft.QualityManagement.AccessControl;
using Microsoft.QualityManagement.API;
-using Microsoft.QualityManagement.Configuration;
using Microsoft.QualityManagement.Configuration.GenerationRule;
using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue;
using Microsoft.QualityManagement.Configuration.Result;
@@ -34,7 +33,6 @@ using Microsoft.QualityManagement.Integration.Warehouse;
using Microsoft.QualityManagement.Reports;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
-using Microsoft.QualityManagement.Setup.ApplicationAreas;
using Microsoft.QualityManagement.Utilities;
using Microsoft.QualityManagement.Workflow;
@@ -46,16 +44,10 @@ permissionset 20403 QltyGeneral
Caption = 'Quality Inspection - Supervisor';
Assignable = true;
+ IncludedPermissionSets = "QltyMngmnt - Objects";
+
Permissions =
// Codeunits
- codeunit "Qlty. - Warehouse Integration" = X,
- codeunit "Qlty. Application Area Mgmt." = X,
- codeunit "Qlty. Auto Configure" = X,
- codeunit "Qlty. Inspection - Create" = X,
- codeunit "Qlty. Disp. Change Tracking" = X,
- codeunit "Qlty. Disp. Internal Put-away" = X,
- codeunit "Qlty. Disp. Move Auto Choose" = X,
- codeunit "Qlty. Disp. Neg. Adjust Inv." = X,
codeunit "Qlty. Disp. Purchase Return" = X,
codeunit "Qlty. Disp. Transfer" = X,
codeunit "Qlty. Expression Mgmt." = X,
From 0c786ebf45708a48da247e31cc9162079808e1d4 Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 13:31:32 +0100
Subject: [PATCH 3/8] Step 3
---
.../QltyEntryInspector.PermissionSet.al | 121 ------------------
.../Permissions/QltyGeneral.PermissionSet.al | 121 ------------------
2 files changed, 242 deletions(-)
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
index 15b105e255..8a59d5b17c 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
@@ -4,38 +4,15 @@
// ------------------------------------------------------------------------------------------------
namespace Microsoft.QualityManagement.Permissions;
-using Microsoft.QualityManagement.AccessControl;
-using Microsoft.QualityManagement.API;
using Microsoft.QualityManagement.Configuration.GenerationRule;
-using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue;
using Microsoft.QualityManagement.Configuration.Result;
using Microsoft.QualityManagement.Configuration.SourceConfiguration;
using Microsoft.QualityManagement.Configuration.Template;
using Microsoft.QualityManagement.Configuration.Template.Test;
-using Microsoft.QualityManagement.Dispositions.InventoryAdjustment;
-using Microsoft.QualityManagement.Dispositions.ItemTracking;
-using Microsoft.QualityManagement.Dispositions.Move;
-using Microsoft.QualityManagement.Dispositions.Purchase;
-using Microsoft.QualityManagement.Dispositions.PutAway;
-using Microsoft.QualityManagement.Dispositions.Transfer;
using Microsoft.QualityManagement.Document;
-using Microsoft.QualityManagement.Installation;
-using Microsoft.QualityManagement.Integration.Assembly;
-using Microsoft.QualityManagement.Integration.Foundation.Attachment;
-using Microsoft.QualityManagement.Integration.Foundation.Navigate;
-using Microsoft.QualityManagement.Integration.Inventory;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
-using Microsoft.QualityManagement.Integration.Manufacturing;
-using Microsoft.QualityManagement.Integration.Manufacturing.Routing;
-using Microsoft.QualityManagement.Integration.Receiving;
-using Microsoft.QualityManagement.Integration.Utilities;
-using Microsoft.QualityManagement.Integration.Warehouse;
-using Microsoft.QualityManagement.Reports;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
-using Microsoft.QualityManagement.Setup.SetupGuide;
-using Microsoft.QualityManagement.Utilities;
-using Microsoft.QualityManagement.Workflow;
///
/// Used for data entry in quality inspections only.
@@ -48,108 +25,10 @@ permissionset 20404 QltyEntryInspector
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Codeunits
- codeunit "Qlty. Disp. Purchase Return" = X,
- codeunit "Qlty. Disp. Transfer" = X,
- codeunit "Qlty. Expression Mgmt." = X,
- codeunit "Qlty. Filter Helpers" = X,
- codeunit "Qlty. Inspec. Gen. Rule Mgmt." = X,
- codeunit "Qlty. Result Condition Mgmt." = X,
- codeunit "Qlty. Result Evaluation" = X,
- codeunit "Qlty. Install" = X,
- codeunit "Qlty. Inventory Availability" = X,
- codeunit "Qlty. Item Tracking Mgmt." = X,
- codeunit "Qlty. Job Queue Management" = X,
- codeunit "Qlty. Item Journal Management" = X,
- codeunit "Qlty. Transfer Integration" = X,
- codeunit "Qlty. Attachment Integration" = X,
- codeunit "Qlty. Utilities Integration" = X,
- codeunit "Qlty. Navigate Integration" = X,
- codeunit "Qlty. Tracking Integration" = X,
- codeunit "Qlty. Misc Helpers" = X,
- codeunit "Qlty. Notification Mgmt." = X,
- codeunit "Qlty. Permission Mgmt." = X,
- codeunit "Qlty. Manufactur. Integration" = X,
- codeunit "Qlty. Assembly Integration" = X,
- codeunit "Qlty. Receiving Integration" = X,
- codeunit "Qlty. Report Mgmt." = X,
- codeunit "Qlty. Session Helper" = X,
- codeunit "Qlty. Start Workflow" = X,
- codeunit "Qlty. Item Tracking" = X,
- codeunit "Qlty. Traversal" = X,
- codeunit "Qlty. Workflow Setup" = X,
-
// Pages
- page "Qlty. Lookup Field Choose" = X,
- page "Qlty. Edit Large Text" = X,
- page "Qlty. Choose Existing Tests" = X,
- page "Qlty. Manager RC" = X,
- page "Qlty. Test Card Part" = X,
- page "Qlty. Test Card" = X,
- page "Qlty. Test Lookup" = X,
- page "Qlty. Test Number Card Part" = X,
- page "Qlty. Test Wizard" = X,
- page "Qlty. Tests" = X,
- page "Qlty. Inspection Gen. Rules" = X,
- page "Qlty. Inspection Result List" = X,
- page "Qlty. Inspection Template" = X,
- page "Qlty. Inspection Template Edit" = X,
- page "Qlty. Inspection Template List" = X,
- page "Qlty. Inspection Template Subf" = X,
- page "Qlty. Lookup Code List" = X,
- page "Qlty. Lookup Code Part" = X,
- page "Qlty. Manager Role Center" = X,
- page "Qlty. Management Setup Guide" = X,
- page "Qlty. Management Setup" = X,
- page "Qlty. Most Recent Picture" = X,
- page "Qlty. Prod. Gen. Rule Wizard" = X,
- page "Qlty. Asm. Gen. Rule Wizard" = X,
- page "Qlty. Rec. Gen. Rule Wizard" = X,
- page "Qlty. Related Transfer Orders" = X,
- page "Qlty. Report Selection - QM" = X,
- page "Qlty. Routing Line Lookup" = X,
page "Qlty. Inspect. Source Config." = X,
page "Qlty. Source Config Line Part" = X,
page "Qlty. Ins. Source Config. List" = X,
- page "Qlty. Inspection Subform" = X,
- page "Qlty. Inspection Lines" = X,
- page "Qlty. Inspection Activities" = X,
- page "Qlty. Inspection List" = X,
- page "Qlty. Whse. Gen. Rule Wizard" = X,
- page "Qlty. Inspection" = X,
-
- // Queries
- query "Qlty. Inspection Values" = X,
- query "Qlty. Item Ledger By Location" = X,
-
- // Reports
- report "Qlty. Certificate of Analysis" = X,
- report "Qlty. Change Item Tracking" = X,
- report "Qlty. Create Internal Put-away" = X,
- report "Qlty. Create Negative Adjmt." = X,
- report "Qlty. Create Purchase Return" = X,
- report "Qlty. Create Inspection" = X,
- report "Qlty. Create Transfer Order" = X,
- report "Qlty. General Purpose Inspect." = X,
- report "Qlty. Move Inventory" = X,
- report "Qlty. Non-Conformance" = X,
-
- // Tables
- table "Qlty. Express Config. Value" = X,
- table "Qlty. Test" = X,
- table "Qlty. Inspection Gen. Rule" = X,
- table "Qlty. I. Result Condit. Conf." = X,
- table "Qlty. Inspection Result" = X,
- table "Qlty. Inspection Template Hdr." = X,
- table "Qlty. Inspection Template Line" = X,
- table "Qlty. Lookup Code" = X,
- table "Qlty. Management Setup" = X,
- table "Qlty. Related Transfers Buffer" = X,
- table "Qlty. Mgmt. Role Center Cue" = X,
- table "Qlty. Inspect. Src. Fld. Conf." = X,
- table "Qlty. Inspect. Source Config." = X,
- table "Qlty. Inspection Line" = X,
- table "Qlty. Inspection Header" = X,
// Table data
tabledata "Qlty. Express Config. Value" = RIMD,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
index 234660cb8f..24a33c0c41 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
@@ -4,37 +4,15 @@
// ------------------------------------------------------------------------------------------------
namespace Microsoft.QualityManagement.Permissions;
-using Microsoft.QualityManagement.AccessControl;
-using Microsoft.QualityManagement.API;
using Microsoft.QualityManagement.Configuration.GenerationRule;
-using Microsoft.QualityManagement.Configuration.GenerationRule.JobQueue;
using Microsoft.QualityManagement.Configuration.Result;
using Microsoft.QualityManagement.Configuration.SourceConfiguration;
using Microsoft.QualityManagement.Configuration.Template;
using Microsoft.QualityManagement.Configuration.Template.Test;
-using Microsoft.QualityManagement.Dispositions.InventoryAdjustment;
-using Microsoft.QualityManagement.Dispositions.ItemTracking;
-using Microsoft.QualityManagement.Dispositions.Move;
-using Microsoft.QualityManagement.Dispositions.Purchase;
-using Microsoft.QualityManagement.Dispositions.PutAway;
-using Microsoft.QualityManagement.Dispositions.Transfer;
using Microsoft.QualityManagement.Document;
-using Microsoft.QualityManagement.Installation;
-using Microsoft.QualityManagement.Integration.Assembly;
-using Microsoft.QualityManagement.Integration.Foundation.Attachment;
-using Microsoft.QualityManagement.Integration.Foundation.Navigate;
-using Microsoft.QualityManagement.Integration.Inventory;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
-using Microsoft.QualityManagement.Integration.Manufacturing;
-using Microsoft.QualityManagement.Integration.Manufacturing.Routing;
-using Microsoft.QualityManagement.Integration.Receiving;
-using Microsoft.QualityManagement.Integration.Utilities;
-using Microsoft.QualityManagement.Integration.Warehouse;
-using Microsoft.QualityManagement.Reports;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
-using Microsoft.QualityManagement.Utilities;
-using Microsoft.QualityManagement.Workflow;
///
/// Used for supervising quality inspections.
@@ -47,105 +25,6 @@ permissionset 20403 QltyGeneral
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Codeunits
- codeunit "Qlty. Disp. Purchase Return" = X,
- codeunit "Qlty. Disp. Transfer" = X,
- codeunit "Qlty. Expression Mgmt." = X,
- codeunit "Qlty. Filter Helpers" = X,
- codeunit "Qlty. Inspec. Gen. Rule Mgmt." = X,
- codeunit "Qlty. Result Condition Mgmt." = X,
- codeunit "Qlty. Result Evaluation" = X,
- codeunit "Qlty. Install" = X,
- codeunit "Qlty. Inventory Availability" = X,
- codeunit "Qlty. Item Tracking Mgmt." = X,
- codeunit "Qlty. Job Queue Management" = X,
- codeunit "Qlty. Item Journal Management" = X,
- codeunit "Qlty. Transfer Integration" = X,
- codeunit "Qlty. Attachment Integration" = X,
- codeunit "Qlty. Utilities Integration" = X,
- codeunit "Qlty. Navigate Integration" = X,
- codeunit "Qlty. Tracking Integration" = X,
- codeunit "Qlty. Misc Helpers" = X,
- codeunit "Qlty. Notification Mgmt." = X,
- codeunit "Qlty. Permission Mgmt." = X,
- codeunit "Qlty. Manufactur. Integration" = X,
- codeunit "Qlty. Assembly Integration" = X,
- codeunit "Qlty. Receiving Integration" = X,
- codeunit "Qlty. Report Mgmt." = X,
- codeunit "Qlty. Session Helper" = X,
- codeunit "Qlty. Start Workflow" = X,
- codeunit "Qlty. Item Tracking" = X,
- codeunit "Qlty. Traversal" = X,
- codeunit "Qlty. Workflow Setup" = X,
-
- // Pages
- page "Qlty. Lookup Field Choose" = X,
- page "Qlty. Edit Large Text" = X,
- page "Qlty. Choose Existing Tests" = X,
- page "Qlty. Manager RC" = X,
- page "Qlty. Test Card Part" = X,
- page "Qlty. Test Card" = X,
- page "Qlty. Test Lookup" = X,
- page "Qlty. Test Number Card Part" = X,
- page "Qlty. Test Wizard" = X,
- page "Qlty. Tests" = X,
- page "Qlty. Inspection Gen. Rules" = X,
- page "Qlty. Inspection Result List" = X,
- page "Qlty. Inspection Template" = X,
- page "Qlty. Inspection Template Edit" = X,
- page "Qlty. Inspection Template List" = X,
- page "Qlty. Inspection Template Subf" = X,
- page "Qlty. Lookup Code List" = X,
- page "Qlty. Lookup Code Part" = X,
- page "Qlty. Manager Role Center" = X,
- page "Qlty. Management Setup" = X,
- page "Qlty. Asm. Gen. Rule Wizard" = X,
- page "Qlty. Most Recent Picture" = X,
- page "Qlty. Prod. Gen. Rule Wizard" = X,
- page "Qlty. Rec. Gen. Rule Wizard" = X,
- page "Qlty. Related Transfer Orders" = X,
- page "Qlty. Report Selection - QM" = X,
- page "Qlty. Routing Line Lookup" = X,
- page "Qlty. Inspection Subform" = X,
- page "Qlty. Inspection Lines" = X,
- page "Qlty. Inspection Activities" = X,
- page "Qlty. Inspection List" = X,
- page "Qlty. Whse. Gen. Rule Wizard" = X,
- page "Qlty. Inspection" = X,
-
- // Queries
- query "Qlty. Inspection Values" = X,
- query "Qlty. Item Ledger By Location" = X,
-
- // Reports
- report "Qlty. Certificate of Analysis" = X,
- report "Qlty. Change Item Tracking" = X,
- report "Qlty. Create Internal Put-away" = X,
- report "Qlty. Create Negative Adjmt." = X,
- report "Qlty. Create Purchase Return" = X,
- report "Qlty. Create Inspection" = X,
- report "Qlty. Create Transfer Order" = X,
- report "Qlty. General Purpose Inspect." = X,
- report "Qlty. Move Inventory" = X,
- report "Qlty. Non-Conformance" = X,
-
- // Tables
- table "Qlty. Express Config. Value" = X,
- table "Qlty. Test" = X,
- table "Qlty. Inspection Gen. Rule" = X,
- table "Qlty. I. Result Condit. Conf." = X,
- table "Qlty. Inspection Result" = X,
- table "Qlty. Inspection Template Hdr." = X,
- table "Qlty. Inspection Template Line" = X,
- table "Qlty. Lookup Code" = X,
- table "Qlty. Management Setup" = X,
- table "Qlty. Related Transfers Buffer" = X,
- table "Qlty. Mgmt. Role Center Cue" = X,
- table "Qlty. Inspect. Src. Fld. Conf." = X,
- table "Qlty. Inspect. Source Config." = X,
- table "Qlty. Inspection Line" = X,
- table "Qlty. Inspection Header" = X,
-
// Table data
tabledata "Qlty. Express Config. Value" = RIMD,
tabledata "Qlty. Inspection Gen. Rule" = RIMD,
From 59163a81b5a53739b3b466ada3b71691f76ffb87 Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 13:35:11 +0100
Subject: [PATCH 4/8] Step 4
---
.../app/src/Permissions/QltyEntryInspector.PermissionSet.al | 6 +-----
.../app/src/Permissions/QltyGeneral.PermissionSet.al | 1 +
.../app/src/Permissions/QltyMngmntObjects.PermissionSet.al | 3 +++
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
index 8a59d5b17c..8de9132d5a 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
@@ -13,6 +13,7 @@ using Microsoft.QualityManagement.Document;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
+using Microsoft.QualityManagement.Workflow;
///
/// Used for data entry in quality inspections only.
@@ -25,11 +26,6 @@ permissionset 20404 QltyEntryInspector
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Pages
- page "Qlty. Inspect. Source Config." = X,
- page "Qlty. Source Config Line Part" = X,
- page "Qlty. Ins. Source Config. List" = X,
-
// Table data
tabledata "Qlty. Express Config. Value" = RIMD,
tabledata "Qlty. Test" = RIMd,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
index 24a33c0c41..287335a49b 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
@@ -13,6 +13,7 @@ using Microsoft.QualityManagement.Document;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
+using Microsoft.QualityManagement.Workflow;
///
/// Used for supervising quality inspections.
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
index 9345c72fde..b727a75930 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntObjects.PermissionSet.al
@@ -120,6 +120,9 @@ permissionset 20406 "QltyMngmnt - Objects"
page "Qlty. Inspection List" = X,
page "Qlty. Whse. Gen. Rule Wizard" = X,
page "Qlty. Inspection" = X,
+ page "Qlty. Inspect. Source Config." = X,
+ page "Qlty. Source Config Line Part" = X,
+ page "Qlty. Ins. Source Config. List" = X,
// Queries
query "Qlty. Inspection Values" = X,
From 8310a4b580a4ff11d2836ade5f3198a29b7d054f Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 14:09:33 +0100
Subject: [PATCH 5/8] Step 5
---
...AdministratorQltyMngmnt.PermissionSetExt.al | 12 ++++++++++++
.../D365ReadQltyMngmnt.PermissionSetExt.al | 2 +-
.../QltyEntryInspector.PermissionSet.al | 5 ++---
.../Permissions/QltyGeneral.PermissionSet.al | 1 -
.../QltyMngmntEdit.PermissionSet.al | 18 ++++++++++--------
.../QltyMngmntRead.PermissionSet.al | 18 ++++++++++--------
6 files changed, 35 insertions(+), 21 deletions(-)
create mode 100644 src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al b/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al
new file mode 100644
index 0000000000..4b49d6c5da
--- /dev/null
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/AdministratorQltyMngmnt.PermissionSetExt.al
@@ -0,0 +1,12 @@
+// ------------------------------------------------------------------------------------------------
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// ------------------------------------------------------------------------------------------------
+namespace Microsoft.QualityManagement.Permissions;
+
+using System.Security.AccessControl;
+
+permissionsetextension 20402 "Administrator - QltyMngmnt" extends "Administrator"
+{
+ IncludedPermissionSets = "QltyMngmnt - Edit";
+}
\ No newline at end of file
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al b/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al
index 372d0fffc8..6271133f8b 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/D365ReadQltyMngmnt.PermissionSetExt.al
@@ -6,7 +6,7 @@ namespace Microsoft.QualityManagement.Permissions;
using System.Security.AccessControl;
-permissionsetextension 20402 "D365 READ - QltyMngmnt" extends "D365 READ"
+permissionsetextension 20403 "D365 READ - QltyMngmnt" extends "D365 READ"
{
IncludedPermissionSets = "QltyMngmnt - Read";
}
\ No newline at end of file
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
index 8de9132d5a..8621bdfb6f 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
@@ -26,9 +26,7 @@ permissionset 20404 QltyEntryInspector
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Table data
tabledata "Qlty. Express Config. Value" = RIMD,
- tabledata "Qlty. Test" = RIMd,
tabledata "Qlty. Inspection Gen. Rule" = RIMd,
tabledata "Qlty. I. Result Condit. Conf." = RIMd,
tabledata "Qlty. Inspection Result" = RIMd,
@@ -41,6 +39,7 @@ permissionset 20404 QltyEntryInspector
tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMd,
tabledata "Qlty. Inspect. Source Config." = RIMd,
tabledata "Qlty. Inspection Line" = RIMd,
- tabledata "Qlty. Inspection Header" = RIMd;
+ tabledata "Qlty. Inspection Header" = RIMd,
+ tabledata "Qlty. Test" = RIMd;
}
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
index 287335a49b..dd8e036776 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
@@ -26,7 +26,6 @@ permissionset 20403 QltyGeneral
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- // Table data
tabledata "Qlty. Express Config. Value" = RIMD,
tabledata "Qlty. Inspection Gen. Rule" = RIMD,
tabledata "Qlty. I. Result Condit. Conf." = RIMD,
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
index 8aa135a06d..e5fe9368f1 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
@@ -13,6 +13,7 @@ using Microsoft.QualityManagement.Document;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
+using Microsoft.QualityManagement.Workflow;
permissionset 20405 "QltyMngmnt - Edit"
{
@@ -23,18 +24,19 @@ permissionset 20405 "QltyMngmnt - Edit"
IncludedPermissionSets = "QltyMngmnt - Read";
Permissions =
+ tabledata "Qlty. Management Setup" = IMD,
+ tabledata "Qlty. Mgmt. Role Center Cue" = IMD,
+ tabledata "Qlty. Express Config. Value" = IMD,
tabledata "Qlty. Inspection Gen. Rule" = IMD,
tabledata "Qlty. I. Result Condit. Conf." = IMD,
- tabledata "Qlty. Inspection Result" = IMD,
+ tabledata "Qlty. Inspect. Source Config." = IMD,
+ tabledata "Qlty. Inspect. Src. Fld. Conf." = IMD,
tabledata "Qlty. Lookup Code" = IMD,
- tabledata "Qlty. Management Setup" = IMD,
tabledata "Qlty. Related Transfers Buffer" = IMD,
- tabledata "Qlty. Mgmt. Role Center Cue" = IMD,
- tabledata "Qlty. Inspect. Src. Fld. Conf." = IMD,
- tabledata "Qlty. Inspect. Source Config." = IMD,
- tabledata "Qlty. Inspection Template Line" = IMD,
tabledata "Qlty. Inspection Template Hdr." = IMD,
- tabledata "Qlty. Inspection Line" = IMD,
+ tabledata "Qlty. Inspection Template Line" = IMD,
+ tabledata "Qlty. Test" = IMD,
+ tabledata "Qlty. Inspection Result" = IMD,
tabledata "Qlty. Inspection Header" = IMD,
- tabledata "Qlty. Test" = IMD;
+ tabledata "Qlty. Inspection Line" = IMD;
}
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
index 43003b9853..abeebe2e4e 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
@@ -13,6 +13,7 @@ using Microsoft.QualityManagement.Document;
using Microsoft.QualityManagement.Integration.Inventory.Transfer;
using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
+using Microsoft.QualityManagement.Workflow;
permissionset 20401 "QltyMngmnt - Read"
{
@@ -23,18 +24,19 @@ permissionset 20401 "QltyMngmnt - Read"
IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
+ tabledata "Qlty. Management Setup" = R,
+ tabledata "Qlty. Mgmt. Role Center Cue" = RIMD,
+ tabledata "Qlty. Express Config. Value" = R,
tabledata "Qlty. Inspection Gen. Rule" = R,
tabledata "Qlty. I. Result Condit. Conf." = R,
- tabledata "Qlty. Inspection Result" = R,
+ tabledata "Qlty. Inspect. Source Config." = R,
+ tabledata "Qlty. Inspect. Src. Fld. Conf." = R,
tabledata "Qlty. Lookup Code" = R,
- tabledata "Qlty. Management Setup" = R,
tabledata "Qlty. Related Transfers Buffer" = RIMD,
- tabledata "Qlty. Mgmt. Role Center Cue" = RIMD,
- tabledata "Qlty. Inspect. Src. Fld. Conf." = R,
- tabledata "Qlty. Inspect. Source Config." = R,
- tabledata "Qlty. Inspection Template Line" = R,
tabledata "Qlty. Inspection Template Hdr." = R,
- tabledata "Qlty. Inspection Line" = R,
+ tabledata "Qlty. Inspection Template Line" = R,
+ tabledata "Qlty. Test" = R,
+ tabledata "Qlty. Inspection Result" = R,
tabledata "Qlty. Inspection Header" = R,
- tabledata "Qlty. Test" = R;
+ tabledata "Qlty. Inspection Line" = R;
}
From 8d1db90bdf5cc8831905c029daeb6fffe9b9d1ed Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 14:29:50 +0100
Subject: [PATCH 6/8] Step 6
---
.../Permissions/QltyGeneral.PermissionSet.al | 45 -------------------
.../QltyMngmntEdit.PermissionSet.al | 37 ++++++++-------
...l => QltyMngmntInspector.PermissionSet.al} | 7 +--
.../QltyMngmntRead.PermissionSet.al | 5 ++-
4 files changed, 28 insertions(+), 66 deletions(-)
delete mode 100644 src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
rename src/Apps/W1/Quality Management/app/src/Permissions/{QltyEntryInspector.PermissionSet.al => QltyMngmntInspector.PermissionSet.al} (92%)
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
deleted file mode 100644
index dd8e036776..0000000000
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyGeneral.PermissionSet.al
+++ /dev/null
@@ -1,45 +0,0 @@
-// ------------------------------------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License.txt in the project root for license information.
-// ------------------------------------------------------------------------------------------------
-namespace Microsoft.QualityManagement.Permissions;
-
-using Microsoft.QualityManagement.Configuration.GenerationRule;
-using Microsoft.QualityManagement.Configuration.Result;
-using Microsoft.QualityManagement.Configuration.SourceConfiguration;
-using Microsoft.QualityManagement.Configuration.Template;
-using Microsoft.QualityManagement.Configuration.Template.Test;
-using Microsoft.QualityManagement.Document;
-using Microsoft.QualityManagement.Integration.Inventory.Transfer;
-using Microsoft.QualityManagement.RoleCenters;
-using Microsoft.QualityManagement.Setup;
-using Microsoft.QualityManagement.Workflow;
-
-///
-/// Used for supervising quality inspections.
-///
-permissionset 20403 QltyGeneral
-{
- Caption = 'Quality Inspection - Supervisor';
- Assignable = true;
-
- IncludedPermissionSets = "QltyMngmnt - Objects";
-
- Permissions =
- tabledata "Qlty. Express Config. Value" = RIMD,
- tabledata "Qlty. Inspection Gen. Rule" = RIMD,
- tabledata "Qlty. I. Result Condit. Conf." = RIMD,
- tabledata "Qlty. Inspection Result" = RIMD,
- tabledata "Qlty. Inspection Template Hdr." = RIMD,
- tabledata "Qlty. Inspection Template Line" = RIMD,
- tabledata "Qlty. Lookup Code" = RIMD,
- tabledata "Qlty. Management Setup" = RIMD,
- tabledata "Qlty. Related Transfers Buffer" = RIMD,
- tabledata "Qlty. Mgmt. Role Center Cue" = RIMD,
- tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMD,
- tabledata "Qlty. Inspect. Source Config." = RIMD,
- tabledata "Qlty. Inspection Line" = RIMD,
- tabledata "Qlty. Inspection Header" = RIMD,
- tabledata "Qlty. Test" = RIMD;
-}
-
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
index e5fe9368f1..97cefab386 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntEdit.PermissionSet.al
@@ -15,28 +15,31 @@ using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
using Microsoft.QualityManagement.Workflow;
+///
+/// Used for administering Quality Management and supervising Quality Inspections.
+///
permissionset 20405 "QltyMngmnt - Edit"
{
- Caption = 'Quality Management - Edit';
+ Caption = 'Quality Management - Full edit access';
Access = Public;
Assignable = true;
- IncludedPermissionSets = "QltyMngmnt - Read";
+ IncludedPermissionSets = "QltyMngmnt - Objects";
Permissions =
- tabledata "Qlty. Management Setup" = IMD,
- tabledata "Qlty. Mgmt. Role Center Cue" = IMD,
- tabledata "Qlty. Express Config. Value" = IMD,
- tabledata "Qlty. Inspection Gen. Rule" = IMD,
- tabledata "Qlty. I. Result Condit. Conf." = IMD,
- tabledata "Qlty. Inspect. Source Config." = IMD,
- tabledata "Qlty. Inspect. Src. Fld. Conf." = IMD,
- tabledata "Qlty. Lookup Code" = IMD,
- tabledata "Qlty. Related Transfers Buffer" = IMD,
- tabledata "Qlty. Inspection Template Hdr." = IMD,
- tabledata "Qlty. Inspection Template Line" = IMD,
- tabledata "Qlty. Test" = IMD,
- tabledata "Qlty. Inspection Result" = IMD,
- tabledata "Qlty. Inspection Header" = IMD,
- tabledata "Qlty. Inspection Line" = IMD;
+ tabledata "Qlty. Management Setup" = RIMD,
+ tabledata "Qlty. Mgmt. Role Center Cue" = RIMD,
+ tabledata "Qlty. Express Config. Value" = RIMD,
+ tabledata "Qlty. Inspection Gen. Rule" = RIMD,
+ tabledata "Qlty. I. Result Condit. Conf." = RIMD,
+ tabledata "Qlty. Inspect. Source Config." = RIMD,
+ tabledata "Qlty. Inspect. Src. Fld. Conf." = RIMD,
+ tabledata "Qlty. Lookup Code" = RIMD,
+ tabledata "Qlty. Related Transfers Buffer" = RIMD,
+ tabledata "Qlty. Inspection Template Hdr." = RIMD,
+ tabledata "Qlty. Inspection Template Line" = RIMD,
+ tabledata "Qlty. Test" = RIMD,
+ tabledata "Qlty. Inspection Result" = RIMD,
+ tabledata "Qlty. Inspection Header" = RIMD,
+ tabledata "Qlty. Inspection Line" = RIMD;
}
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al
similarity index 92%
rename from src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
rename to src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al
index 8621bdfb6f..b88eab06dc 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyEntryInspector.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntInspector.PermissionSet.al
@@ -16,11 +16,12 @@ using Microsoft.QualityManagement.Setup;
using Microsoft.QualityManagement.Workflow;
///
-/// Used for data entry in quality inspections only.
+/// Used for working with Quality Inspections.
///
-permissionset 20404 QltyEntryInspector
+permissionset 20404 QltyMngmntInspector
{
- Caption = 'Quality Inspection - Data Entry';
+ Caption = 'Quality Management - Quality Inspector';
+ Access = Public;
Assignable = true;
IncludedPermissionSets = "QltyMngmnt - Objects";
diff --git a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
index abeebe2e4e..3e57c8c1b5 100644
--- a/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
+++ b/src/Apps/W1/Quality Management/app/src/Permissions/QltyMngmntRead.PermissionSet.al
@@ -15,9 +15,12 @@ using Microsoft.QualityManagement.RoleCenters;
using Microsoft.QualityManagement.Setup;
using Microsoft.QualityManagement.Workflow;
+///
+/// Used for full read-only access to Quality Management.
+///
permissionset 20401 "QltyMngmnt - Read"
{
- Caption = 'Quality Management - Read';
+ Caption = 'Quality Management - Read access';
Access = Public;
Assignable = true;
From fb21f11ded38acf96981ca1c310c01e304d860ec Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 14:30:25 +0100
Subject: [PATCH 7/8] Step 7
---
.../app/src/AccessControl/QltyPermissionMgmt.Codeunit.al | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al b/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al
index 6d91ac4f78..294249dba7 100644
--- a/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al
+++ b/src/Apps/W1/Quality Management/app/src/AccessControl/QltyPermissionMgmt.Codeunit.al
@@ -29,7 +29,7 @@ codeunit 20406 "Qlty. Permission Mgmt."
ExpressOnlyCaptionFinishInspectionLbl: Label 'Finish Inspection';
ExpressOnlyCaptionChangeTrackingNoLbl: Label 'Change Tracking No.';
ExpressOnlyCaptionChangeSourceQuantityLbl: Label 'Change Source Quantity';
- ExpectedSupervisorRoleIDTxt: Label 'QltyGeneral', Locked = true;
+ ExpectedSupervisorRoleIDTxt: Label 'QltyMngmnt - Edit', Locked = true;
UserDoesNotHavePermissionToErr: Label 'The user [%1] does not have permission to [%2]. This can be changed by navigating to Quality Management Permissions.', Comment = '%1=User id, %2=permission being attempted';
///
From d010750f268e96ba5fc73fed51119a40a29f3902 Mon Sep 17 00:00:00 2001
From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com>
Date: Tue, 10 Feb 2026 14:35:22 +0100
Subject: [PATCH 8/8] Tests change
---
.../src/QltyInspectionUtility.Codeunit.al | 3 ++-
.../src/QltyTestsPermissionMgmt.Codeunit.al | 20 +++++++++----------
2 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al b/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al
index 27efc98a9f..3d31b0e9a2 100644
--- a/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al
+++ b/src/Apps/W1/Quality Management/Test Library/src/QltyInspectionUtility.Codeunit.al
@@ -51,6 +51,7 @@ codeunit 139940 "Qlty. Inspection Utility"
LibraryUtility: Codeunit "Library - Utility";
NoSeriesCodeunit: Codeunit "No. Series";
DefaultResult2PassCodeLbl: Label 'PASS', Locked = true;
+ SupervisorRoleIDTok: Label 'QltyMngmnt - Edit', Locked = true;
internal procedure EnsureSetupExists()
var
@@ -58,7 +59,7 @@ codeunit 139940 "Qlty. Inspection Utility"
UserPermissionsLibrary: Codeunit "User Permissions Library";
begin
QltyAutoConfigure.EnsureBasicSetupExists(false);
- UserPermissionsLibrary.AssignPermissionSetToUser(UserSecurityId(), 'QltyGeneral');
+ UserPermissionsLibrary.AssignPermissionSetToUser(UserSecurityId(), SupervisorRoleIDTok);
end;
internal procedure CreateABasicTemplateAndInstanceOfAInspection(var OutCreatedQltyInspectionHeader: Record "Qlty. Inspection Header"; var OutQltyInspectionTemplateHdr: Record "Qlty. Inspection Template Hdr.")
diff --git a/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al b/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al
index 8b1bb35c85..57b4024c87 100644
--- a/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al
+++ b/src/Apps/W1/Quality Management/test/src/QltyTestsPermissionMgmt.Codeunit.al
@@ -19,7 +19,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
QltyInspectionUtility: Codeunit "Qlty. Inspection Utility";
LibraryAssert: Codeunit "Library Assert";
UserDoesNotHavePermissionToErr: Label 'The user [%1] does not have permission to [%2]. This can be changed by navigating to Quality Management Permissions.', Comment = '%1=User id, %2=permission being attempted';
- ExpectedSupervisorRoleIDTok: Label 'QltyGeneral', Locked = true;
+ SupervisorRoleIDTok: Label 'QltyMngmnt - Edit', Locked = true;
[Test]
procedure CanReadInspectionResults()
@@ -57,7 +57,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that creating a manual inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanCreateManualInspection is called
QltyInspectionUtility.VerifyCanCreateManualInspection();
@@ -99,7 +99,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that creating a re-inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanCreateReinspection is called
QltyInspectionUtility.VerifyCanCreateReinspection();
@@ -128,7 +128,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that deleting an open inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanDeleteOpenInspection is called
QltyInspectionUtility.VerifyCanDeleteOpenInspection();
@@ -157,7 +157,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that deleting a finished inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanDeleteFinishedInspection is called
QltyInspectionUtility.VerifyCanDeleteFinishedInspection();
@@ -172,7 +172,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that changing other users' inspections succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanChangeOtherInspections is called
QltyInspectionUtility.VerifyCanChangeOtherInspections();
@@ -201,7 +201,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that reopening an inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanReopenInspection is called
QltyInspectionUtility.VerifyCanReopenInspection();
@@ -230,7 +230,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that finishing an inspection succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanFinishInspection is called
QltyInspectionUtility.VerifyCanFinishInspection();
@@ -259,7 +259,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that changing tracking number succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanChangeTrackingNo is called
QltyInspectionUtility.VerifyCanChangeTrackingNo();
@@ -288,7 +288,7 @@ codeunit 139957 "Qlty. Tests - Permission Mgmt."
// [SCENARIO] Verify that changing source quantity succeeds with proper supervisor permissions
// [GIVEN] The supervisor role permission set is added
- LibraryLowerPermissions.AddPermissionSet(ExpectedSupervisorRoleIDTok);
+ LibraryLowerPermissions.AddPermissionSet(SupervisorRoleIDTok);
// [WHEN] VerifyCanChangeSourceQuantity is called
QltyInspectionUtility.VerifyCanChangeSourceQuantity();