Показать сообщение отдельно
Старый 16.05.2013, 00:56   #19  
Kabardian is offline
Kabardian
Талантливый разгвоздяй
Аватар для Kabardian
 
424 / 338 (12) ++++++
Регистрация: 14.12.2008
Адрес: Москва
Записей в блоге: 14
Дополню тему
Статья на Аксаптапедии про передачу параметров наглядно иллюстрирует как передавать и принимать параметры используя Args.

В дополнение к статье. На формах для запуска форм и отчетов обычно используются пункты меню в виде контрола MenuItemButton. Как в таком случае передать параметры из вызывающей формы в вызываемую форму или отчет? Для этого на вызывающей форме на кнопке MenuItemButton необходимо перекрыть метод Clicked, в методе Clicked необходимо вернуть экземпляр объекта MenuFunction кнопки, а уже на объекте MenuFunction вызвать метод Run с предварительно инициализированными параметрами Args и удалить вызов super().

Образец:
X++:
void clicked()
{
    Args    args;
    ;

    args = new Args();
...
// передача параметров объекту Args
...
    this.menufunction().run(Args); //возвращается объект MenuFunction кнопки --> на объекте MenuFunction вызывается метод Run с параметрами Args
}
Пример из формы EmplSettlement_RU, метод Clicked кнопки SettledTransCredit (AX 2009 RU6):
X++:
void clicked()
{
    Args args = new Args();
    ;
    args.parmEnumType(enumnum(NoYes));
    args.parmEnum(NoYes::Yes);
    args.record(emplSettlementView);
    this.menufunction().run(args);
}
За это сообщение автора поблагодарили: S.Kuskov (3), Alucardkds (1), MerkurievV (0).