From cb056a8921d4f871281589609b80187427cf2a54 Mon Sep 17 00:00:00 2001 From: Dusan Jakovljevic <134404137+JakovljevicDusan@users.noreply.github.com> Date: Fri, 20 Mar 2026 17:00:51 +0100 Subject: [PATCH] Prevent QM items from appearing in Tell Me for unpermitted users --- .../JobQueue/QltyScheduleInspection.Report.al | 1 + .../InventoryAdjustment/QltyCreateNegativeAdjmt.Report.al | 5 +++-- .../ItemTracking/QltyChangeItemTracking.Report.al | 7 ++++--- .../app/src/Dispositions/Move/QltyMoveInventory.Report.al | 3 ++- .../Purchase/QltyCreatePurchaseReturn.Report.al | 7 ++++--- .../PutAway/QltyCreateInternalPutaway.Report.al | 3 ++- .../Transfer/QltyCreateTransferOrder.Report.al | 5 +++-- .../app/src/Document/QltyCreateInspection.Report.al | 3 ++- .../app/src/Reports/QltyCertificateofAnalysis.Report.al | 5 +++-- .../app/src/Reports/QltyGeneralPurposeInspect.Report.al | 5 +++-- .../app/src/Reports/QltyNonConformance.Report.al | 7 ++++--- .../app/src/Reports/QltyReportSelectionQM.Page.al | 2 ++ .../src/Setup/SetupGuide/QltyManagementSetupGuide.Page.al | 2 ++ 13 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/Apps/W1/Quality Management/app/src/Configuration/GenerationRule/JobQueue/QltyScheduleInspection.Report.al b/src/Apps/W1/Quality Management/app/src/Configuration/GenerationRule/JobQueue/QltyScheduleInspection.Report.al index 5c7151a0f8..a498657274 100644 --- a/src/Apps/W1/Quality Management/app/src/Configuration/GenerationRule/JobQueue/QltyScheduleInspection.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Configuration/GenerationRule/JobQueue/QltyScheduleInspection.Report.al @@ -14,6 +14,7 @@ report 20412 "Qlty. Schedule Inspection" AdditionalSearchTerms = 'Periodic inspections'; ToolTip = 'Run this report to bulk create inspections based on generation rules for the selected template, or schedule it in the job queue for periodic inspection creation.'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Gen. Rule" = R; ApplicationArea = QualityManagement; UsageCategory = Tasks; AllowScheduling = true; diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/InventoryAdjustment/QltyCreateNegativeAdjmt.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/InventoryAdjustment/QltyCreateNegativeAdjmt.Report.al index 50646cc301..f4b33b60f7 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/InventoryAdjustment/QltyCreateNegativeAdjmt.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/InventoryAdjustment/QltyCreateNegativeAdjmt.Report.al @@ -13,12 +13,13 @@ using Microsoft.Warehouse.Structure; report 20408 "Qlty. Create Negative Adjmt." { Caption = 'Quality Management - Create Negative Inventory Adjustment'; - ApplicationArea = QualityManagement; AdditionalSearchTerms = 'write-off, dispose'; + ToolTip = 'Use this to decrease inventory quantity, such as when disposing of samples after destructive testing or writing off stock due to damage or spoilage'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = Tasks; + ApplicationArea = QualityManagement; AllowScheduling = false; - ToolTip = 'Use this to decrease inventory quantity, such as when disposing of samples after destructive testing or writing off stock due to damage or spoilage'; dataset { diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/ItemTracking/QltyChangeItemTracking.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/ItemTracking/QltyChangeItemTracking.Report.al index a062c3f9c2..53d947ef6d 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/ItemTracking/QltyChangeItemTracking.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/ItemTracking/QltyChangeItemTracking.Report.al @@ -15,13 +15,14 @@ using Microsoft.Warehouse.Structure; report 20409 "Qlty. Change Item Tracking" { Caption = 'Quality Management - Change Item Tracking'; - ApplicationArea = QualityManagement; + AdditionalSearchTerms = 'Change lot number, Change serial number, Change package number, Change Expiration Date'; + ToolTip = 'Use this to update item tracking information.'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = Tasks; + ApplicationArea = QualityManagement; AllowScheduling = false; Extensible = true; - AdditionalSearchTerms = 'Change lot number, Change serial number, Change package number, Change Expiration Date'; - ToolTip = 'Use this to update item tracking information.'; dataset { diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/Move/QltyMoveInventory.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/Move/QltyMoveInventory.Report.al index 9f3b0578ab..027155ef26 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/Move/QltyMoveInventory.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/Move/QltyMoveInventory.Report.al @@ -14,8 +14,9 @@ report 20404 "Qlty. Move Inventory" Caption = 'Quality Management - Move Inventory'; AdditionalSearchTerms = 'Quarantine'; ProcessingOnly = true; - ApplicationArea = QualityManagement; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = Tasks; + ApplicationArea = QualityManagement; AllowScheduling = false; dataset diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/Purchase/QltyCreatePurchaseReturn.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/Purchase/QltyCreatePurchaseReturn.Report.al index 2aaa35c948..eeed95c71f 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/Purchase/QltyCreatePurchaseReturn.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/Purchase/QltyCreatePurchaseReturn.Report.al @@ -12,12 +12,13 @@ using Microsoft.Warehouse.Structure; report 20411 "Qlty. Create Purchase Return" { - ApplicationArea = PurchReturnOrder; Caption = 'Quality Management - Create Purchase Return Order'; - UsageCategory = Tasks; + ToolTip = 'Use this to create a Purchase Return Order from a Quality Inspection.'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; + UsageCategory = Tasks; + ApplicationArea = PurchReturnOrder; AllowScheduling = false; - ToolTip = 'Use this to create a Purchase Return Order from a Quality Inspection.'; dataset { diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/PutAway/QltyCreateInternalPutaway.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/PutAway/QltyCreateInternalPutaway.Report.al index 291f881cf6..7eb6b5cdf9 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/PutAway/QltyCreateInternalPutaway.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/PutAway/QltyCreateInternalPutaway.Report.al @@ -13,8 +13,9 @@ report 20406 "Qlty. Create Internal Put-away" { Caption = 'Quality Management - Create Internal Put-away'; ProcessingOnly = true; - ApplicationArea = Warehouse; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = Tasks; + ApplicationArea = Warehouse; AllowScheduling = false; dataset diff --git a/src/Apps/W1/Quality Management/app/src/Dispositions/Transfer/QltyCreateTransferOrder.Report.al b/src/Apps/W1/Quality Management/app/src/Dispositions/Transfer/QltyCreateTransferOrder.Report.al index 2e0b4f3f04..b9728e9da1 100644 --- a/src/Apps/W1/Quality Management/app/src/Dispositions/Transfer/QltyCreateTransferOrder.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Dispositions/Transfer/QltyCreateTransferOrder.Report.al @@ -12,11 +12,12 @@ using Microsoft.Warehouse.Structure; report 20410 "Qlty. Create Transfer Order" { Caption = 'Quality Management - Create Transfer Order'; - ApplicationArea = QualityManagement; + ToolTip = 'Use this to transfer items to another location.'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = Tasks; + ApplicationArea = QualityManagement; AllowScheduling = false; - ToolTip = 'Use this to transfer items to another location.'; dataset { diff --git a/src/Apps/W1/Quality Management/app/src/Document/QltyCreateInspection.Report.al b/src/Apps/W1/Quality Management/app/src/Document/QltyCreateInspection.Report.al index b63439ced1..29d1fff784 100644 --- a/src/Apps/W1/Quality Management/app/src/Document/QltyCreateInspection.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Document/QltyCreateInspection.Report.al @@ -15,8 +15,9 @@ report 20400 "Qlty. Create Inspection" { Caption = 'Create Quality Inspection'; ProcessingOnly = true; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; UsageCategory = ReportsAndAnalysis; - ApplicationArea = All; + ApplicationArea = QualityManagement; Permissions = tabledata "Qlty. Inspection Header" = Rim, tabledata "Qlty. Inspection Line" = Rim; diff --git a/src/Apps/W1/Quality Management/app/src/Reports/QltyCertificateofAnalysis.Report.al b/src/Apps/W1/Quality Management/app/src/Reports/QltyCertificateofAnalysis.Report.al index 959062af01..a29d298959 100644 --- a/src/Apps/W1/Quality Management/app/src/Reports/QltyCertificateofAnalysis.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Reports/QltyCertificateofAnalysis.Report.al @@ -16,9 +16,10 @@ using Microsoft.QualityManagement.Utilities; report 20401 "Qlty. Certificate of Analysis" { - ApplicationArea = QualityManagement; - UsageCategory = ReportsAndAnalysis; Caption = 'Quality Management - Certificate of Analysis'; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; + UsageCategory = ReportsAndAnalysis; + ApplicationArea = QualityManagement; DefaultRenderingLayout = QltyCertificateOfAnalysisDefault; Extensible = true; diff --git a/src/Apps/W1/Quality Management/app/src/Reports/QltyGeneralPurposeInspect.Report.al b/src/Apps/W1/Quality Management/app/src/Reports/QltyGeneralPurposeInspect.Report.al index c27ea2657d..5a8936a752 100644 --- a/src/Apps/W1/Quality Management/app/src/Reports/QltyGeneralPurposeInspect.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Reports/QltyGeneralPurposeInspect.Report.al @@ -16,10 +16,11 @@ using Microsoft.QualityManagement.Utilities; report 20405 "Qlty. General Purpose Inspect." { - ApplicationArea = QualityManagement; - UsageCategory = ReportsAndAnalysis; Caption = 'Quality Management - General Purpose Inspection Report'; ToolTip = 'A printable general purpose inspection report.'; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; + UsageCategory = ReportsAndAnalysis; + ApplicationArea = QualityManagement; DefaultRenderingLayout = QltyGeneralPurposeInspectionDefault; Extensible = true; diff --git a/src/Apps/W1/Quality Management/app/src/Reports/QltyNonConformance.Report.al b/src/Apps/W1/Quality Management/app/src/Reports/QltyNonConformance.Report.al index 274afcd0a1..32aa1fa9b4 100644 --- a/src/Apps/W1/Quality Management/app/src/Reports/QltyNonConformance.Report.al +++ b/src/Apps/W1/Quality Management/app/src/Reports/QltyNonConformance.Report.al @@ -16,12 +16,13 @@ using Microsoft.QualityManagement.Utilities; report 20403 "Qlty. Non-Conformance" { - ApplicationArea = QualityManagement; - UsageCategory = ReportsAndAnalysis; Caption = 'Quality Management - Non-Conformance Report'; + AdditionalSearchTerms = 'NCR,CAR'; + AccessByPermission = tabledata "Qlty. Inspection Header" = R; + UsageCategory = ReportsAndAnalysis; + ApplicationArea = QualityManagement; DefaultRenderingLayout = QltyNonConformanceDefault; Extensible = true; - AdditionalSearchTerms = 'NCR,CAR'; dataset { diff --git a/src/Apps/W1/Quality Management/app/src/Reports/QltyReportSelectionQM.Page.al b/src/Apps/W1/Quality Management/app/src/Reports/QltyReportSelectionQM.Page.al index 7f4b9882a9..dd95f90fd6 100644 --- a/src/Apps/W1/Quality Management/app/src/Reports/QltyReportSelectionQM.Page.al +++ b/src/Apps/W1/Quality Management/app/src/Reports/QltyReportSelectionQM.Page.al @@ -5,6 +5,7 @@ namespace Microsoft.QualityManagement.Reports; using Microsoft.Foundation.Reporting; +using Microsoft.QualityManagement.Setup; using System.Reflection; page 20442 "Qlty. Report Selection - QM" @@ -13,6 +14,7 @@ page 20442 "Qlty. Report Selection - QM" PageType = Worksheet; SaveValues = true; SourceTable = "Report Selections"; + AccessByPermission = tabledata "Qlty. Management Setup" = R; UsageCategory = Tasks; ApplicationArea = QualityManagement; diff --git a/src/Apps/W1/Quality Management/app/src/Setup/SetupGuide/QltyManagementSetupGuide.Page.al b/src/Apps/W1/Quality Management/app/src/Setup/SetupGuide/QltyManagementSetupGuide.Page.al index 43cac6e6d9..d888c5fa32 100644 --- a/src/Apps/W1/Quality Management/app/src/Setup/SetupGuide/QltyManagementSetupGuide.Page.al +++ b/src/Apps/W1/Quality Management/app/src/Setup/SetupGuide/QltyManagementSetupGuide.Page.al @@ -5,6 +5,7 @@ namespace Microsoft.QualityManagement.Setup.SetupGuide; using Microsoft.QualityManagement.RoleCenters; +using Microsoft.QualityManagement.Setup; using Microsoft.QualityManagement.Setup.ApplicationAreas; using Microsoft.QualityManagement.Utilities; using System.Environment; @@ -16,6 +17,7 @@ page 20438 "Qlty. Management Setup Guide" { Caption = 'Quality Management Setup Guide'; PageType = NavigatePage; + AccessByPermission = tabledata "Qlty. Management Setup" = R; UsageCategory = Administration; ApplicationArea = QualityManagement;