Report 5500 Prod. Order Comp. and Routing, source in 29
Source29
src/Layers/W1/BaseApp/Manufacturing/Reports/ProdOrderCompandRouting.Report.al249 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// 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.Reports;
using Microsoft.Manufacturing.Document;
using Microsoft.Manufacturing.Journal;
report 5500 "Prod. Order Comp. and Routing"
{
ApplicationArea = Manufacturing;
Caption = 'Prod. Order Comp. and Routing';
UsageCategory = ReportsAndAnalysis;
DefaultRenderingLayout = RDLCLayout;
dataset
{
dataitem("Production Order"; "Production Order")
{
DataItemTableView = sorting(Status, "No.");
RequestFilterFields = Status, "No.";
column(TodayFormatted; Format(Today, 0, 4))
{
}
column(CompanyName; COMPANYPROPERTY.DisplayName())
{
}
column(Status_ProductionOrder; Status)
{
IncludeCaption = true;
}
column(No_ProductionOrder; "No.")
{
IncludeCaption = true;
}
column(CurrReportPageNoCapt; CurrReportPageNoCaptLbl)
{
}
column(PrdOdrCmptsandRtngLinsCpt; PrdOdrCmptsandRtngLinsCptLbl)
{
}
column(ProductionOrderDescCapt; ProductionOrderDescCaptLbl)
{
}
dataitem("Prod. Order Line"; "Prod. Order Line")
{
DataItemLink = Status = field(Status), "Prod. Order No." = field("No.");
DataItemTableView = sorting(Status, "Prod. Order No.", "Line No.");
RequestFilterFields = "Item No.", "Line No.";
column(No1_ProductionOrder; "Production Order"."No.")
{
}
column(Desc_ProductionOrder; "Production Order".Description)
{
}
column(Desc_ProdOrderLine; Description)
{
}
column(Quantity_ProdOrderLine; Quantity)
{
IncludeCaption = true;
}
column(ItemNo_ProdOrderLine; "Item No.")
{
}
column(StartgDate_ProdOrderLine; Format("Starting Date"))
{
}
column(StartgTime_ProdOrderLine; "Starting Time")
{
IncludeCaption = true;
}
column(EndingDate_ProdOrderLine; Format("Ending Date"))
{
}
column(EndingTime_ProdOrderLine; "Ending Time")
{
IncludeCaption = true;
}
column(DueDate_ProdOrderLine; Format("Due Date"))
{
}
column(LineNo_ProdOrderLine; "Line No.")
{
}
column(ProdOdrLineStrtngDteCapt; ProdOdrLineStrtngDteCaptLbl)
{
}
column(ProdOrderLineEndgDteCapt; ProdOrderLineEndgDteCaptLbl)
{
}
column(ProdOrderLineDueDateCapt; ProdOrderLineDueDateCaptLbl)
{
}
dataitem("Prod. Order Component"; "Prod. Order Component")
{
DataItemLink = Status = field(Status), "Prod. Order No." = field("Prod. Order No."), "Prod. Order Line No." = field("Line No.");
DataItemTableView = sorting(Status, "Prod. Order No.", "Prod. Order Line No.", "Line No.");
column(ItemNo_PrdOrdrComp; "Item No.")
{
}
column(ItemNo_PrdOrdrCompCaption; FieldCaption("Item No."))
{
}
column(Description_ProdOrderComp; Description)
{
IncludeCaption = true;
}
column(Quantityper_ProdOrderComp; "Quantity per")
{
IncludeCaption = true;
}
column(UntofMesrCode_PrdOrdrComp; "Unit of Measure Code")
{
IncludeCaption = true;
}
column(RemainingQty_PrdOrdrComp; "Remaining Quantity")
{
IncludeCaption = true;
}
column(DueDate_PrdOrdrComp; Format("Due Date"))
{
}
column(ProdOrdrLinNo_PrdOrdrComp; "Prod. Order Line No.")
{
}
column(LineNo_PrdOrdrComp; "Line No.")
{
}
trigger OnAfterGetRecord()
begin
if ProductionJrnlMgt.RoutingLinkValid("Prod. Order Component", "Prod. Order Line") then
CurrReport.Skip();
end;
}
dataitem("Prod. Order Routing Line"; "Prod. Order Routing Line")
{
DataItemLink = "Routing No." = field("Routing No."), "Routing Reference No." = field("Routing Reference No."), "Prod. Order No." = field("Prod. Order No."), Status = field(Status);
DataItemTableView = sorting(Status, "Prod. Order No.", "Routing Reference No.", "Routing No.", "Operation No.");
column(OprNo_ProdOrderRtngLine; "Operation No.")
{
}
column(OprNo_ProdOrderRtngLineCaption; FieldCaption("Operation No."))
{
}
column(Type_PrdOrdRtngLin; Type)
{
IncludeCaption = true;
}
column(No_ProdOrderRoutingLine; "No.")
{
IncludeCaption = true;
}
column(LinDesc_ProdOrderRtngLine; Description)
{
IncludeCaption = true;
}
column(StrgDt_ProdOrderRtngLine; Format("Starting Date"))
{
}
column(LinStrgTime_PrdOrdRtngLin; "Starting Time")
{
IncludeCaption = true;
}
column(EndgDte_ProdOrdrRtngLine; Format("Ending Date"))
{
}
column(EndgTime_ProdOrdrRtngLin; "Ending Time")
{
IncludeCaption = true;
}
column(RoutgNo_ProdOrdrRtngLine; "Routing No.")
{
}
dataitem(CompLink; "Prod. Order Component")
{
DataItemLink = Status = field(Status), "Prod. Order No." = field("Prod. Order No."), "Prod. Order Line No." = field("Routing Reference No."), "Routing Link Code" = field("Routing Link Code");
DataItemTableView = sorting(Status, "Prod. Order No.", "Routing Link Code", "Flushing Method") where("Routing Link Code" = filter(<> ''));
column(ItemNo_CompLink; "Item No.")
{
}
column(Description_CompLink; Description)
{
}
column(Quantityper_CompLink; "Quantity per")
{
}
column(UntofMeasureCode_CompLink; "Unit of Measure Code")
{
}
column(DueDate_CompLink; Format("Due Date"))
{
}
column(RemainingQty_CompLink; "Remaining Quantity")
{
}
column(LineNo_CompLink; "Line No.")
{
}
column(RoutingLinkCode_CompLink; "Routing Link Code")
{
}
}
}
}
}
}
requestpage
{
AboutTitle = 'About Prod. Order Comp. and Routing';
AboutText = 'This report provides a summary of the lines, components, and routings of a production order. It helps you monitor quantities, timing, and dependencies, aiding in better planning and material coordination.';
layout
{
}
actions
{
}
}
rendering
{
layout(RDLCLayout)
{
Type = RDLC;
LayoutFile = './Manufacturing/Reports/ProdOrderCompandRouting.rdlc';
Summary = 'Report layout made in the legacy RDLC format. Use an RDLC editor to modify the layout.';
}
}
labels
{
}
var
ProductionJrnlMgt: Codeunit "Production Journal Mgt";
CurrReportPageNoCaptLbl: Label 'Page';
PrdOdrCmptsandRtngLinsCptLbl: Label 'Prod. Order - Components and Routing Lines';
ProductionOrderDescCaptLbl: Label 'Description';
ProdOdrLineStrtngDteCaptLbl: Label 'Starting Date';
ProdOrderLineEndgDteCaptLbl: Label 'Ending Date';
ProdOrderLineDueDateCaptLbl: Label 'Due Date';
}