Немного пофиксил код для запросов с группировкой: не правильно возвращает loops если запрос с группировкой возвращает 1 строку (например query такого содержания: select ItemGroupId from inventTable group by ItemGroupId where ItemGroupId=='const')
X++:
private server static container countPrim(container _queryPack)
{
...
Integer iGrp;
;
countQueryRun = new QueryRun(_queryPack);
countQuery = countQueryRun.query();
for (k = 1; k <= countQuery.dataSourceCount();k++)
{
qbds = countQuery.dataSourceNo(k);
qbds.update(false);
iGrp +=(qbds.orderMode()==orderMode::GroupBy); // SHiSHok.fix
//qbds.sortClear(); // Вот этот метод сильно мешал!
qbfl = qbds.fields();
qbfl.dynamic(false);
qbfl.clearFieldList();
qbfl.addField(FieldNum(Common,recId),SelectionField::COUNT);
}
countQueryRun = new QueryRun(countQuery);
while (countQueryRun.next())
{
common = countQueryRun.getNo(1);
counter += common.recId;
loops++;
}
// return [counter,((loops > 1)? loops : counter)];
return [counter,(iGrp ? loops : counter)]; // SHiSHok.fix
}