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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2010, 14:17   #1  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
TreeNode подгруппы в проекте по полному пути
Всем привет, подскажите как, имея полный путь до группы(она находится в проекте)
"\Projects\TestProject\group"
получить TreeNode этой самой группы

Старый 21.07.2010, 14:36   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Например, так.

X++:
static void FindProjectGroup()
{
    str project = 'TestProject';
    str groupName = 'group';
    ProjectNode node;
    ProjectNode rootNode;
    ProjectNode groupNode;
    TreeNodeIterator treeNodeIterator;

    void getTreeNode(TreeNode _treeNode)
    {
        TreeNode node1;
        TreeNodeIterator treeNodeIterator1 = _treeNode.AOTiterator();

        node1 = treeNodeIterator1.next();
        while(node1)
        {
            if(node1.handle() == classNum(ProjectGroupNode) && node1.AOTname() == groupName)
            {
                info('Нашел!!!');
            }

            node1 = treeNodeIterator1.next();
        }
    }
;
    rootNode = Infolog.projectRootNode();
    treeNodeIterator = rootNode.AOTiterator();

    groupNode = treeNodeIterator.next();
    while(groupNode)
    {
        node = groupNode.AOTfindChild(project);
        if(node)
        {
            node = node.getRunNode();
            getTreeNode(node);

            break;
        }
        groupNode = treeNodeIterator.next();
    }
}
Это просто как пример, скопировал из своего джоба для перебора всех элементов проекта.
За это сообщение автора поблагодарили: AlGol (2).
Старый 21.07.2010, 14:54   #3  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Цитата:
Сообщение от oip Посмотреть сообщение
Например, так.

...
хмм перебор на крайний случай оставлю, если не найдется другого способа. Спасибо

Последний раз редактировалось oip; 21.07.2010 в 15:08. Причина: убрал оверквотинг, с вашего позволения
Старый 21.07.2010, 15:03   #4  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Это же просто пример. Можно почти без перебора.

X++:
    rootNode = Infolog.projectRootNode();
    treeNodeIterator = rootNode.AOTiterator();

    groupNode = treeNodeIterator.next();
    while(groupNode)
    {
        node = groupNode.AOTfindChild(project);
        if(node)
        {
           node = node.getRunNode();

            node = node.AOTfindChild(groupName);

            if(node)
            {
                info('Нашел!!!');
                break;
            }

        }
        groupNode = treeNodeIterator.next();
    }
Старый 21.07.2010, 15:35   #5  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Цитата:
Сообщение от oip Посмотреть сообщение
Это же просто пример. Можно почти без перебора.
спасибо, носом ткнули запутался я в этих деревьях
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Перечень пунктов меню и их свойств Sequel DAX: Программирование 5 09.08.2012 13:39
MAP vs Class. В чем идейная необходимость в MAP-ах? А что если использовать Class вместо MAP? Hub DAX: Программирование 16 11.08.2008 16:58
Перечисление денег со счета банка на счет деньги в пути.Как правильно? Aquarius DAX: Функционал 1 13.04.2007 22:44
Автоматическое сравнение слоев George Nordic DAX: База знаний и проекты 3 20.04.2005 12:18
treeNode Novice DAX: Программирование 3 11.06.2003 12:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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