Codeunit 932 Asm. Whse. Activity Post, source in 29
Source29
src/Layers/W1/BaseApp/Assembly/Warehouse/Activity/AsmWhseActivityPost.Codeunit.al42 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.Activity;
using Microsoft.Assembly.Document;
using Microsoft.Sales.Document;
using Microsoft.Warehouse.Journal;
codeunit 932 "Asm. Whse. Activity Post"
{
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Whse.-Activity-Post", 'OnInitSourceDocumentOnBeforeSalesLineLoopIteration', '', false, false)]
local procedure OnInitSourceDocumentOnBeforeSalesLineLoopIteration(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; WarehouseActivityHeader: Record "Warehouse Activity Header"; var IsHandled: Boolean)
var
WMSManagement: Codeunit "WMS Management";
begin
SalesLine.SetSkipUpdateQtyToAsm(false);
if WarehouseActivityHeader.Type = WarehouseActivityHeader.Type::"Invt. Pick" then
if WarehouseActivityHeader."Source Document" = WarehouseActivityHeader."Source Document"::"Sales Order" then
if WMSManagement.ATOInvtPickExists(SalesLine) then
SalesLine.SetSkipUpdateQtyToAsm(true);
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Whse.-Activity-Post", 'OnBeforeModifySalesLine', '', false, false)]
local procedure OnBeforeModifySalesLine(var SalesLine: Record "Sales Line")
begin
SalesLine.SetSkipUpdateQtyToAsm(false);
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Whse.-Activity-Post", 'OnUpdateSourceDocumentOnBeforeSalesLineModify', '', false, false)]
local procedure OnUpdateSourceDocumentOnBeforeSalesLineModify(WarehouseActivityLine: Record "Warehouse Activity Line")
var
ATOLink: Record "Assemble-to-Order Link";
begin
if WarehouseActivityLine."Assemble to Order" then begin
ATOLink.UpdateQtyToAsmFromInvtPickLine(WarehouseActivityLine);
ATOLink.UpdateAsmBinCodeFromInvtPickLine(WarehouseActivityLine);
end;
end;
}