В руководстве разработчика дается самый прямой способ.
Ключевые слова "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>
|