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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.08.2013, 09:25   #1  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Передача нескольких строк в класс
Всем доброго дня.
На форме есть Grid. В Grid выделяю три строки. На форме есть кнопка, на неё повесит menuItem, указал DataSource. MenuItem вызывает класс. Как в классе обработать именно те три строки которые я выделил в Grid?
пробовал
X++:
public static void main(Args args)
{
    SalesTable  salesTable;    
    ;
    salesTable           = args.record();
   
    while select salesTable
    {
        info (salesTable.SalesId);
    }
}
он мне выводит все номера заказов которые есть в salesTable
Старый 30.08.2013, 09:50   #2  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
сделал
X++:
public static void main(Args args)
{
    SalesTable  salesTable;
    Common              record;
    FormDataSource      recordDataSource;
    int i;
    ;
    record            = args.record();

    if (record)
        recordDataSource  = args.record().dataSource();
    for (salesTable = recordDataSource.getFirst(true) ? recordDataSource.getFirst(true) : args.record();
         salesTable; salesTable = recordDataSource.getNext())
    {
        info (salesTable.SalesId);
    }
}
получилось именно то что и хотел.
Прошу простить если кого-то отвлек.
За это сообщение автора поблагодарили: mazzy (2).
Старый 30.08.2013, 10:42   #3  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Столкнулся дальше с проблемой. Есть класс PurchCreateFromSalesOrder. Он вызывается при создании заказа на покупку из заказа на продажу. Изначально можно было выделить только один заказ на продажу, я сделал мультиселект и хочу вызывать класс для каждой из выделенных строк.
X++:
menuFunction = new menufunction(menuitemActionStr(PurchCreateFromSalesorderSales), menuitemtype::Action);

    if (record)
        recordDataSource  = args.record().dataSource();
    for (salesTable = recordDataSource.getFirst(true) ? recordDataSource.getFirst(true) : args.record();
         salesTable; salesTable = recordDataSource.getNext())
    {
        _args.record(salesTable);  // на этой строке вываливает в дебагер
        _args.menuItemName(menuFunction.name());
        _args.menuItemType(menuFunction.type());
        menuFunction.run(_args);
    }
подскажите что делаю не так?

Последний раз редактировалось smailik; 30.08.2013 в 11:27.
Старый 30.08.2013, 11:17   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Переменная _args проинициализирована?
X++:
_args = new Args();
За это сообщение автора поблагодарили: smailik (1).
Старый 30.08.2013, 11:28   #5  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
блин, нет не проинициализирована
сейчас все заработало
окончательный вариант
X++:
public static void main(Args _args)
{
    SalesTable          salesTable;
    Common              record;
    Args                args = new Args();
    FormDataSource      recordDataSource;
    menuFunction menuFunction;
    int i;
    ;
    record            = _args.record();

    menuFunction = new menufunction(menuitemActionStr(PurchCreateFromSalesorderSales), menuitemtype::Action);

    if (record)
        recordDataSource  = _args.record().dataSource();
    for (salesTable = recordDataSource.getFirst(true) ? recordDataSource.getFirst(true) : _args.record();
         salesTable; salesTable = recordDataSource.getNext())
    {
        args.record(salesTable);
        args.menuItemName(menuFunction.name());
        args.menuItemType(menuFunction.type());
        menuFunction.run(args);
    }
}

Последний раз редактировалось smailik; 30.08.2013 в 11:31.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AIF или свой класс rDenis2 DAX: Программирование 2 27.05.2011 12:34
Как создать обработку для нескольких строк? ski DAX: Программирование 6 16.11.2010 10:13
Вставка нескольких строк из шаблона Excel breakpoint DAX: Программирование 2 04.06.2009 15:31
Передача datasource формы в класс Yprit DAX: Программирование 2 06.10.2004 14:00
Передача нескольких временных таблиц в отчет Pegiy DAX: Программирование 5 03.06.2004 17:44

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

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

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