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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.01.2004, 17:01   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
В руководстве разработчика дается самый прямой способ.
Ключевые слова "Activating a menu item from your X++ code"

<div class='XPPtop'>X++</div><div class='XPP'>[color=:blue]client[/color] [color=:blue]void[/color] formOpen()
{
   FormRun         formRun;
   Args               args = [color=:blue]new[/color] Args();
 ;

[color=:green]// Generate parameters
[/color][color=:green]//    args.record(...somthing...);
[/color][color=:green]//    args.parmobject(...somthing...);
[/color]
[color=:green]// Perform a test on the type journal
[/color]    formRun = [color=:blue]new[/color] MenuFunction([color=:blue]menuItemDisplayStr[/color](CustOpenTrans), MenuItemType::[color=:blue]Display[/color]).create(args);
   [color=:blue]if[/color] (formRun)
   {
[color=:green]// Run the form and wait until the form is closed.
[/color]        formRun.run();
       formRun.wait();
   }
}</div>

А так вызывается отчет.
<div class='XPPtop'>X++</div><div class='XPP'>[color=:blue]void[/color] [color=:blue]print[/color]()
{
   MenuFunction menuFunction;
   Args args = [color=:blue]new[/color] Args();
;
   menuFunction = [color=:blue]new[/color] MenuFunction([color=:blue]MenuItemOutputStr[/color](SysInfoLog), MenuItemType::Output);
   args.caller(this);
   menuFunction.run(args);
}</div>
__________________
полезное на axForum, github, vk, coub.
Старый 02.02.2004, 13:44   #2  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
А вот так можно открыть форму не используя MenuFunction:
<div class='XPPtop'>X++</div><div class='XPP'>
FormRun f = [color=:blue]new[/color] FormRun([color=:blue]new[/color] Args([color=:red]"CustTable"[/color]));
f.init();
f.run();
f.wait();</div>
Старый 10.02.2004, 11:59   #3  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Век живи - век учись! Перечитав в очередной раз Best Practices понял, что предыдущий мой пост противоречит оному.
Нужно делать так:
<div class='XPPtop'>X++</div><div class='XPP'>
FormRun f = classFactory.formRunClass([color=:blue]new[/color] Args([color=:red]"CustTable"[/color]));
f.init();
f.run();
f.wait();</div>
 


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

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

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