From 8147f17aeef4f6d1ba2d1fff331ae0d1c57e80c3 Mon Sep 17 00:00:00 2001 From: Chethan Thopaiah Date: Mon, 10 Aug 2026 11:13:14 +0200 Subject: [PATCH 1/5] Bug 646141: Forward-port Subcontracting Dispatch List action from 28.x to main Forward-ports the net effect of microsoft/BCApps PRs #9012 and #9819 to main: add the app-owned action "Subcontractor Dispatch List" to pageextension "Subc. Work Center Card" (99001506), remove the obsolete app-side modify("Subcontractor - Dispatch List"), and update the two UI tests to reference the app-owned action. Resolves the AppSourceCop AS0031 baseline break exposed by PR #9930 (AppBaselines-BCArtifacts 28.5.53301.0). Preserves main-only notification behavior and CLEAN29 handling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../SubcWorkCenterCard.PageExt.al | 21 +++++++++++++++---- .../SubcSubcontractingUITest.Codeunit.al | 4 ++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al b/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al index 207736251a5..ca498be28d1 100644 --- a/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al +++ b/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al @@ -5,6 +5,7 @@ namespace Microsoft.Manufacturing.Subcontracting; using Microsoft.Manufacturing.WorkCenter; +using Microsoft.Purchases.Document; pageextension 99001506 "Subc. Work Center Card" extends "Work Center Card" { @@ -49,12 +50,24 @@ pageextension 99001506 "Subc. Work Center Card" extends "Work Center Card" RunPageLink = "Work Center No." = field("No."); ToolTip = 'View the Subcontracting WIP Entries that track work-in-progress quantities at this work center''s subcontracting location.'; } + action("Subcontractor Dispatch List") + { + ApplicationArea = Subcontracting; + Caption = 'Subcontractor - Dispatch List'; + Enabled = IsSubcontractingWorkCenter; + Image = Print; + ToolTip = 'Print the dispatching list for the subcontractor assigned to this work center.'; + + trigger OnAction() + var + PurchaseHeader: Record "Purchase Header"; + begin + PurchaseHeader.SetRange("Buy-from Vendor No.", Rec."Subcontractor No."); + Report.Run(Report::"Subc. Dispatching List", true, false, PurchaseHeader); + end; + } } } - modify("Subcontractor - Dispatch List") - { - Enabled = IsSubcontractingWorkCenter; - } } trigger OnOpenPage() diff --git a/src/Apps/W1/Subcontracting/Test/Tests/SubcSubcontractingUITest.Codeunit.al b/src/Apps/W1/Subcontracting/Test/Tests/SubcSubcontractingUITest.Codeunit.al index 71214ce9867..49163dd0407 100644 --- a/src/Apps/W1/Subcontracting/Test/Tests/SubcSubcontractingUITest.Codeunit.al +++ b/src/Apps/W1/Subcontracting/Test/Tests/SubcSubcontractingUITest.Codeunit.al @@ -453,7 +453,7 @@ codeunit 139990 "Subc. Subcontracting UI Test" WorkCenterCard.GotoRecord(WorkCenter); // [THEN] Subcontractor - Dispatch List action is not enabled - Assert.IsFalse(WorkCenterCard."Subcontractor - Dispatch List".Enabled(), SubcontractingActionsEnabledErr); + Assert.IsFalse(WorkCenterCard."Subcontractor Dispatch List".Enabled(), SubcontractingActionsEnabledErr); WorkCenterCard.Close(); end; @@ -476,7 +476,7 @@ codeunit 139990 "Subc. Subcontracting UI Test" WorkCenterCard.GotoRecord(WorkCenter); // [THEN] Subcontractor - Dispatch List action is enabled - Assert.IsTrue(WorkCenterCard."Subcontractor - Dispatch List".Enabled(), SubcontractingActionsNotEnabledErr); + Assert.IsTrue(WorkCenterCard."Subcontractor Dispatch List".Enabled(), SubcontractingActionsNotEnabledErr); WorkCenterCard.Close(); end; From 2686a87cb9f7b41476eeaa3cdf9cccc20bc35f08 Mon Sep 17 00:00:00 2001 From: Chethan Thopaiah Date: Mon, 10 Aug 2026 14:25:28 +0200 Subject: [PATCH 2/5] Bug 646141: Mark old dispatch action caption obsolete Append (Obsolete) to the old Base Application Work Center Card dispatch-list action caption so users can distinguish it from the new Subcontracting app action. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al b/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al index 20af8ae8e70..51a35f8029f 100644 --- a/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al +++ b/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al @@ -338,7 +338,7 @@ page 99000754 "Work Center Card" action("Subcontractor - Dispatch List") { ApplicationArea = Manufacturing; - Caption = 'Subcontractor - Dispatch List'; + Caption = 'Subcontractor - Dispatch List (Obsolete)'; Image = "Report"; //The property 'PromotedCategory' can only be set if the property 'Promoted' is set to 'true' //PromotedCategory = "Report"; From bc7f9ea30b7f2c45cdae3869b86c059707ec5a40 Mon Sep 17 00:00:00 2001 From: Chethan Thopaiah Date: Mon, 10 Aug 2026 15:59:17 +0200 Subject: [PATCH 3/5] obsolete the action --- .../IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al b/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al index d22cc5d91fa..cea31b5f882 100644 --- a/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al +++ b/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al @@ -362,7 +362,7 @@ page 99000754 "Work Center Card" action("Subcontractor - Dispatch List") { ApplicationArea = Manufacturing; - Caption = 'Subcontractor - Dispatch List'; + Caption = 'Subcontractor - Dispatch List (Obsolete)'; Image = "Report"; //The property 'PromotedCategory' can only be set if the property 'Promoted' is set to 'true' //PromotedCategory = "Report"; From 6b2d4bc4d922590c5e324ab81101a832c755c6aa Mon Sep 17 00:00:00 2001 From: Chethan Thopaiah Date: Tue, 11 Aug 2026 12:00:15 +0200 Subject: [PATCH 4/5] obsolete action --- .../App/src/Manufacturing/SubcWorkCenterCard.PageExt.al | 2 +- .../BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al b/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al index ca498be28d1..c0563c1d568 100644 --- a/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al +++ b/src/Apps/W1/Subcontracting/App/src/Manufacturing/SubcWorkCenterCard.PageExt.al @@ -90,6 +90,7 @@ pageextension 99001506 "Subc. Work Center Card" extends "Work Center Card" end; var + SubcNotificationMgmt: Codeunit "Subc. Notification Mgmt."; #if not CLEAN29 #pragma warning disable AL0432 SubcFeatureFlagHandler: Codeunit "Subc. Feature Flag Handler"; @@ -97,5 +98,4 @@ pageextension 99001506 "Subc. Work Center Card" extends "Work Center Card" SubcontractingEnabled: Boolean; #endif IsSubcontractingWorkCenter: Boolean; - SubcNotificationMgmt: Codeunit "Subc. Notification Mgmt."; } diff --git a/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al b/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al index 51a35f8029f..32607b8d083 100644 --- a/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al +++ b/src/Layers/W1/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al @@ -333,6 +333,7 @@ page 99000754 "Work Center Card" end; } } +#if not CLEAN29 area(reporting) { action("Subcontractor - Dispatch List") @@ -343,8 +344,12 @@ page 99000754 "Work Center Card" //The property 'PromotedCategory' can only be set if the property 'Promoted' is set to 'true' //PromotedCategory = "Report"; RunObject = Report "Subcontractor - Dispatch List"; + ObsoleteState = Pending; + ObsoleteReason = 'This report is obsolete. Use the "Subcontractor - Dispatch List (New)" report instead from Subcontracting app.'; + ObsoleteTag = '29.0'; } } +#endif area(Promoted) { group(Category_Process) From 7aaa42e95a634cb816a4183f768746f6065bf166 Mon Sep 17 00:00:00 2001 From: Chethan Thopaiah Date: Tue, 11 Aug 2026 12:08:39 +0200 Subject: [PATCH 5/5] obsolete --- .../BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al b/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al index cea31b5f882..e1496fdc9c3 100644 --- a/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al +++ b/src/Layers/IT/BaseApp/Manufacturing/WorkCenter/WorkCenterCard.Page.al @@ -357,6 +357,7 @@ page 99000754 "Work Center Card" } #endif } +#if not CLEAN29 area(reporting) { action("Subcontractor - Dispatch List") @@ -367,8 +368,12 @@ page 99000754 "Work Center Card" //The property 'PromotedCategory' can only be set if the property 'Promoted' is set to 'true' //PromotedCategory = "Report"; RunObject = Report "Subcontractor - Dispatch List"; + ObsoleteState = Pending; + ObsoleteReason = 'This report is obsolete. Use the "Subcontractor - Dispatch List (New)" report instead from Subcontracting app.'; + ObsoleteTag = '29.0'; } } +#endif area(Promoted) { group(Category_Process)