|
![]() |
#1 |
Участник
|
по-моему, это заблуждение
Ведь select с group by и полями where работает. Другое дело, что сортировку менять нельзя (в смысле, что это уже и не сортировка будет вовсе, а группировка) |
|
![]() |
#2 |
Участник
|
Вот пример - прекрасно все работает:
X++: static void OpelItemQueryGroupBy(Args _args) { inventTable inventTable; QueryRun qr; Query query; QueryBuildDataSource queryBuildDataSource; QueryBuildDataSource queryBuildDataSourceModule; QueryBuildRange queryBuildRange; QueryBuildRange qbrBlocked; ; query = new Query(); queryBuildDataSource = query.addDataSource(tableNum(InventTable)); queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemId)); queryBuildRange = queryBuildDataSource.addRange(fieldNum(InventTable, ItemType)); queryBuildDataSource.orderMode(OrderMode::GroupBy); queryBuildDataSource.addSortField(fieldNum(InventTable, ItemGroupId)); box::info(queryBuildDataSource.toString()); qr = new QueryRun(query); if (qr.prompt()) { while (qr.next()) { inventTable = qr.getNo(1); info(strfmt("%1", inventTable.ItemGroupId)); } } } |
|
![]() |
#3 |
Участник
|
А как в вашем примере пользователь изменит критерии выборки? Проблема в том что в отчёте, где у источника данных стоит GroupBy, пользователь не может по нажатию кнопки "Выбор" указать что-либо своё. Вот в чём дело. Программно я-то конечно могу какой захочу range запихать туда. О пользователях забочусь
![]()
__________________
Дмитрий |
|
![]() |
#4 |
Moderator
|
Цитата:
Допустим что есть отчет который отражает данные в разрезе клиентов на дату(Заданы группировки по коду клиента и дате). Пусть пользователь может добавить еще одно поле (оно добавится в режиме группировки), например, номер накладной (отображение номера накладной в отчете не предусмотрено) В итоге пользователь получает вместо одной строки с суммой по клиенту на дату несколько строк с разными суммами, а мы крики что опять все пАлАмАлАсь! ![]()
__________________
С уважением, kvan. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|