18.07.2016, 16:17 | #1 |
Участник
|
Сортировка в Lookup
Добрый день.
Возникла потребность в сортировке в Lookup X++: public void lookup(FormControl _formControl, str _filterStr) { SysTableLookup sysTableLookup; Query query; QueryBuildDataSource queryBuildDataSource; ; if (DataSource3.DataType == RMZ_BomTree_DataType_ZTR::BudgetGroup) { sysTableLookup = SysTableLookup::newParameters(tablenum(GroupOfBudgeting_ZTR),_formControl); sysTableLookup.addLookupfield(fieldnum(GroupOfBudgeting_ZTR, BudgetGroupId_ZTR)); sysTableLookup.addLookupfield(fieldnum(GroupOfBudgeting_ZTR, Name_ZTR)); sysTableLookup.addLookupfield(fieldnum(GroupOfBudgeting_ZTR, PredBudgetGroupId_ZTR)); query = new Query(); queryBuildDataSource = query.addDataSource(tablenum(GroupOfBudgeting_ZTR)); queryBuildDataSource.addOrderByField(fieldnum(GroupOfBudgeting_ZTR, FakeSortField_ZTR)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } else super(_formControl, _filterStr); } Аксапта у меня 2009 |
|
18.07.2016, 17:11 | #2 |
Участник
|
Сортировка и вывод полей в lookUp-е
Цитата:
Все работает как должно работать
Чтобы быстро спозиционироваться на выбранную строку в лукапе ядро разбивает запрос на два - один возвращает значения меньше выбранного, второй - больше или равно выбранного. Ядро перед выводом склеивает результаты, и выделяет первую строку результатов второго запроса. То есть сортировка должна быть ровно по тому полю по которому лукап. Хотите что то свое - рисуйте свою LookupForm и там делайте что хотите параметр для отмены позиционирования: X++: sysTableLookup.parmUseLookupValue(false); |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|