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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.02.2009, 12:54   #1  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Angry Не пойму что с диалогом-формой...
Всем доброго времени суток!
Столкнулся с проблемой, создал диалоговую форму, которая вызывается из разных классов. Всё нормально работает, НО при вызове этой формы из одного определенного класса не работает кнопка отмена т.е. нажимаешь отмену, а действие продолжает выполняться как будто нажали ОК, не могу понять в чем траблы??

Axapta 3.0 SP3
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.02.2009, 14:34   #2  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Опишите как выглядит вызов этой формы из класса, а то так ничего не понятно)
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy
Старый 04.02.2009, 14:44   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от ivas Посмотреть сообщение
Опишите как выглядит вызов этой формы из класса, а то так ничего не понятно)
сорри, вот кусок кода:
X++:
boolean dialogRun()
{
    DialogRunBase           dialog;
    boolean                 ret;
    ;

    dialog = Dialog::newFormnameRunbase(formstr(dm_PersonSignatureDialog),this.runBase());

    ret = dialog.run(); // возвращает true всегда, даже когда нажимаем Отмену

    return ret;
}
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.02.2009, 15:02   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
А почему dialogRun?

см. \Projects\Shared\Tutorial_RunbaseForm
Старый 04.02.2009, 15:10   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от DSPIC Посмотреть сообщение
А почему dialogRun?

см. \Projects\Shared\Tutorial_RunbaseForm
Это учебное пособие знаю там используется dialog() runBase-а.
Я же вызываю диалог без него. Т.е. формирую диалог не внутри runBase, а свой.
Думаю конечно что в этом где то проблемма, а где, не пойму
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.02.2009, 15:12   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
В остальных классах где диалог наследуется от RunBase и в нем выполняется формирование по форме (как в tutorial) всё нормально работает.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.02.2009, 15:13   #7  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
? OnServer
Цитата:
Сообщение от lev Посмотреть сообщение
сорри, вот кусок кода:
X++:
boolean dialogRun()
{
    DialogRunBase           dialog;
    boolean                 ret;
    ;

    dialog = Dialog::newFormnameRunbase(formstr(dm_PersonSignatureDialog),this.runBase());

    ret = dialog.run(); // возвращает true всегда, даже когда нажимаем Отмену

    return ret;
}
Возможно у вас метод класса dialogRun() вызывается на стороне сервера (посмотрите под debug'ером) - в этом случае диалоговая форма отображается на клиенте, а результат вызова сохраняется в свойстве dialogProperties.value(#closedOk).

Попробуйте такой вариант вызова:
X++:
    ...
    dialog.run();
    ret = dialog.closedOk() ;
    ...
За это сообщение автора поблагодарили: lev (1).
Старый 04.02.2009, 15:19   #8  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Thumbs up
Цитата:
Сообщение от petergunn Посмотреть сообщение
Возможно у вас метод класса dialogRun() вызывается на стороне сервера (посмотрите под debug'ером) - в этом случае диалоговая форма отображается на клиенте, а результат вызова сохраняется в свойстве dialogProperties.value(#closedOk).

Попробуйте такой вариант вызова:
X++:
    ...
    dialog.run();
    ret = dialog.closedOk() ;
    ...
А правда была рядом!!! Спасибо огромное! Вопрос закрыт.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
синхронизация работы с формой kitty DAX: Программирование 6 23.06.2008 13:12
Кто работает с формой Antonuch DAX: Программирование 17 12.12.2007 16:31
Проблемы с формой Address flay DAX: Программирование 4 03.10.2006 16:24
Проблема с диалоговой формой Protey DAX: Программирование 16 07.07.2006 14:17
Кто нибудь работал с формой выбора должностных лиц??? vasiliy DAX: Программирование 3 13.01.2005 17:54

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

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

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