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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2007, 11:43   #1  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
Метод main моего класса выглядит так:
X++:
static void main(Args args)
{
    SUG_Change_Dial        sug_ChD = new SUG_Change_Dial();
    ;
// если вызов из формы "Расчеты с клиентами"-"Клиенты"
    if (args.name() == 'CustTable')
    {
       sug_ChD.setCustTable(args);
       sug_ChD.setFormName(args);
       if (sug_ChD.prompt())
       {
          sug_ChD.run();
       }
    }
// если вызов из формы "Расчеты с клиентами"-"Договоры"
    if (args.name() == 'RContractTable')
    {
       sug_ChD.setRContrTable(args);
       sug_ChD.setFormName(args);
       if (sug_ChD.prompt())
       {
          sug_ChD.run();
       }
    }
}
У его предка (RunBase) метод main не перекрыт, поэтому заглянуть туда не могу.
__________________
MBS-Axapta 3.0 CIS SP3
Старый 29.05.2007, 12:13   #2  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от Tiruvileijadal' Посмотреть сообщение
Метод main моего класса выглядит так:
X++:
static void main(Args args)
{
    SUG_Change_Dial        sug_ChD = new SUG_Change_Dial();
    ;
// если вызов из формы "Расчеты с клиентами"-"Клиенты"
    if (args.name() == 'CustTable')
    {
       sug_ChD.setCustTable(args);
       sug_ChD.setFormName(args);
       if (sug_ChD.prompt())
       {
          sug_ChD.run();
       }
    }
// если вызов из формы "Расчеты с клиентами"-"Договоры"
    if (args.name() == 'RContractTable')
    {
       sug_ChD.setRContrTable(args);
       sug_ChD.setFormName(args);
       if (sug_ChD.prompt())
       {
          sug_ChD.run();
       }
    }
}
У его предка (RunBase) метод main не перекрыт, поэтому заглянуть туда не могу.
А что Вам мешает то же самое написать прямо в методе clicked() самой кнопки или в ValidateWrite() и анализироать результат prompt() там же?
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 29.05.2007, 12:51   #3  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
В метод validateWrite() вставила
X++:
       args.caller(element);
       args.record(custTable);
       sug_ch_dial.setCustTable(args);
       sug_ch_dial.setFormName(args);
       if (sug_ch_dial.prompt())
       {
           sug_ch_dial.run();
       }
       else
       {
           ret = false;
       }
, но я не могу узнать - сохраняет он или нет, т.к. при нажатии на принудительное закрытие на форме (крестик, тобиш), опять идет в валидейт и при возврате ret = false не закрывает. Как это обойти?
__________________
MBS-Axapta 3.0 CIS SP3
Старый 29.05.2007, 13:10   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
В classdeclaration класса создайте переменную boolean. И в самый верх Поставьте flag=true. Сделайте метод на классе getflag. И после вашего if (ug_ch_dial.prompt()) проверьте getflag(). Но что то мне подсказывает что вам не это надо. Мне кажется вам надо успешно ли отработал ваш класс или нет. А не нажал кто то на ok или не нажал.
Старый 29.05.2007, 14:32   #5  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от Tiruvileijadal' Посмотреть сообщение
В метод validateWrite() вставила
X++:
       args.caller(element);
       args.record(custTable);
       sug_ch_dial.setCustTable(args);
       sug_ch_dial.setFormName(args);
       if (sug_ch_dial.prompt())
       {
           sug_ch_dial.run();
       }
       else
       {
           ret = false;
       }
, но я не могу узнать - сохраняет он или нет, т.к. при нажатии на принудительное закрытие на форме (крестик, тобиш), опять идет в валидейт и при возврате ret = false не закрывает. Как это обойти?
а почему не сделать примерно так:
X++:
       args.caller(element);
       args.record(custTable);
       sug_ch_dial.setCustTable(args);
       sug_ch_dial.setFormName(args);

ret=sug_ch_dial.prompt();

       if (ret)
       {
           sug_ch_dial.run();
       }
.....
return ret;
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Параметр Maximum buffer size в настройках AOS Bishop DAX: Администрирование 4 15.03.2016 16:49
Как вернуть фокус на форму после вызова infolog? rkorchagin DAX: Программирование 2 07.04.2009 12:59
Как обновить форму, если добавление через кнопку? Arahnid DAX: Программирование 5 21.05.2007 11:18
Можно ли редактировать форму, если на нее наложен addRange? Hans DAX: Программирование 10 22.05.2006 16:35
Как считать параметр? Hidden DAX: Функционал 7 24.05.2005 18:03

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

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

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