Сортировка Query
Если надо отсортировать запрос сначала по полям третей таблицы в датасорсе, а потом только второй, то как это сделать?
1. qbdsInvent = query.addDataSource(tablenum(InventTable));
qbds = qbdsInvent.addDataSource(tablenum(InventHistoryChange));
qbds.relations(true);
qbds.fetchMode(QueryFetchMode::One2One);
qbds = qbds.addDataSource(tablenum(InventDim));
qbds.relations(true);
qbds.fetchMode(QueryFetchMode::One2One);
qbdsInvent.addSortField(fieldNum(InventTable,ItemId));
qbds.addSortField(fieldNum(InventDim,InventSiteId));
qbds.addSortField(fieldNum(InventHistoryChange, InventChangeDat));
"неправильное поле сортировки"
2. qbdsInvent = query.addDataSource(tablenum(InventTable));
qbds = qbdsInvent.addDataSource(tablenum(InventHistoryChange));
qbds.relations(true);
qbds.fetchMode(QueryFetchMode::One2One);
qbdsInventDim = qbds.addDataSource(tablenum(InventDim));
qbdsInventDim.relations(true);
qbdsInventDim.fetchMode(QueryFetchMode::One2One);
qbdsInvent.addSortField(fieldNum(InventTable,ItemId));
qbdsInventDim.addSortField(fieldNum(InventDim,InventSiteId));
qbds.addSortField(fieldNum(InventHistoryChange, InventChangeDat));
а так сортирует сначала по fieldNum(InventHistoryChange, InventChangeDat вместо желаемого fieldNum(InventDim,InventSiteId) сначала и fieldNum(InventHistoryChange, InventChangeDat) потом.
|