Вот пример - прекрасно все работает:
X++:
static void OpelItemQueryGroupBy(Args _args)
{
inventTable inventTable;
QueryRun qr;
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildDataSource queryBuildDataSourceModule;
QueryBuildRange queryBuildRange;
QueryBuildRange qbrBlocked;
;
query = new Query();
queryBuildDataSource = query.addDataSource(tableNum(InventTable));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemId));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemType));
queryBuildDataSource.orderMode(OrderMode::GroupBy);
queryBuildDataSource.addSortField(fieldNum(InventTable, ItemGroupId));
box::info(queryBuildDataSource.toString());
qr = new QueryRun(query);
if (qr.prompt())
{
while (qr.next())
{
inventTable = qr.getNo(1);
info(strfmt("%1", inventTable.ItemGroupId));
}
}
}