...
TempHandlingSpecification.RESET;
IF TempHandlingSpecification.FIND('-') THEN
REPEAT
ITQtyToPickBase := ABS(TempHandlingSpecification."Qty. to Handle (Base)");
IF ITQtyToPickBase > 0 THEN BEGIN
NewWhseActivLine."Serial No." := TempHandlingSpecification."Serial No.";
NewWhseActivLine."Lot No." := TempHandlingSpecification."Lot No.";
IF (NewWhseActivLine."Lot No." <> '') OR (NewWhseActivLine."Serial No." <> '') THEN
NewWhseActivLine."Expiration Date" := ItemTrackingMgt.ExistingExpirationDate(NewWhseActivLine."Item No.",
NewWhseActivLine."Variant Code",NewWhseActivLine."Lot No.",NewWhseActivLine."Serial No.",
FALSE,EntriesExist);
IF Location."Bin Mandatory" THEN BEGIN
IF NewWhseActivLine."Bin Code" <> '' THEN
InsertPickBinWhseActivLine(
NewWhseActivLine,NewWhseActivLine."Bin Code",FALSE,ITQtyToPickBase);
IF ITQtyToPickBase > 0 THEN
InsertPickBinWhseActivLine(NewWhseActivLine,'',TRUE,ITQtyToPickBase);
IF ITQtyToPickBase > 0 THEN
InsertPickBinWhseActivLine(NewWhseActivLine,'',FALSE,ITQtyToPickBase);
END ELSE
IF ITQtyToPickBase > 0 THEN
InsertShelfWhseActivLine(NewWhseActivLine,ITQtyToPickBase);
// Delete the following lines.
RemQtyToPickBase :=
RemQtyToPickBase + ITQtyToPickBase +
TempHandlingSpecification."Qty. to Handle (Base)";
// End of the lines.
END;
NewWhseActivLine."Serial No." := '';
NewWhseActivLine."Lot No." := '';
UNTIL (TempHandlingSpecification.NEXT = 0) OR (RemQtyToPickBase = 0);
...
...
TempHandlingSpecification.RESET;
IF TempHandlingSpecification.FIND('-') THEN
REPEAT
ITQtyToPickBase := ABS(TempHandlingSpecification."Qty. to Handle (Base)");
// Add the following lines.
IF ABS(TempHandlingSpecification."Qty. to Handle (Base)") > RemQtyToPickBase THEN
ITQtyToPickBase := RemQtyToPickBase;
OriginalITQtyToPickBase := ITQtyToPickBase;
// End of the lines.
IF ITQtyToPickBase > 0 THEN BEGIN
NewWhseActivLine."Serial No." := TempHandlingSpecification."Serial No.";
NewWhseActivLine."Lot No." := TempHandlingSpecification."Lot No.";
IF (NewWhseActivLine."Lot No." <> '') OR (NewWhseActivLine."Serial No." <> '') THEN
NewWhseActivLine."Expiration Date" := ItemTrackingMgt.ExistingExpirationDate(NewWhseActivLine."Item No.",
NewWhseActivLine."Variant Code",NewWhseActivLine."Lot No.",NewWhseActivLine."Serial No.",
FALSE,EntriesExist);
IF Location."Bin Mandatory" THEN BEGIN
IF NewWhseActivLine."Bin Code" <> '' THEN
InsertPickBinWhseActivLine(
NewWhseActivLine,NewWhseActivLine."Bin Code",FALSE,ITQtyToPickBase);
IF ITQtyToPickBase > 0 THEN
InsertPickBinWhseActivLine(NewWhseActivLine,'',TRUE,ITQtyToPickBase);
IF ITQtyToPickBase > 0 THEN
InsertPickBinWhseActivLine(NewWhseActivLine,'',FALSE,ITQtyToPickBase);
END ELSE
IF ITQtyToPickBase > 0 THEN
InsertShelfWhseActivLine(NewWhseActivLine,ITQtyToPickBase);
// Add the following line.
RemQtyToPickBase := RemQtyToPickBase + ITQtyToPickBase - OriginalITQtyToPickBase;
END;
NewWhseActivLine."Serial No." := '';
NewWhseActivLine."Lot No." := '';
UNTIL (TempHandlingSpecification.NEXT = 0) OR (RemQtyToPickBase = 0);
...