Codeunit 5886 Phys. Invt.-Show Duplicates, source in 29
Source29
src/Layers/W1/BaseApp/Inventory/Counting/Document/PhysInvtShowDuplicates.Codeunit.al70 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;
codeunit 5886 "Phys. Invt.-Show Duplicates"
{
TableNo = "Phys. Invt. Order Header";
trigger OnRun()
begin
PhysInvtOrderHeader.Copy(Rec);
Code();
Rec := PhysInvtOrderHeader;
end;
var
CheckingLinesMsg: Label 'Checking lines #2######', Comment = '%2 = counter';
NoDuplicateLinesMsg: Label 'There are no duplicate order lines in order %1.', Comment = '%1 = Order No.';
DuplicatesFoundQst: Label 'There are %1 duplicate order lines in order %2.\Do you want to show it?', Comment = '%1 = duplicates count, %2 = Order No.';
PhysInvtOrderHeader: Record "Phys. Invt. Order Header";
PhysInvtOrderLine: Record "Phys. Invt. Order Line";
PhysInvtOrderLine2: Record "Phys. Invt. Order Line";
Window: Dialog;
ErrorText: Text[250];
LineCount: Integer;
DuplicateCount: Integer;
procedure "Code"()
begin
Window.Open('#1################################\\' + CheckingLinesMsg);
Window.Update(1, StrSubstNo('%1 %2', PhysInvtOrderHeader.TableCaption(), PhysInvtOrderHeader."No."));
LineCount := 0;
DuplicateCount := 0;
PhysInvtOrderLine.Reset();
PhysInvtOrderLine.SetRange("Document No.", PhysInvtOrderHeader."No.");
PhysInvtOrderLine.ClearMarks();
if PhysInvtOrderLine.Find('-') then
repeat
LineCount := LineCount + 1;
Window.Update(2, LineCount);
if not PhysInvtOrderLine.EmptyLine() then begin
PhysInvtOrderLine.TestField("Item No.");
if
PhysInvtOrderHeader.GetSamePhysInvtOrderLine(
PhysInvtOrderLine,
ErrorText,
PhysInvtOrderLine2) > 1
then begin
PhysInvtOrderLine.Mark(true);
DuplicateCount := DuplicateCount + 1;
end;
end;
until PhysInvtOrderLine.Next() = 0;
Window.Close();
if DuplicateCount = 0 then
Message(StrSubstNo(NoDuplicateLinesMsg, PhysInvtOrderHeader."No."))
else
if Confirm(StrSubstNo(DuplicatesFoundQst, DuplicateCount, PhysInvtOrderHeader."No."), true) then begin
PhysInvtOrderLine.MarkedOnly(true);
PAGE.Run(0, PhysInvtOrderLine);
end;
end;
}