12.03.2012, 16:09 | #1 |
Участник
|
Отсортировать записи после группировки через Query
Добрый вечер всем!!
Есть проблема: необходимо выбрать всех сотрудников, сгруппировать их по табельному номеру и вывести в алфавитном порядке!Вроде бы простая задача, но возникает вопрос как отсортировать по алфавиту????Вычитал на форуме про метод .addOrderByField И вроде бы все красиво, но некоторые сотрудники выводятся по два раза! X++: protected QueryRun queryEmpl() { QueryBuildDataSource qbdrTrans; Query q = new Query(queryRun.query()); QueryRun qr; ; qbdrTrans = q.dataSourceTable(tableNum(RPayTrans)); qbdrTrans.addOrderByField(fieldNum(RPayTrans, EmplName),SortOrder::Ascending); qbdrTrans.orderMode(OrderMode::GroupBy); qbdrTrans.addSortField(fieldNum(RPayTrans, EmplId)); return new QueryRun(q); } X++: qbdrTrans.addOrderByField(fieldNum(RPayTrans, EmplName),SortOrder::Ascending); Помогите пожалуйста новичку! з.ы. в поле EmplName хранится ФИО |
|
12.03.2012, 16:29 | #2 |
Участник
|
Цитата:
Попробуйте на всякий случай ещё вот так (хотя это по идее тоже самое): X++: protected QueryRun queryEmpl() { QueryBuildDataSource qbdrTrans; Query q = new Query(queryRun.query()); QueryRun qr; ; qbdrTrans = q.dataSourceTable(tableNum(RPayTrans)); // qbdrTrans.addOrderByField(fieldNum(RPayTrans, EmplName),SortOrder::Ascending); qbdrTrans.addSortField(fieldNum(RPayTrans, EmplName),SortOrder::Ascending); qbdrTrans.orderMode(OrderMode::GroupBy); qbdrTrans.addSortField(fieldNum(RPayTrans, EmplId)); return new QueryRun(q); } |
|
12.03.2012, 17:13 | #3 |
Участник
|
Цитата:
Нельзя сделать сортировку по полям которых нет в группировке при её наличии.
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
13.03.2012, 07:10 | #4 |
Участник
|
Спасибо большое за советы, буду пробовать!)
|
|