Report 5753 Get Source Documents, source in 29
Source29
src/Layers/W1/BaseApp/Warehouse/Request/GetSourceDocuments.Report.al1221 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.Warehouse.Request;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Location;
using Microsoft.Inventory.Tracking;
using Microsoft.Inventory.Transfer;
using Microsoft.Purchases.Document;
using Microsoft.Sales.Customer;
using Microsoft.Sales.Document;
using Microsoft.Warehouse.Document;
using Microsoft.Warehouse.Setup;
report 5753 "Get Source Documents"
{
Caption = 'Get Source Documents';
ProcessingOnly = true;
dataset
{
dataitem("Warehouse Request"; "Warehouse Request")
{
DataItemTableView = where("Document Status" = const(Released), "Completely Handled" = filter(false));
RequestFilterFields = "Source Document", "Source No.";
dataitem("Sales Header"; "Sales Header")
{
DataItemLink = "Document Type" = field("Source Subtype"), "No." = field("Source No.");
DataItemTableView = sorting("Document Type", "No.");
dataitem("Sales Line"; "Sales Line")
{
DataItemLink = "Document Type" = field("Document Type"), "Document No." = field("No.");
DataItemTableView = sorting("Document Type", "Document No.", "Line No.");
trigger OnAfterGetRecord()
var
SalesWarehouseMgt: Codeunit "Sales Warehouse Mgt.";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeSalesLineOnAfterGetRecord("Sales Line", "Warehouse Request", RequestType, IsHandled, SkipBlockedItem);
if IsHandled then
CurrReport.Skip();
VerifySalesItemNotBlocked("Sales Header", "Sales Line");
if not SkipWarehouseRequest("Sales Line", "Warehouse Request") then
case RequestType of
RequestType::Receive:
if SalesWarehouseMgt.CheckIfSalesLine2ReceiptLine("Sales Line") then begin
OnSalesLineOnAfterGetRecordOnBeforeCreateRcptHeader(
"Sales Line", "Warehouse Request", WhseReceiptHeader, WhseHeaderCreated, OneHeaderCreated);
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateReceiptHeader();
OnSalesLineOnAfterCreateRcptHeader(WhseReceiptHeader, WhseHeaderCreated, "Sales Header", "Sales Line", "Warehouse Request");
end;
if not SalesWarehouseMgt.SalesLine2ReceiptLine(WhseReceiptHeader, "Sales Line") then
ErrorOccured := true;
LineCreated := true;
end;
RequestType::Ship:
if SalesWarehouseMgt.CheckIfFromSalesLine2ShptLine("Sales Line", ReservedFromStock) then begin
IsHandled := false;
OnSalesLineOnAfterGetRecordOnBeforeCheckCustBlocked(Customer, IsHandled);
if not IsHandled then
if Customer.Blocked <> Customer.Blocked::" " then begin
if not SalesHeaderCounted then begin
SkippedSourceDoc += 1;
SalesHeaderCounted := true;
end;
CurrReport.Skip();
end;
IsHandled := false;
OnSalesLineOnAfterGetRecordOnBeforeCreateShptHeader(
"Sales Line", "Warehouse Request", WhseShptHeader, WhseHeaderCreated, OneHeaderCreated, IsHandled, ErrorOccured, LineCreated);
if not IsHandled then begin
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateShptHeader();
WhseShptHeader."Shipment Date" := "Sales Header"."Shipment Date";
WhseShptHeader.Modify();
OnSalesLineOnAfterCreateShptHeader(WhseShptHeader, WhseHeaderCreated, "Sales Header", "Sales Line", "Warehouse Request");
end;
if not CreateActivityFromSalesLine2ShptLine(WhseShptHeader, "Sales Line") then
ErrorOccured := true;
LineCreated := true;
end;
end;
end;
end;
trigger OnPostDataItem()
var
ShouldUpdate: Boolean;
begin
ShouldUpdate := OneHeaderCreated or WhseHeaderCreated;
OnBeforeOnPostDataItemSalesLine(WhseReceiptHeader, RequestType, OneHeaderCreated, WhseHeaderCreated, LineCreated, HideDialog, ShouldUpdate);
if ShouldUpdate then begin
UpdateReceiptHeaderStatus();
CheckFillQtyToHandle();
end;
OnAfterProcessDocumentLine(WhseShptHeader, "Warehouse Request", LineCreated, WhseReceiptHeader, OneHeaderCreated, WhseHeaderCreated);
end;
trigger OnPreDataItem()
begin
SetSalesLineFilters("Sales Line", "Warehouse Request");
OnAfterSalesLineOnPreDataItem("Sales Line", OneHeaderCreated, WhseShptHeader, WhseReceiptHeader);
end;
}
trigger OnAfterGetRecord()
var
SkipRecord: Boolean;
BreakReport: Boolean;
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeSalesHeaderOnAfterGetRecord("Sales Header", SalesHeaderCounted, IsHandled);
if IsHandled then
CurrReport.Skip();
TestField("Sell-to Customer No.");
Customer.Get("Sell-to Customer No.");
if not SkipBlockedCustomer then
Customer.CheckBlockedCustOnDocs(Customer, "Document Type", false, false);
SalesHeaderCounted := false;
BreakReport := false;
SkipRecord := false;
OnAfterSalesHeaderOnAfterGetRecord("Sales Header", SkipRecord, BreakReport, "Warehouse Request");
if BreakReport then
CurrReport.Break();
if SkipRecord then
CurrReport.Skip();
end;
trigger OnPreDataItem()
begin
if "Warehouse Request"."Source Type" <> Database::"Sales Line" then
CurrReport.Break();
OnAfterSalesHeaderOnPreDataItem("Sales Header");
end;
trigger OnPostDataItem()
begin
OnAfterPostDataItemSalesHeader("Warehouse Request", "Sales Header");
end;
}
dataitem("Purchase Header"; "Purchase Header")
{
DataItemLink = "Document Type" = field("Source Subtype"), "No." = field("Source No.");
DataItemTableView = sorting("Document Type", "No.");
dataitem("Purchase Line"; "Purchase Line")
{
DataItemLink = "Document Type" = field("Document Type"), "Document No." = field("No.");
DataItemTableView = sorting("Document Type", "Document No.", "Line No.");
trigger OnAfterGetRecord()
var
PurchasesWarehouseMgt: Codeunit "Purchases Warehouse Mgt.";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforePurchaseLineOnAfterGetRecord("Purchase Line", "Warehouse Request", RequestType, IsHandled, SkipBlockedItem);
if IsHandled then
CurrReport.Skip();
VerifyPurchaseItemNotBlocked("Purchase Header", "Purchase Line");
if "Purchase Line"."Document Type" in ["Purchase Line"."Document Type"::Order] then
"Purchase Line".TestPurchaseJobFields();
if "Location Code" = "Warehouse Request"."Location Code" then
case RequestType of
RequestType::Receive:
if PurchasesWarehouseMgt.CheckIfPurchLine2ReceiptLine("Purchase Line") then begin
OnPurchaseLineOnAfterGetRecordOnBeforeCreateRcptHeader(
"Purchase Line", "Warehouse Request", WhseReceiptHeader, WhseHeaderCreated, OneHeaderCreated);
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateReceiptHeader();
OnPurchaseLineOnAfterCreateRcptHeader(WhseReceiptHeader, WhseHeaderCreated, "Purchase Header", "Purchase Line", "Warehouse Request");
end;
if not PurchasesWarehouseMgt.PurchLine2ReceiptLine(WhseReceiptHeader, "Purchase Line") then
ErrorOccured := true;
LineCreated := true;
OnPurchaseLineOnAfterGetRecordOnAfterCreateRcptHeader("Purchase Line", "Warehouse Request", WhseReceiptHeader, WhseHeaderCreated, OneHeaderCreated, ErrorOccured, LineCreated);
end;
RequestType::Ship:
if PurchasesWarehouseMgt.CheckIfFromPurchLine2ShptLine("Purchase Line", ReservedFromStock) then begin
IsHandled := false;
OnPurchaseLineOnAfterGetRecordOnBeforeCreateShptHeader(
"Purchase Line", "Warehouse Request", WhseShptHeader, WhseHeaderCreated, OneHeaderCreated, IsHandled);
if not IsHandled then begin
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateShptHeader();
OnPurchaseLineOnAfterCreateShptHeader(WhseShptHeader, WhseHeaderCreated, "Purchase Header", "Purchase Line", "Warehouse Request");
end;
if not PurchasesWarehouseMgt.FromPurchLine2ShptLine(WhseShptHeader, "Purchase Line") then
ErrorOccured := true;
LineCreated := true;
end;
end;
end;
end;
trigger OnPostDataItem()
var
ShouldUpdate: Boolean;
begin
ShouldUpdate := OneHeaderCreated or WhseHeaderCreated;
OnBeforeOnPostDataItemPurchaseLine(WhseReceiptHeader, RequestType, OneHeaderCreated, WhseHeaderCreated, LineCreated, HideDialog, ShouldUpdate);
if ShouldUpdate then begin
UpdateReceiptHeaderStatus();
CheckFillQtyToHandle();
end;
OnAfterProcessDocumentLine(WhseShptHeader, "Warehouse Request", LineCreated, WhseReceiptHeader, OneHeaderCreated, WhseHeaderCreated);
end;
trigger OnPreDataItem()
begin
SetPurchLineFilters("Purchase Line", "Warehouse Request");
OnAfterPurchaseLineOnPreDataItem("Purchase Line", OneHeaderCreated, WhseShptHeader, WhseReceiptHeader, RequestType);
end;
}
trigger OnAfterGetRecord()
var
BreakReport: Boolean;
SkipRecord: Boolean;
begin
BreakReport := false;
SkipRecord := false;
OnAfterPurchaseHeaderOnAfterGetRecord("Purchase Header", SkipRecord, BreakReport, "Warehouse Request", WhseReceiptHeader, OneHeaderCreated);
if BreakReport then
CurrReport.Break();
if SkipRecord then
CurrReport.Skip();
end;
trigger OnPreDataItem()
begin
if "Warehouse Request"."Source Type" <> Database::"Purchase Line" then
CurrReport.Break();
OnAfterOnPreDataItemPurchaseLine("Purchase Header");
end;
trigger OnPostDataItem()
begin
OnAfterPostDataItemPurchaseHeader("Purchase Header", "Purchase Line", "Warehouse Request", WhseReceiptHeader);
end;
}
dataitem("Transfer Header"; "Transfer Header")
{
DataItemLink = "No." = field("Source No.");
DataItemTableView = sorting("No.");
dataitem("Transfer Line"; "Transfer Line")
{
DataItemLink = "Document No." = field("No.");
DataItemTableView = sorting("Document No.", "Line No.");
trigger OnAfterGetRecord()
var
TransferWarehouseMgt: Codeunit "Transfer Warehouse Mgt.";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeTransferLineOnAfterGetRecord("Transfer Line", "Warehouse Request", RequestType, IsHandled);
if IsHandled then
CurrReport.Skip();
case RequestType of
RequestType::Receive:
if TransferWarehouseMgt.CheckIfTransLine2ReceiptLine("Transfer Line") then begin
OnTransferLineOnAfterGetRecordOnBeforeCreateRcptHeader(
"Transfer Line", "Warehouse Request", WhseReceiptHeader, WhseHeaderCreated, OneHeaderCreated);
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateReceiptHeader();
OnTransferLineOnAfterCreateRcptHeader(WhseReceiptHeader, WhseHeaderCreated, "Transfer Header", "Transfer Line", "Warehouse Request");
end;
if not TransferWarehouseMgt.TransLine2ReceiptLine(WhseReceiptHeader, "Transfer Line") then
ErrorOccured := true;
LineCreated := true;
end;
RequestType::Ship:
if TransferWarehouseMgt.CheckIfFromTransLine2ShptLine("Transfer Line", ReservedFromStock) then begin
IsHandled := false;
OnTransferLineOnAfterGetRecordOnBeforeCreateShptHeader(
"Transfer Line", "Warehouse Request", WhseShptHeader, WhseHeaderCreated, OneHeaderCreated, IsHandled);
if not IsHandled then begin
if not OneHeaderCreated and not WhseHeaderCreated then begin
CreateShptHeader();
OnTransferLineOnAfterCreateShptHeader(WhseShptHeader, WhseHeaderCreated, "Transfer Header", "Transfer Line");
end;
if not TransferWarehouseMgt.FromTransLine2ShptLine(WhseShptHeader, "Transfer Line") then
ErrorOccured := true;
LineCreated := true;
end;
end;
end;
end;
trigger OnPostDataItem()
var
ShouldUpdate: Boolean;
begin
ShouldUpdate := OneHeaderCreated or WhseHeaderCreated;
OnBeforeOnPostDataItemTransferLine(WhseReceiptHeader, RequestType, OneHeaderCreated, WhseHeaderCreated, LineCreated, HideDialog, ShouldUpdate);
if ShouldUpdate then begin
UpdateReceiptHeaderStatus();
CheckFillQtyToHandle();
end;
OnAfterProcessDocumentLine(WhseShptHeader, "Warehouse Request", LineCreated, WhseReceiptHeader, OneHeaderCreated, WhseHeaderCreated);
end;
trigger OnPreDataItem()
begin
case "Warehouse Request"."Source Subtype" of
0:
SetFilter("Outstanding Quantity", '>0');
1:
SetFilter("Qty. in Transit", '>0');
end;
OnAfterTransferLineOnPreDataItem("Transfer Line", OneHeaderCreated, WhseShptHeader, WhseReceiptHeader);
end;
}
trigger OnAfterGetRecord()
var
BreakReport: Boolean;
SkipRecord: Boolean;
begin
BreakReport := false;
SkipRecord := false;
OnAfterTransHeaderOnAfterGetRecord("Transfer Header", SkipRecord, BreakReport, "Warehouse Request");
if BreakReport then
CurrReport.Break();
if SkipRecord then
CurrReport.Skip();
end;
trigger OnPreDataItem()
begin
if "Warehouse Request"."Source Type" <> Database::"Transfer Line" then
CurrReport.Break();
OnAfterOnPreDataItemTransferLine("Transfer Header");
end;
}
trigger OnAfterGetRecord()
var
WhseSetup: Record "Warehouse Setup";
SkipRecord: Boolean;
BreakReport: Boolean;
begin
WhseHeaderCreated := false;
OnBeforeWarehouseRequestOnAfterGetRecord(
"Warehouse Request", WhseHeaderCreated, SkipRecord, BreakReport, RequestType, WhseReceiptHeader, WhseShptHeader, OneHeaderCreated);
if BreakReport then
CurrReport.Break();
if SkipRecord then
CurrReport.Skip();
case Type of
Type::Inbound:
begin
if not Location.RequireReceive("Location Code") then begin
if "Location Code" = '' then
WhseSetup.TestField("Require Receive");
Location.Get("Location Code");
Location.TestField("Require Receive");
end;
if not OneHeaderCreated then
RequestType := RequestType::Receive;
end;
Type::Outbound:
begin
if not Location.RequireShipment("Location Code") then begin
if "Location Code" = '' then
WhseSetup.TestField("Require Shipment");
Location.Get("Location Code");
Location.TestField("Require Shipment");
end;
if not OneHeaderCreated then
RequestType := RequestType::Ship;
end;
end;
end;
trigger OnPostDataItem()
var
IsHandled: Boolean;
begin
IsHandled := not (WhseHeaderCreated or OneHeaderCreated);
OnBeforeCreateWhseDocuments(WhseReceiptHeader, WhseShptHeader, IsHandled, "Warehouse Request");
if not IsHandled then begin
OnAfterCreateWhseDocuments(WhseReceiptHeader, WhseShptHeader, WhseHeaderCreated, "Warehouse Request");
WhseShptHeader.SortWhseDoc();
WhseReceiptHeader.SortWhseDoc();
end;
OnWarehouseRequestOnAfterOnPostDataItem(WhseShptHeader);
end;
trigger OnPreDataItem()
begin
if OneHeaderCreated then begin
case RequestType of
RequestType::Receive:
Type := Type::Inbound;
RequestType::Ship:
Type := Type::Outbound;
end;
SetRange(Type, Type);
end;
OnAfterWarehouseRequestOnPreDataItem("Warehouse Request", WhseReceiptHeader, OneHeaderCreated);
end;
}
}
requestpage
{
layout
{
area(content)
{
group(Options)
{
Caption = 'Options';
field(DoNotFillQtytoHandle; DoNotFillQuantityToHandle)
{
ApplicationArea = Warehouse;
Caption = 'Do Not Fill Qty. to Handle';
ToolTip = 'Specifies if the Quantity to Handle field in the warehouse document is prefilled according to the source document quantities.';
}
field("Reserved From Stock"; ReservedFromStock)
{
ApplicationArea = Warehouse;
Caption = 'Reserved stock only';
ToolTip = 'Specifies if you want to include only source document lines that are fully or partially reserved from current stock.';
ValuesAllowed = " ", "Full and Partial", Full;
}
}
}
}
actions
{
}
}
labels
{
}
trigger OnPostReport()
begin
OnBeforePostReport("Warehouse Request", RequestType, OneHeaderCreated, WhseShptHeader, WhseHeaderCreated, ErrorOccured, LineCreated, ActivitiesCreated, Location, WhseShptLine, WhseReceiptHeader, HideDialog, WhseReceiptLine);
if not HideDialog then begin
case RequestType of
RequestType::Receive:
ShowReceiptDialog();
RequestType::Ship:
ShowShipmentDialog();
end;
if SkippedSourceDoc > 0 then
Message(CustomerIsBlockedMsg, SkippedSourceDoc);
end;
Completed := true;
OnAfterPostReport("Warehouse Request", RequestType, OneHeaderCreated, WhseShptHeader, WhseHeaderCreated, ErrorOccured, LineCreated, ActivitiesCreated, Location, WhseShptLine, SuppressCommit);
end;
trigger OnPreReport()
begin
ActivitiesCreated := 0;
LineCreated := false;
WhseShptHeader.ClearMarks();
WhseReceiptHeader.ClearMarks();
end;
var
WhseReceiptLine: Record "Warehouse Receipt Line";
WhseShptLine: Record "Warehouse Shipment Line";
Location: Record Location;
ActivitiesCreated: Integer;
Completed: Boolean;
DoNotFillQuantityToHandle: Boolean;
SalesHeaderCounted: Boolean;
SkippedSourceDoc: Integer;
SuppressCommit: Boolean;
Text000Err: Label 'There are no warehouse receipt lines created.';
Text001Msg: Label '%1 %2 has been created.', comment = '%1 = ActivitiesCreated %2 = WhseReceiptHeader.TableCaption() + SpecialHandlingMessage';
Text002Msg: Label '%1 warehouse receipts have been created.', comment = '%1 = ActivitiesCreated + SpecialHandlingMessage';
Text003Err: Label 'There are no warehouse shipment lines created.';
Text004Msg: Label '%1 warehouse shipments have been created.', comment = '%1 = ActivitiesCreated + SpecialHandlingMessage';
Text005Err: Label 'One or more of the lines on this %1 require special warehouse handling. The %2 for such lines has been set to blank.', comment = '%1 = WhseReceiptHeader.TableCaption, %2 = WhseReceiptLine.FieldCaption("Bin Code")';
NoNewReceiptLinesForPurchaseOrderErr: Label 'This usually happens when warehouse receipt lines have already been created for a purchase order. Or if there were no changes to the purchase order quantities since you last created the warehouse receipt lines.';
NoNewReceiptLinesForPurchaseReturnErr: Label 'This usually happens when warehouse receipt lines have already been created for a purchase return order. Or if there were no changes to the purchase return order quantities since you last created the warehouse receipt lines.';
Text007Err: Label 'There are no new warehouse receipt lines to create';
NoNewShipmentLinesForSalesOrderErr: Label 'This usually happens when warehouse shipment lines have already been created for a sales order. Or there were no changes to sales order quantities since you last created the warehouse shipment lines.';
NoNewShipmentLinesForSalesReturnErr: Label 'This usually happens when warehouse shipment lines have already been created for a sales return order. Or there were no changes to sales return order quantities since you last created the warehouse shipment lines.';
Text010Err: Label 'There are no new warehouse shipment lines to create';
ShowOpenLinesTxt: Label 'Show open lines';
CustomerIsBlockedMsg: Label '%1 source documents were not included because the customer is blocked.', Comment = '%1 = no. of source documents.';
ShowOpenShipmentLinesTooltipTxt: Label 'Shows open warehouse shipment lines already created for this document.';
ShowOpenReceiptLinesTooltipTxt: Label 'Shows open warehouse receipt lines already created for this document.';
protected var
Customer: Record Customer;
WhseReceiptHeader: Record "Warehouse Receipt Header";
WhseShptHeader: Record "Warehouse Shipment Header";
ErrorOccured: Boolean;
LineCreated: Boolean;
OneHeaderCreated: Boolean;
WhseHeaderCreated: Boolean;
RequestType: Option Receive,Ship;
SkipBlockedCustomer: Boolean;
SkipBlockedItem: Boolean;
HideDialog: Boolean;
ReservedFromStock: Enum "Reservation From Stock";
procedure SetHideDialog(NewHideDialog: Boolean)
begin
HideDialog := NewHideDialog;
end;
procedure SetOneCreatedShptHeader(WhseShptHeader2: Record "Warehouse Shipment Header")
begin
RequestType := RequestType::Ship;
WhseShptHeader := WhseShptHeader2;
if WhseShptHeader.Find() then
OneHeaderCreated := true;
end;
procedure SetOneCreatedReceiptHeader(WhseReceiptHeader2: Record "Warehouse Receipt Header")
begin
RequestType := RequestType::Receive;
WhseReceiptHeader := WhseReceiptHeader2;
if WhseReceiptHeader.Find() then
OneHeaderCreated := true;
end;
procedure SetDoNotFillQtytoHandle(DoNotFillQtytoHandleToSet: Boolean)
begin
DoNotFillQuantityToHandle := DoNotFillQtytoHandleToSet;
OnAfterSetDoNotFillQtytoHandle(DoNotFillQuantityToHandle, RequestType, "Warehouse Request"."Source No.", WhseReceiptHeader, WhseShptHeader);
end;
procedure SetReservedFromStock(NewReservedFromStock: Enum "Reservation From Stock")
begin
ReservedFromStock := NewReservedFromStock;
end;
procedure SetSalesLineFilters(var SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request")
begin
SalesLine.SetRange(Type, SalesLine.Type::Item);
if ((WarehouseRequest.Type = WarehouseRequest.Type::Outbound) and
(WarehouseRequest."Source Document" = WarehouseRequest."Source Document"::"Sales Order")) or
((WarehouseRequest.Type = "Warehouse Request".Type::Inbound) and
(WarehouseRequest."Source Document" = WarehouseRequest."Source Document"::"Sales Return Order"))
then
SalesLine.SetFilter("Outstanding Quantity", '>0')
else
SalesLine.SetFilter("Outstanding Quantity", '<0');
SalesLine.SetRange("Drop Shipment", false);
SalesLine.SetRange("Job No.", '');
OnAfterSetSalesLineFilters(SalesLine, WarehouseRequest);
end;
procedure SetPurchLineFilters(var PurchLine: Record "Purchase Line"; WarehouseRequest: Record "Warehouse Request")
begin
PurchLine.SetRange(Type, PurchLine.Type::Item);
if ((WarehouseRequest.Type = WarehouseRequest.Type::Inbound) and (WarehouseRequest."Source Document" = WarehouseRequest."Source Document"::"Purchase Order")) or
((WarehouseRequest.Type = WarehouseRequest.Type::Outbound) and (WarehouseRequest."Source Document" = WarehouseRequest."Source Document"::"Purchase Return Order"))
then
PurchLine.SetFilter("Outstanding Quantity", '>0')
else
PurchLine.SetFilter("Outstanding Quantity", '<0');
PurchLine.SetRange("Drop Shipment", false);
if WarehouseRequest."Source Document" = WarehouseRequest."Source Document"::"Purchase Return Order" then
PurchLine.SetRange("Job No.", '');
OnAfterSetPurchLineFilters(PurchLine, WarehouseRequest);
end;
procedure GetLastShptHeader(var WhseShptHeader2: Record "Warehouse Shipment Header")
begin
RequestType := RequestType::Ship;
WhseShptHeader2 := WhseShptHeader;
end;
procedure GetCreatedShptHeaders(var WhseShptHeader2: Record "Warehouse Shipment Header")
begin
RequestType := RequestType::Ship;
WhseShptHeader2.Copy(WhseShptHeader);
end;
procedure GetLastReceiptHeader(var WhseReceiptHeader2: Record "Warehouse Receipt Header")
begin
RequestType := RequestType::Receive;
WhseReceiptHeader2 := WhseReceiptHeader;
end;
procedure GetCreatedReceiptHeaders(var WhseReceiptHeader2: Record "Warehouse Receipt Header")
begin
RequestType := RequestType::Receive;
WhseReceiptHeader2.Copy(WhseReceiptHeader);
end;
procedure NotCancelled(): Boolean
begin
exit(Completed);
end;
procedure CreateActivityFromSalesLine2ShptLine(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"): Boolean
var
SalesWarehouseMgt: Codeunit "Sales Warehouse Mgt.";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCreateActivityFromSalesLine2ShptLine(WarehouseShipmentHeader, SalesLine, IsHandled);
if IsHandled then
exit(true);
exit(SalesWarehouseMgt.FromSalesLine2ShptLine(WarehouseShipmentHeader, SalesLine));
end;
procedure CreateShptHeader()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCreateShptHeader(WhseShptHeader, "Warehouse Request", "Sales Line", IsHandled, Location, WhseShptLine, ActivitiesCreated, WhseHeaderCreated, RequestType);
if IsHandled then
exit;
WhseShptHeader.Init();
WhseShptHeader."No." := '';
WhseShptHeader."Location Code" := "Warehouse Request"."Location Code";
if Location.Code = WhseShptHeader."Location Code" then
WhseShptHeader."Bin Code" := Location."Shipment Bin Code";
WhseShptHeader."External Document No." := "Warehouse Request"."External Document No.";
WhseShptHeader."Shipment Method Code" := "Warehouse Request"."Shipment Method Code";
WhseShptHeader."Shipping Agent Code" := "Warehouse Request"."Shipping Agent Code";
WhseShptHeader."Shipping Agent Service Code" := "Warehouse Request"."Shipping Agent Service Code";
WhseShptLine.LockTable();
OnBeforeWhseShptHeaderInsert(WhseShptHeader, "Warehouse Request", "Sales Line", "Transfer Line", "Sales Header");
WhseShptHeader.Insert(true);
WhseShptHeader.Mark(true);
ActivitiesCreated := ActivitiesCreated + 1;
WhseHeaderCreated := true;
OnAfterCreateShptHeader(WhseShptHeader, "Warehouse Request", "Sales Line", "Purchase Line");
end;
procedure CreateReceiptHeader()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCreateRcptHeader(WhseReceiptHeader, "Warehouse Request", "Purchase Line", IsHandled, SuppressCommit);
if IsHandled then
exit;
WhseReceiptHeader.Init();
WhseReceiptHeader."No." := '';
WhseReceiptHeader."Location Code" := "Warehouse Request"."Location Code";
if Location.Code = WhseReceiptHeader."Location Code" then
WhseReceiptHeader."Bin Code" := Location."Receipt Bin Code";
WhseReceiptHeader."Vendor Shipment No." := "Warehouse Request"."External Document No.";
WhseReceiptLine.LockTable();
OnBeforeWhseReceiptHeaderInsert(WhseReceiptHeader, "Warehouse Request");
WhseReceiptHeader.Insert(true);
OnCreateReceiptHeaderOnAfterWhseReceiptHeaderInsert(WhseReceiptHeader, ActivitiesCreated, RequestType);
WhseReceiptHeader.Mark(true);
ActivitiesCreated := ActivitiesCreated + 1;
WhseHeaderCreated := true;
if not SuppressCommit then
Commit();
OnAfterCreateRcptHeader(WhseReceiptHeader, "Warehouse Request", "Purchase Line");
end;
local procedure UpdateReceiptHeaderStatus()
begin
OnBeforeUpdateReceiptHeaderStatus(WhseReceiptHeader);
if WhseReceiptHeader."No." = '' then
exit;
WhseReceiptHeader.Validate("Document Status", WhseReceiptHeader.GetHeaderStatus(0));
WhseReceiptHeader.Modify(true);
end;
procedure SetSkipBlocked(Skip: Boolean)
begin
SkipBlockedCustomer := Skip;
end;
procedure SetSkipBlockedItem(Skip: Boolean)
begin
SkipBlockedItem := Skip;
end;
procedure SkipWarehouseRequest(SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request") SkipLine: Boolean;
begin
SkipLine := SalesLine."Location Code" <> WarehouseRequest."Location Code";
OnAfterSkipWarehouseRequest(SalesLine, WarehouseRequest, SkipLine);
end;
local procedure VerifySalesItemNotBlocked(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line")
var
IsHandled: Boolean;
begin
OnBeforeVerifySalesItemNotBlocked(SalesHeader, SalesLine, IsHandled, SkipBlockedItem);
if not IsHandled then
VerifyItemNotBlocked(SalesLine."No.", SalesLine."Variant Code");
end;
local procedure VerifyPurchaseItemNotBlocked(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line")
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeVerifyPurchaseItemNotBlocked(PurchaseHeader, PurchaseLine, SkipBlockedItem, IsHandled);
if IsHandled then
exit;
VerifyItemNotBlocked(PurchaseLine."No.", PurchaseLine."Variant Code");
end;
local procedure VerifyItemNotBlocked(ItemNo: Code[20]; VariantCode: Code[10])
var
Item: Record Item;
ItemVariant: Record "Item Variant";
begin
Item.Get(ItemNo);
if SkipBlockedItem and Item.Blocked then
CurrReport.Skip();
Item.TestField(Blocked, false);
if VariantCode = '' then
exit;
ItemVariant.SetLoadFields(Blocked);
ItemVariant.Get(ItemNo, VariantCode);
if SkipBlockedItem and ItemVariant.Blocked then
CurrReport.Skip();
ItemVariant.TestField(Blocked, false);
end;
procedure ShowReceiptDialog()
var
SpecialHandlingMessage: Text[1024];
IsHandled: Boolean;
ErrorNoLinesToCreate: ErrorInfo;
begin
IsHandled := false;
OnBeforeShowReceiptDialog(IsHandled, ErrorOccured, ActivitiesCreated, LineCreated);
if IsHandled then
exit;
if not LineCreated then begin
ErrorNoLinesToCreate.Title := Text007Err;
if "Purchase Header"."Document Type" = "Purchase Header"."Document Type"::Order then
ErrorNoLinesToCreate.Message := NoNewReceiptLinesForPurchaseOrderErr
else
ErrorNoLinesToCreate.Message := NoNewReceiptLinesForPurchaseReturnErr;
ErrorNoLinesToCreate.PageNo := Page::"Whse. Receipt Lines";
ErrorNoLinesToCreate.CustomDimensions.Add('Source Type', Format(Database::"Purchase Line"));
ErrorNoLinesToCreate.CustomDimensions.Add('Source Subtype', Format("Purchase Header"."Document Type"));
ErrorNoLinesToCreate.CustomDimensions.Add('Source No.', Format("Purchase Header"."No."));
ErrorNoLinesToCreate.AddAction(ShowOpenLinesTxt, 5753, 'ReturnListofPurchaseReceipts', ShowOpenReceiptLinesTooltipTxt);
WhseReceiptLine.SetRange("Source No.", "Purchase Header"."No.");
if WhseReceiptLine.FindFirst() then begin
ErrorNoLinesToCreate.RecordId(WhseReceiptLine.RecordId());
Error(ErrorNoLinesToCreate);
end else
Error(Text000Err);
end;
if ErrorOccured then
SpecialHandlingMessage :=
' ' + StrSubstNo(Text005Err, WhseReceiptHeader.TableCaption(), WhseReceiptLine.FieldCaption("Bin Code"));
if (ActivitiesCreated = 0) and LineCreated and ErrorOccured then
Message(SpecialHandlingMessage);
if ActivitiesCreated = 1 then
ShowSingleWhseReceiptHeaderCreatedMessage(SpecialHandlingMessage);
if ActivitiesCreated > 1 then
ShowMultipleWhseReceiptHeaderCreatedMessage(SpecialHandlingMessage);
end;
procedure ShowShipmentDialog()
var
SpecialHandlingMessage: Text[1024];
ErrorNoLinesToCreate: ErrorInfo;
begin
if not LineCreated then begin
ErrorNoLinesToCreate.Title := Text010Err;
if "Sales Header"."Document Type" = "Sales Header"."Document Type"::Order then
ErrorNoLinesToCreate.Message := NoNewShipmentLinesForSalesOrderErr
else
ErrorNoLinesToCreate.Message := NoNewShipmentLinesForSalesReturnErr;
ErrorNoLinesToCreate.PageNo := Page::"Warehouse Shipment List";
WhseShptLine.SetRange("Source No.", "Sales Header"."No.");
ErrorNoLinesToCreate.CustomDimensions.Add('Source Type', Format(Database::"Sales Line"));
ErrorNoLinesToCreate.CustomDimensions.Add('Source Subtype', Format("Sales Header"."Document Type"));
ErrorNoLinesToCreate.CustomDimensions.Add('Source No.', Format("Sales Header"."No."));
ErrorNoLinesToCreate.AddAction(ShowOpenLinesTxt, 5753, 'ReturnListofWhseShipments', ShowOpenShipmentLinesTooltipTxt);
if WhseShptLine.FindFirst() then begin
ErrorNoLinesToCreate.PageNo := Page::"Warehouse Shipment List";
Error(ErrorNoLinesToCreate);
end else
Error(Text003Err);
end;
if ErrorOccured then
SpecialHandlingMessage :=
' ' + StrSubstNo(Text005Err, WhseShptHeader.TableCaption(), WhseShptLine.FieldCaption("Bin Code"));
if (ActivitiesCreated = 0) and LineCreated and ErrorOccured then
Message(SpecialHandlingMessage);
if ActivitiesCreated = 1 then
ShowSingleWhseShptHeaderCreatedMessage(SpecialHandlingMessage);
if ActivitiesCreated > 1 then
ShowMultipleWhseShptHeaderCreatedMessage(SpecialHandlingMessage);
end;
local procedure CheckFillQtyToHandle()
begin
OnBeforeCheckFillQtyToHandle(DoNotFillQuantityToHandle, RequestType);
if not DoNotFillQuantityToHandle then
exit;
case RequestType of
RequestType::Receive:
begin
WhseReceiptLine.Reset();
WhseReceiptLine.SetRange("No.", WhseReceiptHeader."No.");
WhseReceiptLine.DeleteQtyToReceive(WhseReceiptLine);
end;
RequestType::Ship:
begin
WhseShptLine.Reset();
WhseShptLine.SetRange("No.", WhseShptHeader."No.");
WhseShptLine.DeleteQtyToHandle(WhseShptLine);
end;
end;
end;
procedure SetSuppressCommit(NewSuppressCommit: Boolean)
begin
SuppressCommit := NewSuppressCommit;
end;
local procedure ShowSingleWhseReceiptHeaderCreatedMessage(SpecialHandlingMessage: Text[1024])
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeShowSingleWhseReceiptHeaderCreatedMessage(ActivitiesCreated, SpecialHandlingMessage, IsHandled);
if IsHandled then
exit;
Message(StrSubstNo(Text001Msg, ActivitiesCreated, WhseReceiptHeader.TableCaption()) + SpecialHandlingMessage);
end;
local procedure ShowMultipleWhseReceiptHeaderCreatedMessage(SpecialHandlingMessage: Text[1024])
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeShowMultipleWhseReceiptHeaderCreatedMessage(ActivitiesCreated, SpecialHandlingMessage, IsHandled);
if IsHandled then
exit;
Message(StrSubstNo(Text002Msg, ActivitiesCreated) + SpecialHandlingMessage);
end;
local procedure ShowSingleWhseShptHeaderCreatedMessage(SpecialHandlingMessage: Text[1024])
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeShowSingleWhseShptHeaderCreatedMessage(ActivitiesCreated, SpecialHandlingMessage, IsHandled);
if IsHandled then
exit;
Message(StrSubstNo(Text001Msg, ActivitiesCreated, WhseShptHeader.TableCaption()) + SpecialHandlingMessage);
end;
local procedure ShowMultipleWhseShptHeaderCreatedMessage(SpecialHandlingMessage: Text[1024])
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeShowMultipleWhseShptHeaderCreatedMessage(ActivitiesCreated, SpecialHandlingMessage, IsHandled);
if IsHandled then
exit;
Message(StrSubstNo(Text004Msg, ActivitiesCreated) + SpecialHandlingMessage);
end;
[IntegrationEvent(true, false)]
local procedure OnAfterCreateRcptHeader(var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; WarehouseRequest: Record "Warehouse Request"; PurchaseLine: Record "Purchase Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterCreateShptHeader(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; WarehouseRequest: Record "Warehouse Request"; SalesLine: Record "Sales Line"; PurchaseLine: Record "Purchase Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterCreateWhseDocuments(var WhseReceiptHeader: Record "Warehouse Receipt Header"; var WhseShipmentHeader: Record "Warehouse Shipment Header"; WhseHeaderCreated: Boolean; var WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterOnPreDataItemPurchaseLine(var PurchaseHeader: Record "Purchase Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterOnPreDataItemTransferLine(var TransferHeader: Record "Transfer Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterProcessDocumentLine(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WarehouseRequest: Record "Warehouse Request"; var LineCreated: Boolean; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; OneHeaderCreated: Boolean; WhseHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSalesHeaderOnAfterGetRecord(SalesHeader: Record "Sales Header"; var SkipRecord: Boolean; var BreakReport: Boolean; var WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterTransHeaderOnAfterGetRecord(TransferHeader: Record "Transfer Header"; var SkipRecord: Boolean; var BreakReport: Boolean; var WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterPurchaseHeaderOnAfterGetRecord(PurchaseHeader: Record "Purchase Header"; var SkipRecord: Boolean; var BreakReport: Boolean; var WarehouseRequest: Record "Warehouse Request"; var WhseReceiptHeader: Record "Warehouse Receipt Header"; OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSalesHeaderOnPreDataItem(var SalesHeader: Record "Sales Header")
begin
end;
[IntegrationEvent(true, false)]
local procedure OnAfterSalesLineOnPreDataItem(var SalesLine: Record "Sales Line"; OneHeaderCreated: Boolean; WhseShptHeader: Record "Warehouse Shipment Header"; WhseReceiptHeader: Record "Warehouse Receipt Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSkipWarehouseRequest(SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request"; var SkipLine: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnAfterPurchaseLineOnPreDataItem(var PurchaseLine: Record "Purchase Line"; OneHeaderCreated: Boolean; WhseShptHeader: Record "Warehouse Shipment Header"; WhseReceiptHeader: Record "Warehouse Receipt Header"; RequestType: Option)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterTransferLineOnPreDataItem(var TransferLine: Record "Transfer Line"; OneHeaderCreated: Boolean; WhseShptHeader: Record "Warehouse Shipment Header"; WhseReceiptHeader: Record "Warehouse Receipt Header")
begin
end;
[IntegrationEvent(true, false)]
local procedure OnAfterWarehouseRequestOnPreDataItem(var WarehouseRequest: Record "Warehouse Request"; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckFillQtyToHandle(var DoNotFillQtytoHandle: Boolean; var RequestType: Option);
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateActivityFromSalesLine2ShptLine(WhseShptHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateRcptHeader(var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WarehouseRequest: Record "Warehouse Request"; PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean; var SuppressCommit: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateShptHeader(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WarehouseRequest: Record "Warehouse Request"; SalesLine: Record "Sales Line"; var IsHandled: Boolean; Location: Record Location; var WhseShptLine: Record "Warehouse Shipment Line"; var ActivitiesCreated: Integer; var WhseHeaderCreated: Boolean; var RequestType: Option Receive,Ship)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateWhseDocuments(var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean; var WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforePurchaseLineOnAfterGetRecord(PurchaseLine: Record "Purchase Line"; WarehouseRequest: Record "Warehouse Request"; RequestType: Option; var IsHandled: Boolean; SkipBlockedItem: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSalesHeaderOnAfterGetRecord(var SalesHeader: Record "Sales Header"; var SalesHeaderCounted: Boolean; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetDoNotFillQtytoHandle(var DoNotFillQuantityToHandle: Boolean; RequestType: Option Receive,Ship; SourceDocumentNo: Code[20]; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSalesLineOnAfterGetRecord(SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request"; RequestType: Option; var IsHandled: Boolean; SkipBlockedItem: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeTransferLineOnAfterGetRecord(TransferLine: Record "Transfer Line"; WarehouseRequest: Record "Warehouse Request"; RequestType: Option; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeVerifyPurchaseItemNotBlocked(PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; SkipBlockedItem: Boolean; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeVerifySalesItemNotBlocked(SalesHeaer: Record "Sales Header"; SalesLine: Record "Sales Line"; var IsHandled: Boolean; SkipBlockedItem: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeWarehouseRequestOnAfterGetRecord(var WarehouseRequest: Record "Warehouse Request"; var WhseHeaderCreated: Boolean; var SkipRecord: Boolean; var BreakReport: Boolean; RequestType: Option Receive,Ship; var WhseReceiptHeader: Record "Warehouse Receipt Header"; var WhseShptHeader: Record "Warehouse Shipment Header"; OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnBeforeWhseReceiptHeaderInsert(var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeWhseShptHeaderInsert(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WarehouseRequest: Record "Warehouse Request"; SalesLine: Record "Sales Line"; TransferLine: Record "Transfer Line"; SalesHeader: Record "Sales Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPurchaseLineOnAfterCreateRcptHeader(var WhseReceiptHeader: Record "Warehouse Receipt Header"; WhseHeaderCreated: Boolean; PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; WarehouseRequest: Record "Warehouse Request");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPurchaseLineOnAfterCreateShptHeader(var WhseShptHeader: Record "Warehouse Shipment Header"; WhseHeaderCreated: Boolean; PurchaseHeader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; WarehouseRequest: Record "Warehouse Request");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnSalesLineOnAfterCreateRcptHeader(var WhseReceiptHeader: Record "Warehouse Receipt Header"; WhseHeaderCreated: Boolean; SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnSalesLineOnAfterCreateShptHeader(var WhseShptHeader: Record "Warehouse Shipment Header"; WhseHeaderCreated: Boolean; SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnSalesLineOnAfterGetRecordOnBeforeCreateRcptHeader(SalesLine: Record "Sales Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnSalesLineOnAfterGetRecordOnBeforeCreateShptHeader(SalesLine: Record "Sales Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean; var IsHandled: Boolean; var ErrorOccured: Boolean; var LinesCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPurchaseLineOnAfterGetRecordOnBeforeCreateRcptHeader(PurchaseLine: Record "Purchase Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPurchaseLineOnAfterGetRecordOnBeforeCreateShptHeader(PurchaseLine: Record "Purchase Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPurchaseLineOnAfterGetRecordOnAfterCreateRcptHeader(var PurchaseLine: Record "Purchase Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean; var ErrorOccured: Boolean; var LineCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnTransferLineOnAfterCreateRcptHeader(var WhseReceiptHeader: Record "Warehouse Receipt Header"; WhseHeaderCreated: Boolean; TransferHeader: Record "Transfer Header"; TransferLine: Record "Transfer Line"; WarehouseRequest: Record "Warehouse Request");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnTransferLineOnAfterCreateShptHeader(var WhseShptHeader: Record "Warehouse Shipment Header"; WhseHeaderCreated: Boolean; TransferHeader: Record "Transfer Header"; TransferLine: Record "Transfer Line");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnTransferLineOnAfterGetRecordOnBeforeCreateRcptHeader(TransferLine: Record "Transfer Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnTransferLineOnAfterGetRecordOnBeforeCreateShptHeader(TransferLine: Record "Transfer Line"; var WarehouseRequest: Record "Warehouse Request"; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var OneHeaderCreated: Boolean; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterPostReport(WhseRequest: Record "Warehouse Request"; RequestType: Option; OneHeaderCreated: Boolean; var WhseShptHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var ErrorOccured: Boolean; var LineCreated: Boolean; var ActivitiesCreated: Integer; Location: record Location; var WhseShptLine: record "Warehouse Shipment Line"; SuppressCommit: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterPostDataItemSalesHeader(WarehouseRequest: Record "Warehouse Request"; SalesHeader: Record "Sales Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterPostDataItemPurchaseHeader(var PurchaseHeader: Record "Purchase Header"; var PurchaseLine: Record "Purchase Line"; var WarehouseRequest: Record "Warehouse Request"; var WhseReceiptHeader: Record "Warehouse Receipt Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCreateReceiptHeaderOnAfterWhseReceiptHeaderInsert(WhseReceiptHeader: Record "Warehouse Receipt Header"; ActivitiesCreated: Integer; var RequestType: Option Receive,Ship)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforePostReport(var WhseRequest: Record "Warehouse Request"; RequestType: Option; OneHeaderCreated: Boolean; var WhseShptHeader: Record "Warehouse Shipment Header"; var WhseHeaderCreated: Boolean; var ErrorOccured: Boolean; var LineCreated: Boolean; var ActivitiesCreated: Integer; Location: record Location; var WhseShptLine: record "Warehouse Shipment Line"; var WhseReceiptHeader: Record "Warehouse Receipt Header"; var HideDialog: Boolean; var WarehouseReceiptLine: Record "Warehouse Receipt Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowReceiptDialog(var IsHandled: Boolean; ErrorOccured: Boolean; ActivitiesCreated: Integer; LineCreated: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowSingleWhseReceiptHeaderCreatedMessage(ActivitiesCreated: Integer; SpecialHandlingMessage: Text[1024]; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowMultipleWhseReceiptHeaderCreatedMessage(ActivitiesCreated: Integer; SpecialHandlingMessage: Text[1024]; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowSingleWhseShptHeaderCreatedMessage(ActivitiesCreated: Integer; SpecialHandlingMessage: Text[1024]; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowMultipleWhseShptHeaderCreatedMessage(ActivitiesCreated: Integer; SpecialHandlingMessage: Text[1024]; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnPostDataItemTransferLine(var WhseReceiptHeader: Record "Warehouse Receipt Header"; RequestType: Option Receive,Ship; OneHeaderCreated: Boolean; WhseHeaderCreated: Boolean; LineCreated: Boolean; HideDialog: Boolean; var ShouldUpdate: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateReceiptHeaderStatus(var WhseReceiptHeader: Record "Warehouse Receipt Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnWarehouseRequestOnAfterOnPostDataItem(WhseShptHeader: Record "Warehouse Shipment Header")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnSalesLineOnAfterGetRecordOnBeforeCheckCustBlocked(var Customer: Record Customer; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnPostDataItemSalesLine(var WarehouseReceiptHeader: Record "Warehouse Receipt Header"; RequestType: Option Receive,Ship; OneHeaderCreated: Boolean; WhseHeaderCreated: Boolean; LineCreated: Boolean; HideDialog: Boolean; var ShouldUpdate: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnPostDataItemPurchaseLine(var WhseReceiptHeader: Record "Warehouse Receipt Header"; RequestType: Option Receive,Ship; OneHeaderCreated: Boolean; WhseHeaderCreated: Boolean; LineCreated: Boolean; HideDialog: Boolean; var ShouldUpdate: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetPurchLineFilters(var PurchaseLine: Record "Purchase Line"; WarehouseRequest: Record "Warehouse Request")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetSalesLineFilters(var SalesLine: Record "Sales Line"; WarehouseRequest: Record "Warehouse Request")
begin
end;
}