Codeunit 5880 Phys. Invt. Order-Finish
- App
- Base Application
- Namespace
- Microsoft.Inventory.Counting.Document
- Versions
- 17-28
Procedures, 6Events, 33Obsolete, 8
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Counting/Document/PhysInvtOrderFinish.Codeunit.al541 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.Inventory.Counting.Document;
using Microsoft.Inventory.Counting.Recording;
using Microsoft.Inventory.Counting.Tracking;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Ledger;
using Microsoft.Inventory.Tracking;
codeunit 5880 "Phys. Invt. Order-Finish"
{
TableNo = "Phys. Invt. Order Header";
trigger OnRun()
begin
OnBeforeOnRun(Rec);
PhysInvtOrderHeader.Copy(Rec);
Code();
Rec := PhysInvtOrderHeader;
OnAfterOnRun(Rec);
end;
var
LastPhysInvtOrderLine: Record "Phys. Invt. Order Line";
PhysInvtOrderHeader: Record "Phys. Invt. Order Header";
PhysInvtOrderLine: Record "Phys. Invt. Order Line";
PhysInvtOrderLine2: Record "Phys. Invt. Order Line";
PhysInvtRecordHeader: Record "Phys. Invt. Record Header";
Item: Record Item;
PhysInvtRecordLine: Record "Phys. Invt. Record Line";
TempInvtOrderTrackingBuffer: Record "Invt. Order Tracking" temporary;
PhysInvtTrackingMgt: Codeunit "Phys. Invt. Tracking Mgt.";
Window: Dialog;
ErrorText: Text[250];
LineCount: Integer;
HideProgressWindow: Boolean;
FinishingLinesMsg: Label 'Finishing lines #2######', Comment = '%2 = counter';
UpdateTok: Label '%1 %2', Locked = true;
procedure "Code"()
var
ItemTrackingSetup: Record "Item Tracking Setup";
IsHandled: Boolean;
begin
OnBeforeCode(PhysInvtOrderHeader, HideProgressWindow);
PhysInvtOrderHeader.TestField("No.");
PhysInvtOrderHeader.TestField(Status, PhysInvtOrderHeader.Status::Open);
PhysInvtOrderHeader.TestField("Posting Date");
PhysInvtRecordHeader.Reset();
PhysInvtRecordHeader.SetRange("Order No.", PhysInvtOrderHeader."No.");
if PhysInvtRecordHeader.Find('-') then
repeat
PhysInvtRecordHeader.TestField(Status, PhysInvtRecordHeader.Status::Finished);
until PhysInvtRecordHeader.Next() = 0;
if not HideProgressWindow then begin
Window.Open(
'#1#################################\\' + FinishingLinesMsg);
Window.Update(1, StrSubstNo(UpdateTok, PhysInvtOrderHeader.TableCaption(), PhysInvtOrderHeader."No."));
end;
PhysInvtOrderHeader.LockTable();
PhysInvtOrderLine.LockTable();
LineCount := 0;
PhysInvtOrderLine.Reset();
PhysInvtOrderLine.SetRange("Document No.", PhysInvtOrderHeader."No.");
OnCodeOnAfterSetFilters(PhysInvtOrderLine);
if PhysInvtOrderLine.Find('-') then
repeat
LineCount := LineCount + 1;
if not HideProgressWindow then
Window.Update(2, LineCount);
if not PhysInvtOrderLine.EmptyLine() then begin
CheckOrderLine(PhysInvtOrderHeader, PhysInvtOrderLine, Item);
if PhysInvtOrderLine."Qty. Recorded (Base)" - PhysInvtOrderLine."Qty. Expected (Base)" >= 0 then begin
PhysInvtOrderLine."Entry Type" := PhysInvtOrderLine."Entry Type"::"Positive Adjmt.";
PhysInvtOrderLine."Quantity (Base)" :=
PhysInvtOrderLine."Qty. Recorded (Base)" - PhysInvtOrderLine."Qty. Expected (Base)";
PhysInvtOrderLine."Without Difference" := PhysInvtOrderLine."Quantity (Base)" = 0;
end else begin
PhysInvtOrderLine."Entry Type" := PhysInvtOrderLine."Entry Type"::"Negative Adjmt.";
PhysInvtOrderLine."Quantity (Base)" :=
PhysInvtOrderLine."Qty. Expected (Base)" - PhysInvtOrderLine."Qty. Recorded (Base)";
end;
OnCodeOnAfterSetEntryTypePhysInvtOrderLine(PhysInvtOrderHeader, PhysInvtOrderLine, Item);
if PhysInvtOrderLine."Use Item Tracking" and
not IsBinMandatoryNoWhseTracking(Item, PhysInvtOrderLine."Location Code")
then begin
PhysInvtOrderLine."Pos. Qty. (Base)" := 0;
PhysInvtOrderLine."Neg. Qty. (Base)" := 0;
TempInvtOrderTrackingBuffer.Reset();
TempInvtOrderTrackingBuffer.DeleteAll();
CreateOrderTrackingBufferLines(PhysInvtOrderLine."Document No.", PhysInvtOrderLine."Line No.");
CreateReservationEntries(PhysInvtOrderLine."Document No.", PhysInvtOrderLine."Line No.", true, 0);
end else
if PhysInvtOrderLine."Entry Type" = PhysInvtOrderLine."Entry Type"::"Positive Adjmt." then
PhysInvtOrderLine."Pos. Qty. (Base)" := PhysInvtOrderLine."Quantity (Base)"
else
PhysInvtOrderLine."Neg. Qty. (Base)" := PhysInvtOrderLine."Quantity (Base)";
IsHandled := false;
OnCodeOnBeforePhysInvtOrderLineCalcCosts(PhysInvtOrderLine, IsHandled);
if not IsHandled then
PhysInvtOrderLine.CalcCosts();
OnBeforePhysInvtOrderLineModify(PhysInvtOrderLine);
PhysInvtOrderLine.Modify();
end;
until PhysInvtOrderLine.Next() = 0;
Clear(LastPhysInvtOrderLine);
PhysInvtOrderLine.Reset();
PhysInvtOrderLine.SetCurrentKey("Document No.", "Item No.", "Variant Code", "Location Code");
PhysInvtOrderLine.SetRange("Document No.", PhysInvtOrderHeader."No.");
PhysInvtOrderLine.SetRange("Use Item Tracking", true);
OnCodeOnAfterSetFilters(PhysInvtOrderLine);
if PhysInvtOrderLine.FindSet() then
repeat
if IsNewPhysInvtOrderLineGroup() then begin
LastPhysInvtOrderLine := PhysInvtOrderLine;
Item.Get(PhysInvtOrderLine."Item No.");
if IsBinMandatoryNoWhseTracking(Item, PhysInvtOrderLine."Location Code") then begin
TempInvtOrderTrackingBuffer.Reset();
TempInvtOrderTrackingBuffer.DeleteAll();
UpdateBufferFromItemLedgerEntries(PhysInvtOrderLine);
SetPhysInvtRecordLineFilters();
if PhysInvtOrderLine2.Find('-') then
repeat
PhysInvtRecordLine.Reset();
PhysInvtRecordLine.SetCurrentKey("Order No.", "Order Line No.");
PhysInvtRecordLine.SetRange("Order No.", PhysInvtOrderLine2."Document No.");
PhysInvtRecordLine.SetRange("Order Line No.", PhysInvtOrderLine2."Line No.");
PhysInvtRecordLine.SetFilter("Quantity (Base)", '<>%1', 0);
if PhysInvtRecordLine.Find('-') then
repeat
ItemTrackingSetup."Serial No." := PhysInvtRecordLine."Serial No.";
ItemTrackingSetup."Lot No." := PhysInvtRecordLine."Lot No.";
ItemTrackingSetup."Package No." := PhysInvtRecordLine."Package No.";
UpdateBufferRecordedQty(ItemTrackingSetup, PhysInvtRecordLine."Quantity (Base)", PhysInvtOrderLine2."Line No.");
OnCodeOnAfterUpdateFromPhysInvtRecordLine2(TempInvtOrderTrackingBuffer, PhysInvtRecordLine);
until PhysInvtRecordLine.Next() = 0;
until PhysInvtOrderLine2.Next() = 0;
TempInvtOrderTrackingBuffer.Reset();
if TempInvtOrderTrackingBuffer.Find('-') then
repeat
TempInvtOrderTrackingBuffer."Qty. To Transfer" :=
TempInvtOrderTrackingBuffer."Qty. Recorded (Base)" - TempInvtOrderTrackingBuffer."Qty. Expected (Base)";
TempInvtOrderTrackingBuffer."Outstanding Quantity" := TempInvtOrderTrackingBuffer."Qty. To Transfer";
TempInvtOrderTrackingBuffer.Open := TempInvtOrderTrackingBuffer."Outstanding Quantity" <> 0;
OnCodeOnBeforeModifyInvtOrderTracking(TempInvtOrderTrackingBuffer);
TempInvtOrderTrackingBuffer.Modify();
until TempInvtOrderTrackingBuffer.Next() = 0;
if PhysInvtOrderLine2.Find('-') then
repeat
if PhysInvtOrderLine2."Entry Type" = PhysInvtOrderLine2."Entry Type"::"Positive Adjmt." then
PhysInvtOrderLine2."Pos. Qty. (Base)" := PhysInvtOrderLine2."Quantity (Base)"
else
PhysInvtOrderLine2."Neg. Qty. (Base)" := PhysInvtOrderLine2."Quantity (Base)";
PhysInvtOrderLine2.Modify();
if PhysInvtOrderLine2."Quantity (Base)" <> 0 then begin
IsHandled := false;
OnCodeOnBeforeCreateReservEntries(PhysInvtOrderLine2, IsHandled);
if not IsHandled then
CreateReservationEntries(
PhysInvtOrderLine2."Document No.", PhysInvtOrderLine2."Line No.", false,
PhysInvtOrderLine2."Quantity (Base)");
end;
IsHandled := false;
OnCodeOnBeforePhysInvtOrderLine2CalcCosts(PhysInvtOrderLine2, IsHandled);
if not IsHandled then
PhysInvtOrderLine2.CalcCosts();
PhysInvtOrderLine2.Modify();
until PhysInvtOrderLine2.Next() = 0;
end;
end;
until PhysInvtOrderLine.Next() = 0;
OnCodeOnBeforeSetStatusToFinished(PhysInvtOrderHeader);
PhysInvtOrderHeader.Status := PhysInvtOrderHeader.Status::Finished;
PhysInvtOrderHeader.Modify();
end;
local procedure CheckOrderLine(PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; PhysInvtOrderLine: Record "Phys. Invt. Order Line"; var Item: Record Item)
var
ItemVariant: Record "Item Variant";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCheckOrderLine(PhysInvtOrderHeader, PhysInvtOrderLine, Item, IsHandled, PhysInvtOrderLine2);
if IsHandled then
exit;
PhysInvtOrderLine.CheckLine();
Item.Get(PhysInvtOrderLine."Item No.");
Item.TestField(Blocked, false);
if PhysInvtOrderLine."Variant Code" <> '' then begin
ItemVariant.SetLoadFields(Blocked);
ItemVariant.Get(PhysInvtOrderLine."Item No.", PhysInvtOrderLine."Variant Code");
ItemVariant.TestField(Blocked, false);
end;
IsHandled := false;
OnBeforeGetSamePhysInvtOrderLine(PhysInvtOrderLine, PhysInvtOrderHeader, IsHandled, PhysInvtOrderLine2);
if not IsHandled then
if PhysInvtOrderHeader.GetSamePhysInvtOrderLine(
PhysInvtOrderLine, ErrorText, PhysInvtOrderLine2) > 1
then
Error(ErrorText);
end;
procedure CreateOrderTrackingBufferLines(DocNo: Code[20]; LineNo: Integer)
var
ExpInvtOrderTracking: Record "Exp. Invt. Order Tracking";
ItemTrackingSetup: Record "Item Tracking Setup";
begin
PhysInvtRecordLine.Reset();
PhysInvtRecordLine.SetCurrentKey("Order No.", "Order Line No.");
PhysInvtRecordLine.SetRange("Order No.", DocNo);
PhysInvtRecordLine.SetRange("Order Line No.", LineNo);
PhysInvtRecordLine.SetFilter("Quantity (Base)", '<>%1', 0);
if PhysInvtRecordLine.Find('-') then
repeat
ItemTrackingSetup."Serial No." := PhysInvtRecordLine."Serial No.";
ItemTrackingSetup."Lot No." := PhysInvtRecordLine."Lot No.";
ItemTrackingSetup."Package No." := PhysInvtRecordLine."Package No.";
UpdateBufferRecordedQty(ItemTrackingSetup, PhysInvtRecordLine."Quantity (Base)", LineNo);
OnCreateOrderTrackingBufferLinesFromPhysInvtRecordLine(TempInvtOrderTrackingBuffer, PhysInvtRecordLine);
until PhysInvtRecordLine.Next() = 0;
ExpInvtOrderTracking.Reset();
ExpInvtOrderTracking.SetRange("Order No", DocNo);
ExpInvtOrderTracking.SetRange("Order Line No.", LineNo);
if ExpInvtOrderTracking.Find('-') then
repeat
ItemTrackingSetup."Serial No." := ExpInvtOrderTracking."Serial No.";
ItemTrackingSetup."Lot No." := ExpInvtOrderTracking."Lot No.";
ItemTrackingSetup."Package No." := ExpInvtOrderTracking."Package No.";
UpdateBufferExpectedQty(ItemTrackingSetup, ExpInvtOrderTracking."Quantity (Base)", LineNo);
OnCreateOrderTrackingBufferLinesFromExpInvtOrderTracking(TempInvtOrderTrackingBuffer, ExpInvtOrderTracking);
until ExpInvtOrderTracking.Next() = 0;
TempInvtOrderTrackingBuffer.Reset();
if TempInvtOrderTrackingBuffer.Find('-') then
repeat
TempInvtOrderTrackingBuffer."Qty. To Transfer" :=
TempInvtOrderTrackingBuffer."Qty. Recorded (Base)" - TempInvtOrderTrackingBuffer."Qty. Expected (Base)";
TempInvtOrderTrackingBuffer."Outstanding Quantity" := TempInvtOrderTrackingBuffer."Qty. To Transfer";
TempInvtOrderTrackingBuffer.Open := TempInvtOrderTrackingBuffer."Outstanding Quantity" <> 0;
OnCreateOrderTrackingBufferLinesOnBeforeModifyTempInvtOrderTrackingBuffer(TempInvtOrderTrackingBuffer, DocNo, LineNo);
TempInvtOrderTrackingBuffer.Modify();
until TempInvtOrderTrackingBuffer.Next() = 0;
end;
procedure CreateReservationEntries(DocNo: Code[20]; LineNo: Integer; AllBufferLines: Boolean; MaxQtyToTransfer: Decimal)
var
ReservEntry: Record "Reservation Entry";
RecRef: RecordRef;
QtyToTransfer: Decimal;
begin
TempInvtOrderTrackingBuffer.Reset();
TempInvtOrderTrackingBuffer.SetCurrentKey(Open);
TempInvtOrderTrackingBuffer.SetRange(Open, true);
if TempInvtOrderTrackingBuffer.FindSet() then
repeat
QtyToTransfer := CalculateQtyToTransfer(AllBufferLines, MaxQtyToTransfer);
if QtyToTransfer <> 0 then begin
ReservEntry.Init();
ReservEntry."Entry No." := 0;
ReservEntry.Positive := QtyToTransfer > 0;
ReservEntry.Validate("Item No.", PhysInvtOrderLine."Item No.");
ReservEntry.Validate("Variant Code", PhysInvtOrderLine."Variant Code");
ReservEntry.Validate("Location Code", PhysInvtOrderLine."Location Code");
ReservEntry.Validate("Serial No.", TempInvtOrderTrackingBuffer."Serial No.");
ReservEntry.Validate("Lot No.", TempInvtOrderTrackingBuffer."Lot No.");
ReservEntry.Validate("Package No.", TempInvtOrderTrackingBuffer."Package No.");
ReservEntry.Validate("Expiration Date", TempInvtOrderTrackingBuffer."Expiration Date");
ReservEntry.Validate("Source Type", DATABASE::"Phys. Invt. Order Line");
ReservEntry.Validate("Source ID", DocNo);
ReservEntry.Validate("Source Ref. No.", TempInvtOrderTrackingBuffer."Line No.");
ReservEntry.Validate(Quantity, QtyToTransfer);
ReservEntry."Qty. per Unit of Measure" := 1;
ReservEntry."Quantity (Base)" := ReservEntry.Quantity;
ReservEntry."Qty. to Handle (Base)" := ReservEntry.Quantity;
ReservEntry."Qty. to Invoice (Base)" := ReservEntry.Quantity;
ReservEntry."Reservation Status" := ReservEntry."Reservation Status"::Prospect;
ReservEntry."Created By" := CopyStr(UserId(), 1, 50);
ReservEntry.Validate("Creation Date", WorkDate());
if QtyToTransfer > 0 then begin
ReservEntry."Expected Receipt Date" := PhysInvtOrderHeader."Posting Date";
PhysInvtOrderLine."Pos. Qty. (Base)" += ReservEntry.Quantity;
end else begin
ReservEntry."Shipment Date" := PhysInvtOrderHeader."Posting Date";
PhysInvtOrderLine."Neg. Qty. (Base)" -= ReservEntry.Quantity;
end;
ReservEntry.Insert();
OnCreateReservEntriesOnBeforeInsert2(ReservEntry, TempInvtOrderTrackingBuffer, PhysInvtOrderHeader, PhysInvtOrderLine);
RecRef.GetTable(ReservEntry);
if RecRef.IsDirty then
ReservEntry.Modify();
end;
TempInvtOrderTrackingBuffer."Outstanding Quantity" -= QtyToTransfer;
TempInvtOrderTrackingBuffer.Open := TempInvtOrderTrackingBuffer."Outstanding Quantity" <> 0;
TempInvtOrderTrackingBuffer.Modify();
OnCreateReservEntriesOnAfterTempPhysInvtTrackingBufferModify(AllBufferLines, MaxQtyToTransfer, QtyToTransfer, TempInvtOrderTrackingBuffer);
until TempInvtOrderTrackingBuffer.Next() = 0;
end;
local procedure CalculateQtyToTransfer(AllBufferLines: Boolean; MaxQtyToTransfer: Decimal) QtyToTransfer: Decimal;
begin
if AllBufferLines then
QtyToTransfer := TempInvtOrderTrackingBuffer."Outstanding Quantity"
else
if MaxQtyToTransfer > 0 then
if TempInvtOrderTrackingBuffer."Outstanding Quantity" <= MaxQtyToTransfer then
QtyToTransfer := TempInvtOrderTrackingBuffer."Outstanding Quantity"
else
QtyToTransfer := MaxQtyToTransfer
else
if TempInvtOrderTrackingBuffer."Outstanding Quantity" >= MaxQtyToTransfer then
QtyToTransfer := TempInvtOrderTrackingBuffer."Outstanding Quantity"
else
QtyToTransfer := MaxQtyToTransfer;
OnAfterCalculateQtyToTransfer(TempInvtOrderTrackingBuffer, AllBufferLines, MaxQtyToTransfer, QtyToTransfer);
end;
local procedure IsBinMandatoryNoWhseTracking(Item: Record Item; LocationCode: Code[10]): Boolean
begin
exit(PhysInvtTrackingMgt.LocationIsBinMandatory(LocationCode) and not PhysInvtTrackingMgt.GetTrackingNosFromWhse(Item));
end;
local procedure UpdateBufferFromItemLedgerEntries(PhysInvtOrderLine: Record "Phys. Invt. Order Line")
var
ItemLedgerEntry: Record "Item Ledger Entry";
ItemTrackingSetup: Record "Item Tracking Setup";
begin
ItemLedgerEntry.Reset();
ItemLedgerEntry.SetCurrentKey("Item No.", "Entry Type", "Variant Code", "Drop Shipment", "Location Code", "Posting Date", "Entry No.");
ItemLedgerEntry.SetRange("Item No.", PhysInvtOrderLine."Item No.");
ItemLedgerEntry.SetRange("Variant Code", PhysInvtOrderLine."Variant Code");
ItemLedgerEntry.SetRange("Location Code", PhysInvtOrderLine."Location Code");
ItemLedgerEntry.SetRange("Posting Date", 0D, PhysInvtOrderHeader."Posting Date");
if ItemLedgerEntry.Find('-') then
repeat
ItemTrackingSetup.CopyTrackingFromitemLedgerEntry(ItemLedgerEntry);
UpdateBufferExpectedQty(ItemTrackingSetup, ItemLedgerEntry.Quantity, PhysInvtOrderLine."Line No.");
OnUpdateBufferFromItemLedgerEntriesOnAfterUpdateExpectedQty2(TempInvtOrderTrackingBuffer, ItemLedgerEntry);
until ItemLedgerEntry.Next() = 0;
end;
local procedure UpdateBufferRecordedQty(ItemTrackingSetup: Record "Item Tracking Setup"; QtyBase: Decimal; LineNo: Integer)
begin
if not TempInvtOrderTrackingBuffer.Get(ItemTrackingSetup."Serial No.", ItemTrackingSetup."Lot No.", ItemTrackingSetup."Package No.") then begin
TempInvtOrderTrackingBuffer.Init();
TempInvtOrderTrackingBuffer."Serial No." := ItemTrackingSetup."Serial No.";
TempInvtOrderTrackingBuffer."Lot No." := ItemTrackingSetup."Lot No.";
TempInvtOrderTrackingBuffer."Package No." := ItemTrackingSetup."Package No.";
TempInvtOrderTrackingBuffer."Qty. Recorded (Base)" := QtyBase;
TempInvtOrderTrackingBuffer."Line No." := LineNo;
TempInvtOrderTrackingBuffer.Insert();
end else begin
TempInvtOrderTrackingBuffer."Qty. Recorded (Base)" += QtyBase;
TempInvtOrderTrackingBuffer.Modify();
end;
end;
local procedure UpdateBufferExpectedQty(ItemTrackingSetup: Record "Item Tracking Setup"; QtyBase: Decimal; LineNo: Integer)
begin
if not TempInvtOrderTrackingBuffer.Get(ItemTrackingSetup."Serial No.", ItemTrackingSetup."Lot No.", ItemTrackingSetup."Package No.") then begin
TempInvtOrderTrackingBuffer.Init();
TempInvtOrderTrackingBuffer."Serial No." := ItemTrackingSetup."Serial No.";
TempInvtOrderTrackingBuffer."Lot No." := ItemTrackingSetup."Lot No.";
TempInvtOrderTrackingBuffer."Package No." := ItemTrackingSetup."Package No.";
TempInvtOrderTrackingBuffer."Qty. Expected (Base)" := QtyBase;
TempInvtOrderTrackingBuffer."Line No." := LineNo;
TempInvtOrderTrackingBuffer.Insert();
end else begin
TempInvtOrderTrackingBuffer."Qty. Expected (Base)" += QtyBase;
TempInvtOrderTrackingBuffer.Modify();
end;
end;
local procedure IsNewPhysInvtOrderLineGroup() Result: Boolean
begin
Result :=
(PhysInvtOrderLine."Item No." <> LastPhysInvtOrderLine."Item No.") or
(PhysInvtOrderLine."Variant Code" <> LastPhysInvtOrderLine."Variant Code") or
(PhysInvtOrderLine."Location Code" <> LastPhysInvtOrderLine."Location Code");
OnAfterIsNewPhysInvtOrderLineGroup(PhysInvtOrderLine, LastPhysInvtOrderLine, Result);
end;
local procedure SetPhysInvtRecordLineFilters()
begin
PhysInvtOrderLine2.Reset();
PhysInvtOrderLine2.SetCurrentKey(
"Document No.", "Item No.", "Variant Code", "Location Code");
PhysInvtOrderLine2.SetRange("Document No.", PhysInvtOrderLine."Document No.");
PhysInvtOrderLine2.SetRange("Item No.", PhysInvtOrderLine."Item No.");
PhysInvtOrderLine2.SetRange("Variant Code", PhysInvtOrderLine."Variant Code");
PhysInvtOrderLine2.SetRange("Location Code", PhysInvtOrderLine."Location Code");
OnAfterSetPhysInvtRecordLineFilters(PhysInvtOrderLine2, PhysInvtOrderLine);
end;
procedure SetHideProgressWindow(NewHideProgressWindow: Boolean)
begin
HideProgressWindow := NewHideProgressWindow;
end;
[IntegrationEvent(false, false)]
local procedure OnAfterCalculateQtyToTransfer(var TempInvtOrderTrackingBuffer: Record "Invt. Order Tracking" temporary; AllBufferLines: Boolean; MaxQtyToTransfer: Decimal; var QtyToTransfer: Decimal)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterOnRun(var PhysInvtOrderHeader: Record "Phys. Invt. Order Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckOrderLine(PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; PhysInvtOrderLine: Record "Phys. Invt. Order Line"; var Item: Record Item; var IsHandled: Boolean; var PhysInvtOrderLine2: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCode(var PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; var HideProgressWindow: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeGetSamePhysInvtOrderLine(var PhysInvtOrderLine: Record "Phys. Invt. Order Line"; PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; var IsHandled: Boolean; var PhysInvtOrderLine2: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforePhysInvtOrderLineModify(var PhysInvtOrderLine: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnRun(var PhysInvtOrderHeader: Record "Phys. Invt. Order Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnAfterSetFilters(var PhysInvtOrderLine: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnAfterUpdateFromPhysInvtRecordLine2(var InvtOrderTracking: Record "Invt. Order Tracking"; PhysInvtRecordLine: Record "Phys. Invt. Record Line")
begin
end;
[IntegrationEvent(true, false)]
local procedure OnCodeOnBeforeCreateReservEntries(var PhysInvtOrderLine2: Record "Phys. Invt. Order Line"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateReservEntriesOnBeforeInsert2(var ReservationEntry: Record "Reservation Entry"; InvtOrderTracking: Record "Invt. Order Tracking"; PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; var PhysInvtOrderLine: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateReservEntriesOnAfterTempPhysInvtTrackingBufferModify(AllBufferLines: Boolean; var MaxQtyToTransfer: Decimal; QtyToTransfer: Decimal; var TempInvtOrderTracking: Record "Invt. Order Tracking" temporary)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateOrderTrackingBufferLinesFromPhysInvtRecordLine(var TempInvtOrderTracking: Record "Invt. Order Tracking" temporary; PhysInvtRecordLine: Record "Phys. Invt. Record Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateOrderTrackingBufferLinesFromExpInvtOrderTracking(var TempInvtOrderTracking: Record "Invt. Order Tracking" temporary; ExpInvtOrderTracking: Record "Exp. Invt. Order Tracking")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnUpdateBufferFromItemLedgerEntriesOnAfterUpdateExpectedQty2(var InvtOrderTracking: Record "Invt. Order Tracking"; ItemLedgerEntry: Record "Item Ledger Entry")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterIsNewPhysInvtOrderLineGroup(PhysInvtOrderLine: Record "Phys. Invt. Order Line"; LastPhysInvtOrderLine: Record "Phys. Invt. Order Line"; var Result: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetPhysInvtRecordLineFilters(var PhysInvtOrderLine2: Record "Phys. Invt. Order Line"; PhysInvtOrderLine: Record "Phys. Invt. Order Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnBeforePhysInvtOrderLineCalcCosts(var PhysInvtOrderLine: Record "Phys. Invt. Order Line"; var IsHandled: Boolean);
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnBeforePhysInvtOrderLine2CalcCosts(var PhysInvtOrderLine2: Record "Phys. Invt. Order Line"; var IsHandled: Boolean);
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnBeforeSetStatusToFinished(var PhysInvtOrderHeader: Record "Phys. Invt. Order Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnBeforeModifyInvtOrderTracking(var TempInvtOrderTracking: Record "Invt. Order Tracking" temporary)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCodeOnAfterSetEntryTypePhysInvtOrderLine(var PhysInvtOrderHeader: Record "Phys. Invt. Order Header"; var PhysInvtOrderLine: Record "Phys. Invt. Order Line"; Item: Record Item)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateOrderTrackingBufferLinesOnBeforeModifyTempInvtOrderTrackingBuffer(var TempInvtOrderTracking: Record "Invt. Order Tracking" temporary; DocNo: Code[20]; LineNo: Integer)
begin
end;
}