06.08.2015, 10:59 | #1 |
Участник
|
Сортировка 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) потом. |
|