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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2016, 12:22   #4  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Приветствую!

Можно попробовать следующее:

Создайте новый метод в своём Interaction классе, который выполнится вместо оригинального метода clicked():
X++:
void info1(FormButtonControl _formButtonControl)
{    
    _formButtonControl.clicked(); // super()
    
    info('1'); // some code added just for example
}
В этом методе вы можете выполнить super() вызвав оригинальный не перекрытый метод clicked()
X++:
_formButtonControl.clicked();
Также можете добавить свой код куда необходимо.

После этого на initialized() методе Interaction класса написать что-то вроде:

X++:
Common         externalRecord;
FormDataSource formDS;
FormRun        formRun;
FormButtonControl  formButtonControl;

super();

externalRecord = this.listPage().activeRecord(identifierStr(<YourDSName>));

if(externalRecord.isFormDataSource())
{
    formDs   = externalRecord.dataSource();
    formRun = formDs.formRun();

    if (formRun)
    {
        formButtonControl = formRun.design().controlName(formControlStr(<YourFormName>,<YourButtonControlName>));

        if(formButtonControl)
        {
            formButtonControl.registerOverrideMethod(
                methodStr(FormButtonControl,clicked), // метод кнопки, который хотите перекрыть
                methodStr(<YourClassInterationName>, info1),          // метод, который будет вызван
                this);                 // экземпляр класса, который содержит указанный выше метод[
        }
    }
}

Последний раз редактировалось Cardagant; 01.10.2016 в 12:29.
 


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

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

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