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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2010, 17:03   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Я тоже как-то задавался одним вопросом о FormObjectSet. Вот в этой ветке Вопрос по InventJournalTrans_ds.getNext()
Это не ответ на ваш вопрос, но тоже заставляет задуматься
Старый 20.09.2010, 17:39   #2  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Класс FormObjectSet, являющийся наследником класса Object, предоставляет базовый функционал для работы с датасоурсами формы. В свою очередь, класс FormDataSource, который является наследником класса FormObjectSet, обладает более широким спектром методов для работы с датасоурсами формы (см. SystemDocumentation), помимо этого класс FormDataSource используется для определения специфики взаимозвязей таблицы датасоурса формы с другими датасоурсами(таблицами), отображаемыми на форме.

Источник: http://msdn.microsoft.com/en-US/library/aa629025.aspx
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 20.09.2010 в 17:58.
Старый 21.09.2010, 08:42   #3  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Цитата:
Сообщение от samolalex Посмотреть сообщение
Класс FormObjectSet, являющийся наследником класса Object, предоставляет базовый функционал для работы с датасоурсами формы. В свою очередь, класс FormDataSource, который является наследником класса FormObjectSet, обладает более широким спектром методов для работы с датасоурсами формы (см. SystemDocumentation), помимо этого класс FormDataSource используется для определения специфики взаимозвязей таблицы датасоурса формы с другими датасоурсами(таблицами), отображаемыми на форме.

Источник: http://msdn.microsoft.com/en-US/library/aa629025.aspx
Оба метода возвращают объекты одно и того же типа - FormObjectSet.
Старый 21.09.2010, 10:16   #4  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Как я понимаю, применение методов objectSet()и dataSource() позволяет инициализировать объекты соответствующих классов FormObjectSet и FormDataSource согласно стандартам, определенным в Axapta (Best Practices). Конечно, можно инициализировать экземпляр класса FormDataSource при помощи метода objectSet, но это уже будет не столь корректно. Пример из книги Стина Андресена:
X++:
formDataSource = lookupFormRun.objectSet();
Но правильным решением, судя по всему, является приведенное ниже использование вышеуказанных методов (код взят с http://msdn.microsoft.com/en-us/library/aa885180.aspx).

Метод dataSource:
X++:
...
FormRun formRun;
FormDataSource formDataSource;
;
...
// Create the run-time form.
    formRun = new FormRun(Args);
    formRun.run();
    formRun.detach();

    // Return an object for the first data source,
    // and then display a query form.
    formdatasource = formRun.dataSource(1);
    formdatasource.prompt();
...

Таким образом, метод prompt() доступен только для объекта класса Formdatasource:
Цитата:
This method has no functionality in the FormObjectSet class. It is overridden by the FormDataSource.prompt method, which activates the standard form used to limit a query range: SysQueryForm.

Метод objectSet:
X++:
...
FormRun formRun;
FormObjectSet formObjectSet;
;
...
// Create a run-time form.
    formRun = classfactory.formRunClass(args);
    formRun.run();
    formRun.detach();

    formObjectSet = formRun.objectSet(1);
...
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 21.09.2010 в 10:26.
За это сообщение автора поблагодарили: S.Kuskov (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как у кнопки динамически поменять DataSource ? Poleax DAX: Программирование 4 06.09.2010 17:45
C# and AX Development: Updating the caller Form/DataSource Blog bot DAX Blogs 0 18.07.2009 02:28
Обновление таблицы в DataSource при ее изменении Андре DAX: База знаний и проекты 7 22.04.2008 13:16
axaptafreak: Getting new table fields into your form datasource Blog bot DAX Blogs 2 24.01.2008 22:51
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08

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

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

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