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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.09.2010, 18:00   #8  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
ну и в дагонку методам pick (может кому пригодится )..
в своё время нужны были методы, которые вываливают список EDT, Forms и MainMenu.
т.к. в стандарте таковых не нашел добавил следующие методы в класс Global:

Ax3.0 sp3

1. список EDT:
X++:
static int pickExtDataTypes()
{
    Object      formRun;
    container   names;
    int         i;
    Dictionary  dict = new Dictionary();
    DictType    dictType;
    #ResAppl
    ;

    formRun = classFactory.createPicklist();
    formRun.init();

    for (i=1; i <= dict.typeCnt(); i++)
    {
        dictType = new DictType(dict.typeCnt2Id(i));

        names   += dictType.name();
    }

    formRun.choices(names, #ImageEDT);
    formRun.caption("EDT");
    formRun.run();
    formRun.wait();

    if (formRun.choice())
    {
        return dict.typeName2Id(formRun.choice());
    }

    return 0;
}
2. Список форм.
X++:
static FormName pickForms()
{
    Object      formRun;
    container   names;
    TreeNode    treeNode;
    TreeNode    treeNodeChild;
    #ResAppl
    #AOT
    ;

    treeNode        = TreeNode::findNode(#FormsPath);
    treeNodeChild   = treeNode.AOTfirstChild();

    formRun = classFactory.createPicklist();
    formRun.init();

    while (treeNodeChild)
    {
        names   += treeNodeChild.treeNodeName();

        treeNodeChild = treeNodeChild.AOTnextSibling();
    }

    formRun.choices(names, #ImageForm);
    formRun.caption("Forms");
    formRun.run();
    formRun.wait();

    if (formRun.choice())
    {
        return formRun.choice();
    }

    return '';
}
3. Список пунктов главного меню
X++:
static MenuName pickMenusMain()
{
    Object      formRun;
    container   names;
    TreeNode    treeNode;
    TreeNode    treeNodeChild;
    SysDictMenu dictMenu;
    #ResAppl
    #AOT
    #Admin
    ;

    treeNode        = TreeNode::findNode(#MenusPath + '\\' + #MainMenu);
    treeNodeChild   = treeNode.AOTfirstChild();

    formRun = classFactory.createPicklist();
    formRun.init();

    while (treeNodeChild)
    {
        dictMenu    = SysDictMenu::newMenuName(#MainMenu + '\\' + treeNodeChild.treeNodeName());
        names      += dictMenu.label();

        treeNodeChild = treeNodeChild.AOTnextSibling();
    }

    formRun.choices(names, #ImageMenuMain);
    formRun.caption("MainMenu");
    formRun.run();
    formRun.wait();

    if (formRun.choice())
    {
        return formRun.choice();
    }

    return '';
}
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: TasmanianDevil (4).
Теги
ax3.0, ax4.0, lookup, lookupfield, полезное, программно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить имена полей, которые есть у таблицы? 3oppo DAX: Программирование 2 22.12.2006 14:30
Свойство AllowEdit полей таблицы Lucky13 DAX: Программирование 4 29.07.2005 14:14
Список полей таблиц на базе конкретного EDT Владимир Максимов DAX: Программирование 10 06.10.2004 14:45
Изменение ID-ов полей таблицы somebody DAX: Программирование 5 02.02.2004 19:57
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08

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

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

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