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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.05.2013, 18:37   #1  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
При создании queryRun дополнительно укажите
X++:
queryRun.promptLoadLastUsedQuery(false);
За это сообщение автора поблагодарили: kit22 (1).
Старый 08.05.2013, 23:42   #2  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
Исправилось, если нажимать "Отмена" на диалоге, но теперь если нажать кнопку "Ок", то он не подгружает правильный запрос. Всегда подгружает предыдущий запрос.
Старый 09.05.2013, 11:59   #3  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от kit22 Посмотреть сообщение
Исправилось, если нажимать "Отмена" на диалоге, но теперь если нажать кнопку "Ок", то он не подгружает правильный запрос. Всегда подгружает предыдущий запрос.
Не пойму какого поведения Вы хотите добиться. Распишите по пунктам, как при каких условия должно все работать. Если Вам не нужен предыдущий запрос, просто исключите его из сериализации.
Старый 09.05.2013, 14:46   #4  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
1) Если изменить фильтр по кнопке "Выбрать" (был фильтр1, стал фильтр2) и потом нажимать кнопку "ОК" на диалоге, то работало бы как обычно (при следующем открытии диалога и нажатии кнопки "выбрать" подгружался фильтр 2) - сейчас все нормально работает.
2) Но если изменить фильтр по кнопке выбрать(был фильтр1, стал фильтр2), а потом нажать кнопку "Отмена" на диалоге, то при следующем открытии диалога и нажатии кнопки "выбрать" подгружался фильтр1. - сейчас подгружает фильтр2.
Старый 09.05.2013, 16:49   #5  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от kit22 Посмотреть сообщение
2) Но если изменить фильтр по кнопке выбрать(был фильтр1, стал фильтр2), а потом нажать кнопку "Отмена" на диалоге, то при следующем открытии диалога и нажатии кнопки "выбрать" подгружался фильтр1. - сейчас подгружает фильтр2.
У меня так и работает, т.е. после повторного открытия диалога подгружается фильтр 1.
Попробуйте для начала почистить sysLastValue, возможно, у вас там в процессе всех этих манипуляций образовалась какая-нибудь "каша".
Если не поможет, то проверьте как у Вас происходит инициализация queryRun. Принцип должен быть следующий:
1. Объявите в classDeclaration переменную queryRun
X++:
SysQueryRun     queryRun;
2. Методы pack и unpack должны выглядеть следующим образом:
X++:
public container pack()
{
    ;
    return [#CurrentVersion,#CurrentList,queryrun.query().pack()];
}
public boolean unpack(container _packedClass)
{
    Version     version = RunBase::getVersion(_packedClass);
    container   packedQuery;
    ;

    switch (version)
    {
        case #CurrentVersion :
            [version, #CurrentList, packedQuery] = _packedClass;
            if (packedQuery)
            {
                queryRun = new SysQueryRun(packedQuery);
                queryRun.promptLoadLastUsedQuery(false);
            }
            break;

        default:
            return false;
    }
    return true;
}
3. Реализуйте метод initParmDefault
X++:
public void initParmDefault()
{
    ;
    this.initQuery();

    super();
}
4. Метод initQuery должен иметь примерно следующий вид:
X++:
protected void initQuery()
{
    Query   query = new Query();
    ;

    query.addDataSource(tablenum(EmplTable));
    queryRun = new SysQueryRun(query);
    queryRun.promptLoadLastUsedQuery(false);
}
5. Перекройте метод queryRun:
X++:
public QueryRun queryRun()
{
    ;
    return queryRun;
}
Должно все работать как Вы описали
Старый 09.05.2013, 18:10   #6  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
Спасибо, работает!
Теги
ax2009, runbase

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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