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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.02.2013, 23:20   #1  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Предача параметров формы класс Args
Dynamics AX 2009
Ядро 5.0.1500.2985
SP 1

Идея такова:
На первой форме грид с данными и кнопка редактировать которая открывает модальное окно(Форма 2) для редактирования текущей записи грида формы.

Подскажите как передать текущую строку с DataSource 1- ой формы на 2 форму я прочитал в этой теме Обсуждение подобной темы как пытаются получить текущую запись на 2- ой форме но так и не понял как ее вообще передать с первой.

Я передаю параметры в форму по нажатию кнопки:
X++:
void clicked()
{
    Args args = new Args();
    FormRun EditCashOrder;
    str formName = formStr(EditCashOrder);
    ;

    args.name(formName);
    args.caller(element);

    EditCashOrder = classFactory.formRunClass(args);

    EditCashOrder.run();
    EditCashOrder.init();

    EditCashOrder.wait();

    CashTable_ds.executeQuery();

}
Старый 06.02.2013, 23:59   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Всё просто. В args есть специальное свойство для хранения данных типа табличная запись - это args.record(). На передающей стороне заполняем это свойство, а на принимающей читаем.
X++:
void clicked()
{
    Args args = new Args();
    FormRun EditCashOrder;
    str formName = formStr(EditCashOrder);
    ;

    args.name(formName);
    args.caller(element);
    args.record(< >); // <<-- 

    EditCashOrder = classFactory.formRunClass(args);

    EditCashOrder.run();
    EditCashOrder.init();

    EditCashOrder.wait();

    CashTable_ds.executeQuery();

}
В методе init() второй формы:
X++:
...
super();

< > = this.args().record(); // <<--

Каким образом дальше использовать полученный на второй форме курсор - это уже другой вопрос. Я бы создал на второй форме такой же датасорс как и на первой, и отфильтровал бы его по RecId текущей записи.
За это сообщение автора поблагодарили: Pat4kord (1).
Старый 07.02.2013, 10:15   #3  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
либо сделайте проще:
1. сделайте форме 2 менюитем
2. перетащите этот менюитем на форму 1
3. в свойствах созданной по менюитему кнопки укажите нужный датасорс
4. с открытой формы 1 открываете форму 2 и все
Старый 07.02.2013, 10:22   #4  
Pat4kord is offline
Pat4kord
Участник
 
23 / 10 (1) +
Регистрация: 13.01.2013
Адрес: Россия
Сделал вторым предложенным вариантом все работает, еще раз всем огромное спасибо, у DAX- а просто отличное сообщество.
Теги
args, класс, передача параметров

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
С Формы в Класс FridmanV DAX: Программирование 26 18.04.2012 16:46
Передать временную таблицу из формы в класс Eldar9x DAX: Программирование 26 20.06.2008 19:09
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
Как получить параметры в класс из формы, созданной классом. BEPECK DAX: Программирование 9 07.02.2005 14:14
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:01.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.