Page 99000833 Check Prod. Order Status
- App
- Base Application
- Namespace
- Microsoft.Manufacturing.Document
- Versions
- 17-28
- Source table
- 27
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Manufacturing/Document/CheckProdOrderStatus.Page.al136 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.Document;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Tracking;
using Microsoft.Manufacturing.Setup;
using Microsoft.Sales.Document;
page 99000833 "Check Prod. Order Status"
{
Caption = 'Check Prod. Order Status';
DataCaptionExpression = '';
DeleteAllowed = false;
InsertAllowed = false;
InstructionalText = 'This sales line is currently planned. Your changes will not cause any replanning, so you must manually update the production order if necessary. Do you still want to record the changes?';
LinksAllowed = false;
ModifyAllowed = false;
PageType = ConfirmationDialog;
SourceTable = Item;
layout
{
area(content)
{
group(Details)
{
Caption = 'Details';
field("No."; Rec."No.")
{
ApplicationArea = Manufacturing;
Editable = false;
ToolTip = 'Specifies the number of the item.';
}
field(Description; Rec.Description)
{
ApplicationArea = Manufacturing;
Editable = false;
ToolTip = 'Specifies a description of the item.';
}
field(LastStatus; LastStatus)
{
ApplicationArea = Manufacturing;
Caption = 'Last Status';
Editable = false;
}
field(LastOrderType; LastOrderType)
{
ApplicationArea = Manufacturing;
Caption = 'Last Order Type';
Editable = false;
OptionCaption = 'Production,Purchase';
}
field(LastOrderNo; LastOrderNo)
{
ApplicationArea = Manufacturing;
Caption = 'Last Order No.';
Editable = false;
}
}
}
}
actions
{
}
var
MfgSetup: Record "Manufacturing Setup";
LastStatus: Enum "Production Order Status";
LastOrderType: Option Production,Purchase;
LastOrderNo: Code[20];
[InherentPermissions(PermissionObjectType::TableData, Database::"Manufacturing Setup", 'r')]
procedure SalesLineShowWarning(SalesLine: Record "Sales Line"): Boolean
var
SalesLine2: Record "Sales Line";
ReservEntry: Record "Reservation Entry";
ReservEntry2: Record "Reservation Entry";
ProdOrderLine: Record "Prod. Order Line";
begin
if SalesLine."Drop Shipment" then
exit(false);
MfgSetup.Get();
if not MfgSetup."Planning Warning" then
exit(false);
if not SalesLine2.Get(
SalesLine."Document Type",
SalesLine."Document No.",
SalesLine."Line No.")
then
exit;
if (SalesLine2.Type <> SalesLine2.Type::Item) or
(SalesLine2."No." = '') or
(SalesLine2."Outstanding Quantity" <= 0)
then
exit;
ReservEntry."Source Type" := DATABASE::"Sales Line";
ReservEntry."Source Subtype" := SalesLine2."Document Type".AsInteger();
ReservEntry."Item No." := SalesLine2."No.";
ReservEntry."Variant Code" := SalesLine2."Variant Code";
ReservEntry."Location Code" := SalesLine2."Location Code";
ReservEntry."Expected Receipt Date" := SalesLine2."Shipment Date";
ReservEntry.InitSortingAndFilters(true);
SalesLine2.SetReservationFilters(ReservEntry);
if ReservEntry.FindSet() then
repeat
if ReservEntry2.Get(ReservEntry."Entry No.", not ReservEntry.Positive) then
case ReservEntry2."Source Type" of
Database::"Prod. Order Line":
if (ReservEntry2."Source Subtype" <> 1) or
((ReservEntry2."Source Subtype" = 1) and (ReservEntry2."Reservation Status" = ReservEntry2."Reservation Status"::Reservation))
then begin
ProdOrderLine.Get(
ReservEntry2."Source Subtype", ReservEntry2."Source ID", ReservEntry2."Source Prod. Order Line");
LastStatus := ProdOrderLine.Status;
LastOrderNo := ProdOrderLine."Prod. Order No.";
LastOrderType := LastOrderType::Production;
exit(true);
end;
end;
until ReservEntry.Next() = 0;
exit(false);
end;
}