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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2003, 13:57   #1  
maze is offline
maze
Участник
Аватар для maze
 
39 / 10 (1) +
Регистрация: 21.02.2003
Адрес: Одесса
? Группировка в Lookup
Привет всем!

Работаю с AX3
Создал StringEdit на основе edit-метода:

PHP код:
edit InventTransRefId inventTransRefId(boolean setInventTransRefId _inventTransRefId)
{
    if (
set)
    {
        
inventTransRefId _inventTransRefId;
        
WMSTransport_ds.executeQuery();
    }

    return 
inventTransRefId;

для этого StringEdit-а создал обработчик Lookup:

PHP код:
public void lookup()
{
    
SysTableLookup               sysTableLookup;
    
Query                                   query = new Query();
    
QueryBuildDataSource    queryBuildDataSourcequeryBuildJoinDataSource;
    
QueryBuildRange             queryBuildRange;
    ;

    
sysTableLookup SysTableLookup::newParameters(tableNum(WMSTransport), this);
    
sysTableLookup.addLookupfield(fieldNum(WMSTransportInventTransRefId));
    
sysTableLookup.addLookupfield(fieldNum(WMSTransportInventTransType));

    
queryBuildDataSource query.addDataSource(tablenum(WMSTransport));

    
queryBuildRange queryBuildDataSource.addRange(fieldnum(WMSTransportexpeditionStatus));
    
queryBuildRange.value(StrFmt"%1, %2"WMSExpeditionStatus::ActivatedWMSExpeditionStatus::Started));

    
queryBuildDataSource.orderMode(OrderMode::GROUPBY);
    
queryBuildDataSource.addSortField(fieldNum(WMSTransportInventTransRefId));

    
sysTableLookup.parmQuery(query);
    
sysTableLookup.performFormLookup();

Самое интересное это группировка по полю InventTransRefId.

Так вот! При первом вызове lookup-формы группировка срабатывает прекрасно. Затем, если выбрано одно из значений, то группировка работает только начиная от этого значения и до конца таблицы. А необходимо, чтобы при каждом вызове данный код срабатывал одинаково!

Может быть кто-то сталкивался с данной проблемой! Подскажите! Как с ней бороться??!!
Старый 04.06.2003, 14:17   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
позиционирование
Цитата:
группировка работает только начиная от этого значения и до конца таблицы
Не представляю как это может выглядеть, чтобы группировка работал на части выборки. Может Вы что-то путаите?
В Ах3 появилась фича - позиционирование lookup-а на введенном ранее значении. Возможно, в этом причина Ваших проблем.
Старый 04.06.2003, 14:27   #3  
maze is offline
maze
Участник
Аватар для maze
 
39 / 10 (1) +
Регистрация: 21.02.2003
Адрес: Одесса
чтобы не быть голословным посылаю скриншот:
т.е. 2 скриншота:

Вложения
Тип файла: img13647-1 (9.0 Кб, 906 просмотров)
Тип файла: img13647-2 (11.9 Кб, 930 просмотров)
Старый 04.06.2003, 14:46   #4  
maze is offline
maze
Участник
Аватар для maze
 
39 / 10 (1) +
Регистрация: 21.02.2003
Адрес: Одесса
что-то не отображаются иллюстрации.
попробую так:



Старый 04.06.2003, 15:21   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
действительно
во-первых, нужно добавить группировку по InventTransType
во-вторых, стОит посмотреть какой запрос идёт к ДБ,
а потом думать дальше
Старый 04.06.2003, 15:51   #6  
maze is offline
maze
Участник
Аватар для maze
 
39 / 10 (1) +
Регистрация: 21.02.2003
Адрес: Одесса
сам query отрабатывает идеально.
поместил его в QueryRun и потом сделал Job.
проблема с FormStringEdit.
Нашел я все-же решение...
Првда немного смешное
и несерьезное.

поставить первым вызовом в лукап-обработчике!

PHP код:
 this.text(""); 
Старый 18.11.2009, 17:08   #7  
Максимка is offline
Максимка
Участник
 
19 / 23 (1) +++
Регистрация: 28.06.2006
Столкнулся с аналогичной проблемой (Ax 3.0 SP3)
Немного модифицировал метод formRun() класса SysTableLookup:

X++:
    if (query)
    {
        formDataSource.query(query);
        //Добавил -->
        formDataSource.executeQuery();
        //Добавил <--
    }
Стало работать нормально.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: How to define a custom lookup form for an extended datatype Blog bot DAX Blogs 0 09.07.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Нагло глючит lookup Sada DAX: Программирование 1 08.06.2006 10:32
Lookup в Lookup'е TasmanianDevil DAX: Программирование 2 06.04.2006 07:28
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:01.