|
|
#1 |
|
Участник
|
открытие формы из кода X++
FormRun form;
; form=ClassFactory.formRunClass(new Args(formstr(имя формы))); form.init(); form.run(); form.detach(); Потратил час чтоб найти,может кому пригодиться
|
|
|
|
| This post has been rated by: rusalaudinov (1), Alexx7 (1). | |
|
|
#2 |
|
Axapta
|
А ведь достаточно было просто зайти в Developers Guide...
Zitat:
Constructing a form from your X++ code
When you construct a form from your X++ code, you must use the system classes. Your code lines should look similar to the following form = ClassFactory.FormRunClass(formstr(CustTable)); form.init(); form.run(); ClassFactory is an object of the class xClassFactory that holds the method FormRunClass that returns a new FormRun object. The idea of using this indirection is to make it possible to inherit the FormRun class and override selected methods to change the behavior of the form executor. Subsequently, you can have all forms in the system executed with the new class instead of the ordinary FormRun by supplying the inherited class in the FormRunClass() method. The system constructs all forms activated from the Application Object Tree using the xClassFactory. |
|
|
|
|
#3 |
|
Участник
|
Я вас понял,спасибо.
Но сделаем небольшой акцент на эту строчку X++: form.detach(); |
|
|
|
|
#4 |
|
Axapta
|
Не "не откроется", а "откроется и закроется".
|
|
|
|
|
#5 |
|
Axapta
|
Ну и еще. Не забывайте про поиск по форуму.
![]() почему форма сразу закрывается ? Вызов формы из сода X++ Вызов формы из класса Запуск формы И снова как закрыть форму? Вызов формы ... PS Я это не к тому, что вы тему зря создали. Не поймите неправильно. Я подсказываю, как не тратить час времени на подобные вопросы. |
|
|
|
|
#6 |
|
Боец
|
Zitat:
form.wait(); или form.detach(); В 1м случае, выполнение кода остановится на строке form.wait() до тех пор, пока вызываемую форму пользователь не закроет. Используется, когда нельзя закрывать вызывающую форму, пока не закроется вызываемая. Во 2м случае - форма вызывается в "Отвязанном" режиме, и строка form.detach(); не препятствует дальнейшему выполнению кода. |
|
|
|
| This post has been rated by: Logger (2), Максим Gall (1). | |
|
|
#7 |
|
Участник
|
Zitat:
никогда не вызывайте формы через classfactory. в этом случае вы теряете возможность контроля прав доступа на форме. вызывайте только через menuItem. |
|
|
|
| This post has been rated by: oip (1). | |
| Stichworte |
| menuitem, запуск, как правильно, открыть форму, программно, форма |
|
|
Ähnliche Themen
|
||||
| Thema | Antworten | |||
| Открыть дизайн формы в режиме Edit из кода | 11 | |||
| Открытие формы с MouseDoubleClick из другой формы | 18 | |||
| Открытие формы из класса | 2 | |||
| Программное открытие формы строк журнала переноса | 13 | |||
| Русская локализация Axapta 3 ? | 59 | |||
|