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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.03.2011, 19:26   #1  
zipo is offline
zipo
Участник
 
32 / 23 (1) +++
Регистрация: 16.05.2006
Кто столкнется с такой же проблемой, то сделал такой солюшен:

В класс RunBaseReportStd добавляем такой метод
X++:
public void dialogPostRun(DialogRunbase dialog)
{
    ;
    super(dialog);
    reportRun._dialogPostRun(dialog);
}
В класс SysReportRun добавляем такой метод
X++:
public void _dialogPostRun(DialogRunbase dialog)
{
    ;
    if (this.reportHasMethod(methodstr(RunbaseReportStd, dialogPostRun)))
    {
        this.thisObject().dialogPostRun(dialog);
    }
}
Хоть это и изменение стандартных классов, ни к чему страшному это не приведет. Это просто добавление того функицонала который почему-то забыли сделать в стандартном RunBaseReportStd фрейм ворке, что бы включить функцию оверлоадинга

Дальше идет по обычной схеме, хотя она немного изменена:
Добавляем следующий метод в наш репорт:
X++:
public Object dialogPostRun(DialogRunbase _dialog)
{
    ;
    _dialog.formRun().controlMethodOverload(true);
    _dialog.formRun().controlMethodOverloadObject(dialogEvents);

    return _dialog;
}
dialogEvents - это экземпляр класса, который я инициализирую в репорте на init методе. Почему так каряво? Потому как обычный this или element не работает, скорее всего на оверлоадинг умеет проверять наличие метода только у класса. Поэтому нужен именно класс.

В классе dialogEvents у меня есть метод
X++:
boolean DateRange_modified()
{
    ;
    info("111");
    return true;
}
Где DateRange имя моего поля, метод прекрасно срабатывает на изменение этого поля, поэтому можно все обработать, т.к. легко сделать этому классу доступ к репорту.
Солюшен может показаться с подвыпердоворотом, но он надежен и исполняет свою функцию.
За это сообщение автора поблагодарили: Raven Melancholic (2), Arahnid (3).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Использование формы в качестве диалога vs создание диалога программно Lucky13 DAX: Программирование 3 30.05.2008 13:09
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
метод leave у поля диалога? braathe DAX: Программирование 5 26.01.2006 09:23
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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