if LotNoInfo.FindSet() then
repeat
LotNoInfo.CalcFields(Inventory);
if ((LotNoInfo."Expire Date" <= TodayDate) or
(LotNoInfo."Retest Date" <= TodayDate)) and
(LotNoInfo.Inventory > 0) then begin
ItemLedgEntry.Reset();
ItemLedgEntry.SetRange("Item No.", LotNoInfo."Item No.");
ItemLedgEntry.SetRange("Lot No.", LotNoInfo."Lot No.");
ItemLedgEntry.SetFilter("Remaining Quantity", '>0');
if ItemLedgEntry.FindSet() then
repeat
WarehouseEntry.Reset();
WarehouseEntry.SetRange("Item No.", ItemLedgEntry."Item No.");
WarehouseEntry.SetRange("Lot No.", ItemLedgEntry."Lot No.");
WarehouseEntry.SetRange("Location Code", ItemLedgEntry."Location Code");
WarehouseEntry.SetRange("Reference No.", ItemLedgEntry."Document No.");
if WarehouseEntry.FindLast() and (WarehouseEntry."Bin Code" <> '') then begin
LineNo += 10000;
ItemReclassJournalLine.Init();
ItemReclassJournalLine."Entry Type" := ItemReclassJournalLine."Entry Type"::Transfer;
ItemReclassJournalLine."Journal Template Name" := ItemReclassJournalTemplate.Name;
ItemReclassJournalLine."Journal Batch Name" := ItemReclassJournalBatch.Name;
ItemReclassJournalLine."Line No." := LineNo;
ItemReclassJournalLine."Posting Date" := TodayDate;
ItemReclassJournalLine."Document No." := 'ttttt';
ItemReclassJournalLine.Validate("Item No.", LotNoInfo."Item No.");
ItemReclassJournalLine.Validate("Location Code", ItemLedgEntry."Location Code");
ItemReclassJournalLine.Validate("Variant Code", ItemLedgEntry."Variant Code");
ItemReclassJournalLine.Description := 'ttttt';
ItemReclassJournalLine.Validate(Quantity, ItemLedgEntry."Remaining Quantity");
ItemReclassJournalLine.Validate("New Location Code", 'tttt');
ItemReclassJournalLine.Validate("New Bin Code", 'tttt');
ItemReclassJournalLine.Validate("Lot No.", LotNoInfo."Lot No.");
ItemReclassJournalLine.Validate("New Lot No.", LotNoInfo."Lot No.");
ItemReclassJournalLine.Validate("Bin Code", WarehouseEntry."Bin Code");
ItemReclassJournalLine.Insert();
EntryNo := 0;
ReservEntry.Reset();
if ReservEntry.FindLast() then
EntryNo := ReservEntry."Entry No.";
EntryNo += 1;
ReservEntry.Init();
ReservEntry."Entry No." := EntryNo;
ReservEntry."Item No." := ItemReclassJournalLine."Item No.";
ReservEntry."Variant Code" := ItemReclassJournalLine."Variant Code";
ReservEntry."Location Code" := ItemReclassJournalLine."Location Code";
ReservEntry."Lot No." := LotNoInfo."Lot No.";
ReservEntry."New Lot No." := LotNoInfo."Lot No.";
ReservEntry."Quantity (Base)" := ItemLedgEntry."Remaining Quantity";
ReservEntry."Reservation Status" := ReservEntry."Reservation Status"::Surplus;
ReservEntry."Source Type" := DATABASE::"Item Journal Line";
ReservEntry."Source Subtype" := ItemReclassJournalLine."Entry Type".AsInteger();
ReservEntry."Source ID" := ItemReclassJournalLine."Journal Template Name";
ReservEntry."Source Batch Name" := ItemReclassJournalLine."Journal Batch Name";
//ReservEntry."Source Ref. No." := ItemReclassJournalLine."Line No.";
ReservEntry."Positive" := true;
ReservEntry.Insert();
ReservEntry.Modify();
end;
until ItemLedgEntry.Next() = 0;
end;
until LotNoInfo.Next() = 0;