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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.07.2007, 15:32   #1  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
? OPenForm
Ребята, как можно сделать, открываю форму
X++:
client static void openForm(Str words)
{
  FormRun fr;
  fr = classFactory.formRunClass(new Args(words));
  fr.init();
  fr.run();
  fr.detach();

}
как можно дожидаться,открылся ли форма, до полного открытия,а то некоторые формы долго открывается, после открытия далее идем....
Старый 23.07.2007, 15:43   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
не запускайте форму вручную через classFactory.
открывайте через menuItem.

menuItem помимо всего прочего контролирует и права пользователя.
Если вы открываете вручную, то за security ключами должны следить сами.

Как правильно открывать формы читайте в руководстве разработчика и в Best Practice.
__________________
полезное на axForum, github, vk, coub.
Старый 23.07.2007, 16:01   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Чтобы быть конструктивным:
поиск дает следующее Как открыть форму
если уж очень хочется через classFactory, то Kashperuk Ivan: Dynamics AX Tutorials - Tutorial 2 - Classes\Box
__________________
полезное на axForum, github, vk, coub.
Старый 23.07.2007, 16:02   #4  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
fr.wait()
Старый 23.07.2007, 16:12   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Daido Посмотреть сообщение
Ребята, как можно сделать, открываю форму

как можно дожидаться,открылся ли форма, до полного открытия,а то некоторые формы долго открывается, после открытия далее идем....
После выполнения метода run() форма уже открыта, поэтому непосредственно после этого метода Вы можете вставлять требуемые вызовы (Ctrl + N, Tab и т.д., что там еще нужно)
Старый 23.07.2007, 16:40   #6  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
:)
Цитата:
Сообщение от kashperuk Посмотреть сообщение
После выполнения метода run() форма уже открыта, поэтому непосредственно после этого метода Вы можете вставлять требуемые вызовы (Ctrl + N, Tab и т.д., что там еще нужно)
но не известно сколько сек.или мин.будет открываться форма,зависимости от производительности компьютера и какая форма, например PurchCreateOrder
Старый 23.07.2007, 16:51   #8  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
А что возвращает курсор, когда форма уже открылась? Может необходимо дождаться, пока будет возвращено значение? Или курсор начинает перебор значений до окончательного открытия? (извините, ежели что, за глупые вопросы)
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 24.07.2007, 11:03   #9  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
? ну как,есть ещё предложении
X++:
FormRun fr;
    ;

    fr = classFactory.formRunClass(new Args(words));
    fr.init();
    fr.run();
    fr.wait(true);
    return fr;
    fr.detach();

Последний раз редактировалось Daido; 24.07.2007 в 14:43.
Старый 26.07.2007, 12:23   #10  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
?
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
А что возвращает курсор, когда форма уже открылась? Может необходимо дождаться, пока будет возвращено значение?
KiselevSA, привет, ответь пож-ста,
1.Что возвращает курсор, когда форма уже открыта?
2. Как это дождаться, пока будет возвращено значение
Может и глупый вопрос,но я не знаю (горькая правда)
Старый 26.07.2007, 13:25   #11  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Ну не программист я Насколько я понял, эта приблуда Вам нужна для автоматического тестирования. Есть тупой вариант, который могу предложить:
1 считываем RecId записи в форме и, если не пусто, сохраняем в OldRecId;
2 ждем короткое время;
3 считываем RecId;
4 если RecId не пустой и не равен OldRecId сохраняем его в OldRecId и переходим к шагу 2
5 если RecId пустой или равен OldRecId считаем форму открывшейся
Метод упихиваем в Global и используем везде, где необходимо дождаться открытия формы.
Хотя, мне кажется, у местных гуру может быть более элегантный метод )))
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 27.07.2007, 07:34   #12  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
Cool аффигеть :rolleyes:
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
Ну не программист я Насколько я понял, эта приблуда Вам нужна для автоматического тестирования. Есть тупой вариант, который могу предложить:
1 считываем RecId записи в форме и, если не пусто, сохраняем в OldRecId;
2 ждем короткое время;
3 считываем RecId;
4 если RecId не пустой и не равен OldRecId сохраняем его в OldRecId и переходим к шагу 2
5 если RecId пустой или равен OldRecId считаем форму открывшейся
Метод упихиваем в Global и используем везде, где необходимо дождаться открытия формы.
Хотя, мне кажется, у местных гуру может быть более элегантный метод )))
и она говорить, что не программист...дам мне нужен для автоматического тестирования (и тут угадала)
 


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

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

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