Если не использовать группировку, то можно выполнять сортировку по требуемым вам полям с помощью методов AddSortField, AddSortIndex, SortClear класса QueryBuildDataSource.
X++:
QueryBuildDataSource qbd;
;
qbd = Table1_ds.Query().dataSourceNo(1);
qbd.SortClear();
if (SortValue == 1)
{
qbd.AddSortField(fieldnum(Table1, Field1), SortOrder::D:Descending);
}
else
{
qbd.AddSortField(fieldnum(Table1, Field1), SortOrder::Ascending);
qbd.AddSortField(fieldnum(Table1, Field2), SortOrder::Descending);
}
Table_ds.ExecuteQuery();