AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.08.2020, 15:40   #1  
SuperStar88 is offline
SuperStar88
Участник
 
79 / 10 (1) +
Регистрация: 11.08.2017
? AX2009. Lookup без/со звёздочкой
Есть класс с диалогом. Перекрыл Lookup
X++:
public void itemIdFld_lookup()
{
    FormStringControl       formStringControl;
    Query                   query;
    QueryBuildDataSource    qbDS;

    SysTableLookup          sysTableLookup;
    ;
    formStringControl = dialog.formRun().controlCallingMethod();
    if (formStringControl)
    {
        query = new Query();
        qbDS = query.addDataSource(tablenum(Table1), "Table1_ds");
        qbDS.orderMode(orderMode::GroupBy);
        qbDS.addSortField(fieldnum(Table1, ItemId), sortOrder::Ascending);

        sysTableLookup = SysTableLookup::newParameters(tablenum(Table1), formStringControl);
        sysTableLookup.addLookupfield(fieldnum(Table1, ItemId), true);
        sysTableLookup.addLookupMethod(tablemethodstr(Table1, itemName));

        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();
    }
}
Когда поле пустое, то всё ОК - lookup сгруппирован по номенклатуре
А когда вводится значение со звёздочкой (например: 01.01.*), то значения получаются не сгруппированы (куча одинаковых номенклатур в лукапе).

Как это побороть? Чтобы и так, и так всё было сгруппировано!
Старый 13.08.2020, 16:47   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от SuperStar88 Посмотреть сообщение
Когда поле пустое, то всё ОК - lookup сгруппирован по номенклатуре
А когда вводится значение со звёздочкой (например: 01.01.*), то значения получаются не сгруппированы (куча одинаковых номенклатур в лукапе).
Это так коряво в системе реализован механизм поиска в раскрытом списке на нужного значения
Сортировка в Lookup

Цитата:
Сообщение от SuperStar88 Посмотреть сообщение
Как это побороть? Чтобы и так, и так всё было сгруппировано!
Обернуть сгруппированный запрос в View
Старый 13.08.2020, 18:09   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,867 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Это так коряво в системе реализован механизм поиска в раскрытом списке на нужного значения
Сортировка в Lookup


Обернуть сгруппированный запрос в View
Немного не по теме ссылка.
Ядро криво работает с лукапами с группировкой. Обойти можно не только вьюхой. Если мне не изменяет память, то поведения отличалось если лукап написать / вызывать не из метода на поле датасорса, а из метода на контроле то все ок. Группировка не сбрасывалась.
Старый 13.08.2020, 19:03   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Logger Посмотреть сообщение
Ядро криво работает с лукапами с группировкой.
ядро криво работает с лукапами, в которых recId == 0.
ну, не предполагали разработчики что кто-то будет делать лукапы по незаписанным данным.

на всякий случай: разработчики еще предполагали, что в пределах одной таблицы ненулевые recId уникальны.
__________________
полезное на axForum, github, vk, coub.
Старый 13.08.2020, 19:09   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от SuperStar88 Посмотреть сообщение
Как это побороть? Чтобы и так, и так всё было сгруппировано!
не группируйте.

если я правильно понимаю, вы хотите получить лукап по номенклатуре для которой есть записи в Table1

ну дык и сформулируйте запрос на человеческом:
= запрос по таблице номенклатур
= exists join Table1
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: SuperStar88 (1).
Старый 14.08.2020, 12:34   #6  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
вот так не будет задваивать :
X++:
sysTableLookup = SysTableLookup::newParameters(tablenum(Table1), formStringControl, false);
хотя конечно потеряется позиционирование.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 17.08.2020, 11:26   #7  
SuperStar88 is offline
SuperStar88
Участник
 
79 / 10 (1) +
Регистрация: 11.08.2017
Цитата:
Сообщение от Pustik Посмотреть сообщение
вот так не будет задваивать :
X++:
sysTableLookup = SysTableLookup::newParameters(tablenum(Table1), formStringControl, false);
хотя конечно потеряется позиционирование.
Не помогло
Цитата:
Сообщение от mazzy Посмотреть сообщение
не группируйте.

если я правильно понимаю, вы хотите получить лукап по номенклатуре для которой есть записи в Table1

ну дык и сформулируйте запрос на человеческом:
= запрос по таблице номенклатур
= exists join Table1
Так и сделал. Всё работает, благодарю
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: D365FOE. How to override form data source field lookup method. Blog bot DAX Blogs 0 10.01.2018 05:11
vasantharivali: Filter Second lookup based on First Value – Ax 2012 SSRS Blog bot DAX Blogs 0 24.09.2014 13:11
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07
Произвольная Lookup форма Maxim Gorbunov DAX: База знаний и проекты 0 30.11.2001 21:59
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:04.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.