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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.05.2007, 11:08   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Как вызвать метод для поля в FormDataSource?
Допустим, есть форма и есть класс, в который эта форма передается. Например, возьмем форму LedgerJournalTransDaily и добавим на нее кнопку, которая будет вызывать наш класс (соответственно, в класс у нас будет передан объект FormRun через args.caller()). Как из этого класса вызвать метод, который определен на поле в FormDataSource. Например, как вызвать метод validate() поля LedgerJournalTrans.Txt? Казалось бы, должно работать вот так:
X++:
formRun.dataSource(identifierStr(LedgerJournalTrans))
       .object(fieldNum(LedgerJournalTrans, Txt).validate()
Но нет. Вызывается только метод validateField() таблицы LedgerJournalTrans, а метод, определенный на форме, игнорируется.

Будут идеи?

P.S.: AX 3.0 SP5 KR3
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me

Последний раз редактировалось Maxim Gorbunov; 08.05.2007 в 11:12.
Старый 08.05.2007, 11:15   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Вот пример для проверки:
X++:
static void Job1(Args _args)
{
    FormRun formRun = new FormRun(new Args(formStr(LedgerJournalTable)));
    ;
    formRun.init();
    formRun.run();

    formRun.dataSource(identifierStr(LedgerJournalTable))
           .object(fieldNum(LedgerJournalTable, JournalName)).validate();

    formRun.wait();
}
В общем, задача - вызвать из этого джоба метод validate(), определенный для поля JournalName на форме LedgerJournalTable.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 08.05.2007, 11:24   #3  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
У меня сработало:

X++:
object = formRun.dataSource(identifierStr(LedgerJournalTable))
           .object(fieldNum(LedgerJournalTable, JournalName));
object.validate();
За это сообщение автора поблагодарили: Maxim Gorbunov (2), Logger (2).
Старый 08.05.2007, 11:28   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
О, спасибо! Так работает.

Все-таки дурацкая это привычка, длинные строки писать.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
ax3.0, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Вызвать modified поля датасорса axaLearner DAX: Программирование 9 25.05.2006 11:18
метод leave у поля диалога? braathe DAX: Программирование 5 26.01.2006 09:23
Как вызвать нужный метод класса? Pawlik DAX: Программирование 5 12.01.2006 15:47
Как вызвать метод на COMVariant? Andronov DAX: Программирование 2 06.08.2003 08:29

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

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

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