Как мне кажется, лучше сделать через menuFunction - на кнопке в форме перекрыть метод clicked() и добавить примерно следующий код:
X++:
void clicked()
{
MenuFunction menuFunction;
Args args = new Args();
args.record( );
args.caller(element);
args.parmEnumType(typeid(NoYes);
args.parmEnum(CheckBox.checked());
menuFunction = new menuFunction(menuItemActionStr( ), MenuItemType::Action);
menuFunction.run(args);
}
В классе создаем метод, объявив переменную Args в ClassDeclaration:
X++:
Args parmArgs(Args _args = args)
{
;
args = _args;
return args;
}
В main'e вызываем
и уже в том месте, где нужно принять решение о типе печатаемого отчета, делаем нужные проверки:
X++:
if (args.parmEnum() && args.parmEnumType() == typeId(NoYes) )
{
if (args.parmEnum() == NoYes::Yes)
{
}
else
{
}
}
Это общая картина возможных действий.