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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.02.2008, 18:19   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Трамплин в код из инфолога (SysInfoAction_Editor)
Почитываю книгу Microsoft Dynamics AX 4.0 (на русском языке). Выборочно, отдельными главами. Недавно прочитал 14-ю - "Отражение". После прочтения в голове хорошо и понятно выстроились все 3 API (UtilElements, Dict... и TreeNode AOT), которые раньше постигал урывками и бессистемно. Признаться, совсем доселе не приходилось возиться с UtilElements, а тут набросал джобик, повыводил в инфолог всякие списки последних модифицированных объектов - хорошо!

А если учесть, что недавно также открыл для себя возможности SysInfoAction, то возникло несколько строк кода, выполняющих довольно полезную функцию.

У меня есть несколько джобов, предназначенных для нужд конкретных пользователей по конкретным задачам, причем для удобства распознавания я включаю (вкратце) фамилию пользователя и название задачи в идентификатор джоба. И вот мне нужно было посмотреть какие изменения были внесены за последний месяц в джобы для пользователя Ивановой:
X++:
static void Job_Unsorted_8229(Args _args)
{
    UtilElements    utilElements;
;
    while select Name from utilElements
        where utilElements.RecordType == UtilElementType::Job
           && utilElements.Name like '*Ivanova*'
           && utilElements.ModifiedDate >= today()-30
    {
        info( utilElements.Name, '',
              SysInfoAction_Editor::newOpen( strfmt(@'\Jobs\%1', 
                                             utilElements.Name ) ));
    }
}
Приведенный код вывел мне в инфолог фактически меню-навигатор: список нужных мне в данный момент джобов и возможность двойным щелчком открыть любой из них в редакторе кода.

P.S. По поводу буквального перевода "отражения" (reflection). Вроде, в отечественной литературе по Java, о тесном родстве с которой принято говорить при упоминании об X++, имеется устойчивый, обычно непереводимый, термин "рефлексия" (из серии: "файл", а не "реестр", "подшивка", "напильник"...). Ну, да ладно, "отражение" тоже понятно

P.S. от 08.12.2008. Версия джоба с использованием формы запроса:
X++:
static void Job_Unsorted_8229_Query(Args _args)
{
    UtilElements            utilElements;
 
    Query                   query = new Query();
    QueryBuildDatasource    qbds  = new QueryBuildDatasource() ;
    QueryRun                qr;
    ;
 
    qbds = query.addDataSource(tablenum(UtilElements));
 
    qbds.addRange(fieldnum(UtilElements, RecordType))
        .value(queryValue(UtilElementType::Job));
 
    qbds.addRange(fieldnum(UtilElements, Name))
        .value('*Ivanova*');
 
    qbds.addRange(fieldnum(UtilElements, ModifiedDate))
        .value(strFmt('%1..',date2StrXpp( today()-30 )));
 
    qbds.addSortField(fieldnum(UtilElements, ModifiedDate), 
        SortOrder::Ascending);
 
 
    qr = new QueryRun(query);
 
    // qr.userUpdate(false);
    if (qr.prompt())
    {
        while (qr.next())
        {
            utilElements = qr.getNo(1);
 
            info( strfmt('%1 -- %2', utilElements.ModifiedDate, 
                                     utilElements.Name),
                  '',
                  SysInfoAction_Editor::newOpen( strfmt(@'\Jobs\%1',
                                                 utilElements.Name) ));
        }
    }
}
Теги
excel, rls, полезное, blog, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dax-lessons: Generate XML Documentation Files for a project - DAX 2009 Blog bot DAX Blogs 0 08.08.2008 19:06
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
Kashperuk Ivan: AxPaint - make your DAX look cool :) Blog bot DAX Blogs 0 26.06.2007 21:00
Kashperuk Ivan: (DAX 3.0) SysExportDialog form extension Blog bot DAX Blogs 1 15.05.2007 19:16
Kashperuk Ivan: Two very useful projects for DAX Blog bot DAX Blogs 0 20.04.2007 01:14

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

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

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