21.09.2010, 10:16 | #5 |
Участник
|
Как я понимаю, применение методов objectSet()и dataSource() позволяет инициализировать объекты соответствующих классов FormObjectSet и FormDataSource согласно стандартам, определенным в Axapta (Best Practices). Конечно, можно инициализировать экземпляр класса FormDataSource при помощи метода objectSet, но это уже будет не столь корректно. Пример из книги Стина Андресена:
X++: formDataSource = lookupFormRun.objectSet(); Метод 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). |
|
|