diff --git a/src/Apps/W1/Subcontracting/App/src/Process/Tableextensions/Purchase/SubcPurchaseLine.TableExt.al b/src/Apps/W1/Subcontracting/App/src/Process/Tableextensions/Purchase/SubcPurchaseLine.TableExt.al index 6c402dfa93..73f9d5e698 100644 --- a/src/Apps/W1/Subcontracting/App/src/Process/Tableextensions/Purchase/SubcPurchaseLine.TableExt.al +++ b/src/Apps/W1/Subcontracting/App/src/Process/Tableextensions/Purchase/SubcPurchaseLine.TableExt.al @@ -105,6 +105,12 @@ tableextension 99001512 "Subc. Purchase Line" extends "Purchase Line" ToolTip = 'Specifies whether this purchase line is linked to a WIP item transfer operation.'; } } + + keys + { + key(SubcPurchLineKey; "Subc. Purchase Line Type") { } + } + procedure GetQuantityPerUOM(): Decimal var ItemUnitofMeasure: Record "Item Unit of Measure"; diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingCue.TableExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingCue.TableExt.al new file mode 100644 index 0000000000..40276e1b51 --- /dev/null +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingCue.TableExt.al @@ -0,0 +1,67 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.Manufacturing.Subcontracting; + +using Microsoft.Inventory.Transfer; +using Microsoft.Manufacturing.RoleCenters; +using Microsoft.Purchases.Document; + +tableextension 99001529 "Subc. Manufacturing Cue" extends "Manufacturing Cue" +{ + fields + { + field(99001560; "Subcontracting Purchase Orders"; Integer) + { + AccessByPermission = tabledata "Purchase Header" = R; + CalcFormula = count("Purchase Header" where("Document Type" = const(Order), + "Subcontracting Order" = const(true))); + Caption = 'Subcontracting Purchase Orders'; + Editable = false; + FieldClass = FlowField; + ToolTip = 'Specifies the number of open purchase orders that are subcontracting orders.'; + } + field(99001561; "Subc. Purch. Lines Outstd."; Integer) + { + AccessByPermission = tabledata "Purchase Line" = R; + CalcFormula = count("Purchase Line" where("Document Type" = const(Order), + "Subc. Purchase Line Type" = filter(<> None), + "Outstanding Quantity" = filter(<> 0))); + Caption = 'Outstanding Subc. Purch. Lines'; + Editable = false; + FieldClass = FlowField; + ToolTip = 'Specifies the number of outstanding subcontracting purchase order lines that have not yet been fully received.'; + } + field(99001562; "Subc. Purch. Lines Total"; Integer) + { + AccessByPermission = tabledata "Purchase Line" = R; + CalcFormula = count("Purchase Line" where("Document Type" = const(Order), + "Subc. Purchase Line Type" = filter(<> None))); + Caption = 'Total Subc. Purchase Lines'; + Editable = false; + FieldClass = FlowField; + ToolTip = 'Specifies the total number of subcontracting purchase order lines.'; + } + field(99001563; "Transfers to Subcontractor"; Integer) + { + AccessByPermission = tabledata "Transfer Header" = R; + CalcFormula = count("Transfer Header" where("Source Type" = const(Subcontracting), + "Return Order" = const(false))); + Caption = 'Transfers to Subcontractor'; + Editable = false; + FieldClass = FlowField; + ToolTip = 'Specifies the number of transfer orders to subcontractors.'; + } + field(99001564; "Returns from Subcontractor"; Integer) + { + AccessByPermission = tabledata "Transfer Header" = R; + CalcFormula = count("Transfer Header" where("Source Type" = const(Subcontracting), + "Return Order" = const(true))); + Caption = 'Returns from Subcontractor'; + Editable = false; + FieldClass = FlowField; + ToolTip = 'Specifies the number of transfer orders that are returns from subcontractors.'; + } + } +} diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingManagerRC.PageExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingManagerRC.PageExt.al index f5d352af44..300dfacf7a 100644 --- a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingManagerRC.PageExt.al +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcManufacturingManagerRC.PageExt.al @@ -10,14 +10,25 @@ pageextension 99001536 "Subc. Manufacturing Manager RC" extends "Manufacturing M { actions { - addafter("Requisition Worksheets") + addlast(Sections) { - action("Subc. Subcontracting Worksheet") + group(Subcontracting) { - ApplicationArea = Manufacturing; - Caption = 'Subcontracting Worksheets'; - RunObject = page "Subc. Subcontracting Worksheet"; - ToolTip = 'Calculate the needed production supply, find the production orders that have material ready to send to a subcontractor, and automatically create purchase orders for subcontracted operations from production order routings.'; + Caption = 'Subcontracting'; + action("Subc. Subcontracting Worksheet") + { + ApplicationArea = Manufacturing; + Caption = 'Subcontracting Worksheets'; + RunObject = page "Subc. Subcontracting Worksheet"; + ToolTip = 'Calculate the needed production supply, find the production orders that have material ready to send to a subcontractor, and automatically create purchase orders for subcontracted operations from production order routings.'; + } + action("Subc. Subcontractor Prices") + { + ApplicationArea = Manufacturing; + Caption = 'Subcontractor Prices'; + RunObject = page "Subcontractor Prices"; + ToolTip = 'View and maintain the prices that subcontractors charge for the operations they perform.'; + } } } } diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerActivities.PageExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerActivities.PageExt.al index 7581fef43b..327cfcac6b 100644 --- a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerActivities.PageExt.al +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerActivities.PageExt.al @@ -4,7 +4,9 @@ // ------------------------------------------------------------------------------------------------ namespace Microsoft.Manufacturing.Subcontracting; +using Microsoft.Inventory.Transfer; using Microsoft.Manufacturing.RoleCenters; +using Microsoft.Purchases.Document; pageextension 99001537 "Subc. Prod. Planner Activities" extends "Production Planner Activities" { @@ -13,8 +15,43 @@ pageextension 99001537 "Subc. Prod. Planner Activities" extends "Production Plan addlast(content) { cuegroup(SubcontractingCuegroup) + { + Caption = 'Subcontracting'; + field("Subcontracting Purchase Orders"; Rec."Subcontracting Purchase Orders") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Purchase Order List"; + ToolTip = 'Specifies the number of open purchase orders that are subcontracting orders.'; + } + field("Subc. Purch. Lines Outstd."; Rec."Subc. Purch. Lines Outstd.") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the number of outstanding subcontracting purchase order lines that have not yet been fully received.'; + Visible = false; + } + field("Subc. Purch. Lines Total"; Rec."Subc. Purch. Lines Total") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the total number of subcontracting purchase order lines.'; + Visible = false; + } + field("Transfers to Subcontractor"; Rec."Transfers to Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders to subcontractors.'; + } + field("Returns from Subcontractor"; Rec."Returns from Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders that are returns from subcontractors.'; + } + } + cuegroup(SubcontractingActionsCuegroup) { Caption = 'Subcontracting - Operations'; + actions { action("Subc. Edit Subcontracting Worksheet") diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerRoleCenter.PageExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerRoleCenter.PageExt.al index fff5b8cfa6..a3abd3d33d 100644 --- a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerRoleCenter.PageExt.al +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcProdPlannerRoleCenter.PageExt.al @@ -5,22 +5,46 @@ namespace Microsoft.Manufacturing.Subcontracting; using Microsoft.Inventory.Requisition; +using Microsoft.Inventory.Transfer; using Microsoft.Manufacturing.RoleCenters; +using Microsoft.Purchases.Document; pageextension 99001538 "Subc. Prod. Planner RoleCenter" extends "Production Planner Role Center" { actions { - addafter("RequisitionWorksheets") + addlast(sections) { - action("Subc. Subcontracting Worksheets") + group(Subcontracting) { - ApplicationArea = Manufacturing; - Caption = 'Subcontracting Worksheets'; - RunObject = Page "Req. Wksh. Names"; - RunPageView = where("Template Type" = const(Subcontracting), - Recurring = const(false)); - ToolTip = 'Calculate the needed production supply, find the production orders that have material ready to send to a subcontractor, and automatically create purchase orders for subcontracted operations from production order routings.'; + Caption = 'Subcontracting'; + action("Subc. Subcontracting Worksheets") + { + ApplicationArea = Manufacturing; + Caption = 'Subcontracting Worksheets'; + RunObject = Page "Req. Wksh. Names"; + RunPageView = where("Template Type" = const(Subcontracting), + Recurring = const(false)); + ToolTip = 'Calculate the needed production supply, find the production orders that have material ready to send to a subcontractor, and automatically create purchase orders for subcontracted operations from production order routings.'; + } + action("Subc. Subcontracting Purch. Orders") + { + ApplicationArea = Manufacturing; + Caption = 'Subcontracting Purchase Orders'; + RunObject = Page "Purchase Order List"; + RunPageView = where("Document Type" = const(Order), + "Subcontracting Order" = const(true)); + ToolTip = 'View the list of purchase orders that are subcontracting orders.'; + } + action("Subc. Subcontracting Transfers") + { + ApplicationArea = Manufacturing; + Caption = 'Subcontracting Transfers'; + RunObject = Page "Transfer Orders"; + RunPageView = where("Source Type" = const(Subcontracting), + "Return Order" = const(false)); + ToolTip = 'View the list of outbound transfer orders to subcontractors.'; + } } } addafter("Planning Works&heet") diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperActivities.PageExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperActivities.PageExt.al new file mode 100644 index 0000000000..e2454a6bd3 --- /dev/null +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperActivities.PageExt.al @@ -0,0 +1,68 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.Manufacturing.Subcontracting; + +using Microsoft.Inventory.Transfer; +using Microsoft.Manufacturing.RoleCenters; +using Microsoft.Purchases.Document; + +pageextension 99001549 "Subc. Shop Super. Activities" extends "Shop Supervisor Activities" +{ + layout + { + addlast(content) + { + cuegroup(SubcontractingCuegroup) + { + Caption = 'Subcontracting'; + field("Subcontracting Purchase Orders"; Rec."Subcontracting Purchase Orders") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Purchase Order List"; + ToolTip = 'Specifies the number of open purchase orders that are subcontracting orders.'; + } + field("Subc. Purch. Lines Outstd."; Rec."Subc. Purch. Lines Outstd.") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the number of outstanding subcontracting purchase order lines that have not yet been fully received.'; + Visible = false; + } + field("Subc. Purch. Lines Total"; Rec."Subc. Purch. Lines Total") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the total number of subcontracting purchase order lines.'; + Visible = false; + } + field("Transfers to Subcontractor"; Rec."Transfers to Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders to subcontractors.'; + } + field("Returns from Subcontractor"; Rec."Returns from Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders that are returns from subcontractors.'; + } + } + cuegroup(SubcontractingActionsCuegroup) + { + Caption = 'Subcontracting - Operations'; + + actions + { + action("Subc. Edit Subcontracting Worksheet") + { + ApplicationArea = Manufacturing; + Caption = 'Edit Subcontracting Worksheet'; + RunObject = Page "Subc. Subcontracting Worksheet"; + ToolTip = 'Plan outsourcing of operation on released production orders.'; + } + } + } + } + } +} diff --git a/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperbasicActivity.PageExt.al b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperbasicActivity.PageExt.al new file mode 100644 index 0000000000..27fb9eb730 --- /dev/null +++ b/src/Apps/W1/Subcontracting/App/src/RoleCenters/SubcShopSuperbasicActivity.PageExt.al @@ -0,0 +1,68 @@ +// ------------------------------------------------------------------------------------------------ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// ------------------------------------------------------------------------------------------------ +namespace Microsoft.Manufacturing.Subcontracting; + +using Microsoft.Inventory.Transfer; +using Microsoft.Manufacturing.RoleCenters; +using Microsoft.Purchases.Document; + +pageextension 99001550 "Subc. ShopSuperbasicActivity" extends "Shop Super. basic Activities" +{ + layout + { + addlast(content) + { + cuegroup(SubcontractingCuegroup) + { + Caption = 'Subcontracting'; + field("Subcontracting Purchase Orders"; Rec."Subcontracting Purchase Orders") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Purchase Order List"; + ToolTip = 'Specifies the number of open purchase orders that are subcontracting orders.'; + } + field("Subc. Purch. Lines Outstd."; Rec."Subc. Purch. Lines Outstd.") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the number of outstanding subcontracting purchase order lines that have not yet been fully received.'; + Visible = false; + } + field("Subc. Purch. Lines Total"; Rec."Subc. Purch. Lines Total") + { + ApplicationArea = Manufacturing; + ToolTip = 'Specifies the total number of subcontracting purchase order lines.'; + Visible = false; + } + field("Transfers to Subcontractor"; Rec."Transfers to Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders to subcontractors.'; + } + field("Returns from Subcontractor"; Rec."Returns from Subcontractor") + { + ApplicationArea = Manufacturing; + DrillDownPageId = "Transfer Orders"; + ToolTip = 'Specifies the number of transfer orders that are returns from subcontractors.'; + } + } + cuegroup(SubcontractingActionsCuegroup) + { + Caption = 'Subcontracting - Operations'; + + actions + { + action("Subc. Edit Subcontracting Worksheet") + { + ApplicationArea = Manufacturing; + Caption = 'Edit Subcontracting Worksheet'; + RunObject = Page "Subc. Subcontracting Worksheet"; + ToolTip = 'Plan outsourcing of operation on released production orders.'; + } + } + } + } + } +}