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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.02.2004, 15:32   #1  
bolt is offline
bolt
Участник
 
10 / 10 (1) +
Регистрация: 17.02.2004
Возврат параметров из формы
Открываю некоторую диалоговую форму. Как мне передать некоторые параметры из закрываемой формы в вызывающий код?
Старый 17.02.2004, 15:38   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
У формы, если ее действительно вызвал какой-то объект, будет заполнено свойство element.args().caller().
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 17.02.2004, 16:27   #3  
bolt is offline
bolt
Участник
 
10 / 10 (1) +
Регистрация: 17.02.2004
А как передать через Args() какой-нибудь параметр если вызывающий класс статический
А как передать через Args() какой-нибудь параметр если вызывающий класс статический.
Старый 18.02.2004, 10:17   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Вообще-то, мне кажется, что это не очень "по-аксаптовски" - вызывать форму из статического класса. Скорее всего, Вам надо воспользоваться RunBase-шаблоном (про это можно почитать в Development Best Practices Handbook).

И тем не менее... У Args есть несколько разных свойств, которыми можно воспользоваться для передачи параметров:
  • args.parm() служит для передачи строкового (str 250) параметра
  • Через args.parmEnum() можно передать параметр типа enum. Во избежание недоразумений рекомендуется также при этом выставлять значение свойства args.parmEnumType()
  • С помощью args.parmObject() можно передать экземпляр объекта любого класса.
  • В args.record() можно передать буфер со структурой, как у какой-либо таблицы в AOT. args.record() используется ядром для передачи параметров при переходе от одной форме к другой (например, при переходе от формы "Клиенты" к форме "Проводки по клиенту" в args.record() передается выбранная строка таблицы клиенты). По аналогии с args.parmEnumType() есть свойство args.dataset(), которое, как предполагается, должно быть заполнено tableId таблицы, запись из которой записана в args.record().
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 09.03.2006, 22:16   #5  
neys is offline
neys
Участник
 
15 / 9 (1) +
Регистрация: 09.03.2006
Подскажите, пожалуйста, где используется полученная через args.record() строка,
как формируется запрос, исходя из соответствующих значений
Старый 10.03.2006, 00:00   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Добро пожаловать на форум.
Пользуйтесь поиском - мощная штука
http://www.axforum.info/forums/searc...searchid=58985

Вот парочка ссылочек в тему:
Как из формы Form2 обновить записи на форме Form1?
Обращение к datasourse


А используется очень по-разному: для фильтрации, для инициализации полей переданными значениями, работы с датасорсом вызывающим, т.д.
Старый 10.03.2006, 12:07   #7  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
naskolko ponjal vopros, to nebolsoj primer..

Код:
static container prompt( str _caption = "" )
{
    FormRun             fr;
    Args                a = new Args();
    Object              o;
    str                 password;
    boolean             ret;
    ;

    a.name( formstr(SimplePassword) );
    fr = classFactory.formRunClass(a);

    fr.init();
    fr.design().caption(_caption);
    fr.run();
    fr.wait();

    if (fr.closedOk())
    {
        o = fr;
        password = o.getPassword();
        ret = true;
    }
}
Старый 10.03.2006, 12:40   #8  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
ошиибка здесь - fr.wait()
а что вы хоттите получить?
__________________
С уважением, Игорь Ласийчук.
Старый 10.03.2006, 12:47   #9  
neys is offline
neys
Участник
 
15 / 9 (1) +
Регистрация: 09.03.2006
Мне надо ограничить вывод строк (в форме2), исходя из поля текущей строки (в форме1).
DataSource-ы связные.
Старый 10.03.2006, 13:16   #10  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
neys, Forms1_Button = Form2_MenuFunction + Form1_DataSource
http://forum.mazzy.ru/index.php?showtopic=655

PS: moj kod bil kak primer, a ne vopros (tam vse rabotaet OK)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Возврат значений из вызванной формы Oz DAX: Функционал 6 06.04.2004 18:33
Вызов формы, не модифицируя ее заголовка AndrewP DAX: Программирование 1 04.07.2003 14:20
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

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

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

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