![]() |
#4 |
Участник
|
Цитата:
Сообщение от SHiSHok
![]() Немного пофиксил код для запросов с группировкой: не правильно возвращает 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 } |
|