...
FOR x := 1 TO SalesLine."Qty. to Ship (Base)" DO BEGIN
CLEAR(ServItem);
// Delete the following lines.
ServItem.INIT;
ServMgtSetup.TESTFIELD("Service Item Nos.");
NoSeriesMgt.InitSeries(
ServMgtSetup."Service Item Nos.",ServItem."No. Series",0D,ServItem."No.",ServItem."No. Series");
ServItem.INSERT;
// End of the lines.
ServItem."Sales/Serv. Shpt. Document No." := SalesShipmentLine."Document No.";
ServItem."Sales/Serv. Shpt. Line No." := SalesShipmentLine."Line No.";
ServItem."Shipment Type" := ServItem."Shipment Type"::Sales;
ServItem.VALIDATE(Description,
COPYSTR(SalesLine.Description,1,MAXSTRLEN(ServItem.Description)));
ServItem."Description 2" := COPYSTR(
STRSUBSTNO('%1 %2',SalesHeader."Document Type",SalesHeader."No."),
1,MAXSTRLEN(ServItem."Description 2"));
ServItem.VALIDATE("Customer No.",SalesHeader."Sell-to Customer No.");
ServItem.VALIDATE("Ship-to Code",SalesHeader."Ship-to Code");
ServItem.OmitAssignResSkills(TRUE);
ServItem.VALIDATE("Item No.",Item."No.");
ServItem.OmitAssignResSkills(FALSE);
IF TrackingLinesExist THEN
ServItem."Serial No." := TempReservEntry."Serial No.";
ServItem."Variant Code" := SalesLine."Variant Code";
...
...
FOR x := 1 TO SalesLine."Qty. to Ship (Base)" DO BEGIN
CLEAR(ServItem);
// Add the following lines.
ServItemWithSerialNoExist := FALSE;
IF TempReservEntry."Serial No." <> '' THEN BEGIN
ServItem.SETRANGE("Item No.",SalesLine."No.");
ServItem.SETRANGE("Serial No.",TempReservEntry."Serial No.");
IF ServItem.FINDFIRST THEN
ServItemWithSerialNoExist := TRUE;
END;
IF (TempReservEntry."Serial No." = '') OR (NOT ServItemWithSerialNoExist) THEN BEGIN
ServItem.INIT;
ServMgtSetup.TESTFIELD("Service Item Nos.");
NoSeriesMgt.InitSeries(
ServMgtSetup."Service Item Nos.",ServItem."No. Series",0D,ServItem."No.",ServItem."No. Series");
ServItem.INSERT;
END;
// End of the lines.
ServItem."Sales/Serv. Shpt. Document No." := SalesShipmentLine."Document No.";
ServItem."Sales/Serv. Shpt. Line No." := SalesShipmentLine."Line No.";
ServItem."Shipment Type" := ServItem."Shipment Type"::Sales;
ServItem.VALIDATE(Description,
COPYSTR(SalesLine.Description,1,MAXSTRLEN(ServItem.Description)));
ServItem."Description 2" := COPYSTR(
STRSUBSTNO('%1 %2',SalesHeader."Document Type",SalesHeader."No."),
1,MAXSTRLEN(ServItem."Description 2"));
ServItem.VALIDATE("Customer No.",SalesHeader."Sell-to Customer No.");
ServItem.VALIDATE("Ship-to Code",SalesHeader."Ship-to Code");
ServItem.OmitAssignResSkills(TRUE);
ServItem.VALIDATE("Item No.",Item."No.");
ServItem.OmitAssignResSkills(FALSE);
IF TrackingLinesExist THEN
ServItem."Serial No." := TempReservEntry."Serial No.";
ServItem."Variant Code" := SalesLine."Variant Code";
...