|  23.07.2007, 15:32 | #1 | 
| Участник |  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 | 
| Участник | 
			
			не запускайте форму вручную через classFactory. открывайте через menuItem. menuItem помимо всего прочего контролирует и права пользователя. Если вы открываете вручную, то за security ключами должны следить сами. Как правильно открывать формы читайте в руководстве разработчика и в Best Practice. | 
|  | 
|  23.07.2007, 16:01 | #3 | 
| Участник | 
			
			Чтобы быть конструктивным: поиск дает следующее Как открыть форму если уж очень хочется через classFactory, то Kashperuk Ivan: Dynamics AX Tutorials - Tutorial 2 - Classes\Box | 
|  | 
|  23.07.2007, 16:02 | #4 | 
| Участник | 
			
			fr.wait()
		 | 
|  | 
|  23.07.2007, 16:12 | #5 | 
| Участник | 
			
			После выполнения метода run() форма уже открыта, поэтому непосредственно после этого метода Вы можете вставлять требуемые вызовы (Ctrl + N, Tab и т.д., что там еще нужно)
		 | 
|  | 
|  23.07.2007, 16:40 | #6 | 
| Участник |   Цитата:  и какая форма, например PurchCreateOrder | 
|  | 
|  23.07.2007, 16:41 | #7 | 
| Участник | 
			
			я пас.    | 
|  | 
|  23.07.2007, 16:51 | #8 | 
| Злыдни | 
			
			А что возвращает курсор, когда форма уже открылась? Может необходимо дождаться, пока будет возвращено значение? Или курсор начинает перебор значений до окончательного открытия? (извините, ежели что, за глупые вопросы)
		 
				__________________ люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. | 
|  | 
|  24.07.2007, 11:03 | #9 | 
| Участник |  ну как,есть ещё предложении 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 | 
| Участник |   Цитата: 1.Что возвращает курсор, когда форма уже открыта? 2. Как это дождаться, пока будет возвращено значение Может и глупый вопрос,но я не знаю (горькая правда)   | 
|  | 
|  26.07.2007, 13:25 | #11 | 
| Злыдни | 
			
			Ну не программист я   Насколько я понял, эта приблуда Вам нужна для автоматического тестирования. Есть тупой вариант, который могу предложить: 1 считываем RecId записи в форме и, если не пусто, сохраняем в OldRecId; 2 ждем короткое время; 3 считываем RecId; 4 если RecId не пустой и не равен OldRecId сохраняем его в OldRecId и переходим к шагу 2 5 если RecId пустой или равен OldRecId считаем форму открывшейся Метод упихиваем в Global и используем везде, где необходимо дождаться открытия формы. Хотя, мне кажется, у местных гуру может быть более элегантный метод ))) 
				__________________ люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. | 
|  | 
|  27.07.2007, 07:34 | #12 | 
| Участник |  аффигеть :rolleyes: Цитата: 
		
			Сообщение от KiselevSA
			   Ну не программист я   Насколько я понял, эта приблуда Вам нужна для автоматического тестирования. Есть тупой вариант, который могу предложить: 1 считываем RecId записи в форме и, если не пусто, сохраняем в OldRecId; 2 ждем короткое время; 3 считываем RecId; 4 если RecId не пустой и не равен OldRecId сохраняем его в OldRecId и переходим к шагу 2 5 если RecId пустой или равен OldRecId считаем форму открывшейся Метод упихиваем в Global и используем везде, где необходимо дождаться открытия формы. Хотя, мне кажется, у местных гуру может быть более элегантный метод ))) | 
|  |