This is what it currently looks like after your sugegstion, it's still producing just 1.
DELETEALL;
recSalesLine.RESET;
recSalesLine.SETRANGE("Document Type", recSalesLine."Document Type"::Order);
recSalesLine.SETRANGE(Type, Type::Item);
recSalesLine.SETFILTER("Outstanding Qty. (Base)", '<>%1', 0);
IF recSalesLine.FINDSET(FALSE, FALSE) THEN REPEAT
CLEAR(gintQtyonPick);
CLEAR(IndentTrue);
IF recSalesLine."Document No." <> recSalesLineTMP."Document No." THEN BEGIN
IndentTrue := TRUE;
AssignSalesValues(IndentTrue, recSalesLine);
AssignSalesValues(FALSE, recSalesLine);
END ELSE BEGIN
AssignSalesValues(IndentTrue, recSalesLine);
END;
recSalesLineTMP := recSalesLine;
UNTIL recSalesLine.NEXT =0;
FINDFIRST;
AssignSalesValues(IndentTrue : Boolean;recSalesLine : Record "Sales Line")
recCustomer.GET(recSalesLine."Sell-to Customer No.");
Rec := recSalesLine;
IF IndentTrue THEN BEGIN
Indentation := 0;
"Line No." := 0;
"No." := "Sell-to Customer No.";
Description := recCustomer.Name;
CLEAR("Qty. to Ship");
CLEAR(Quantity);
CLEAR("Promised Delivery Date");
CLEAR("Outstanding Quantity");
END ELSE BEGIN
Indentation := 1;
gintQtyonPick := "Qty. to Ship";
END;
INSERT(FALSE);