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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2014, 17:20   #5  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
679 / 517 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Так в чем дело было в итоге?
дело в том, что группы проекта требуют иного подхода в переборе и нахождении элементов -- тут AOTFindChild() не работает.

во-первых, loadForInspection()
затем AOTIterator() или findGroupMember()

X++:
...       
       ProjectNode         edtProjectGroupNode;
       ProjectNode         tblProjectGroupNode;
       ProjectNode         qryProjectGroupNode;

        // find all shared projects
        projectListNode = SysTreeNode::getSharedProject();
        // find project with a given name
        projectNode = projectListNode.AOTfindChild(_projectName);
        // open it in a separate window in AOT
        projectRunNode = projectNode.getRunNode();
        // this is the key point after which we can iterate group members
        projectNode = projectNode.loadForInspection();
        // get nested nodes for appropriate names
        ddProjectGroupNode = projectNode.AOTfindChild('DataDictionary');
        edtProjectGroupNode = ddProjectGroupNode.AOTfindChild('Extended Data Types');
        tblProjectGroupNode = ddProjectGroupNode.AOTfindChild('Tables');
        qryProjectGroupNode = projectNode.AOTfindChild('Queries');
...

// add to the project if not yet
private void addNewObjectToProject(UtilElementType _type, TreeNode _treeNode)
{
    str name = _treeNode.AOTname();

    switch (_type)
    {
    case UtilElementType::ExtendedType:
        if(!edtProjectGroupNode.findGroupMember(name, _type, true))
        {
            edtProjectGroupNode.addNode(_treeNode);
        }
        break;

   case UtilElementType::Table:

        if(!tblProjectGroupNode.findGroupMember(name, _type, true))
        {
            tblProjectGroupNode.addNode(_treeNode);
        }
        break;

   case UtilElementType::Query:
        if(!qryProjectGroupNode.findGroupMember(name, _type, true))
        {
            qryProjectGroupNode.addNode(_treeNode);
        }
        break;

    default:
        throw error(Error::wrongUseOfFunction(funcName()));

    }
}

кстати, ознакомься, пожалуйста i-neti: Решение проблемы с поиском новой цены в Dynamics AX
__________________
Felix nihil admirari
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Kashperuk Ivan: Q&A session: Working with UtcDateTime from X++ Blog bot DAX Blogs 0 06.05.2014 01:16
atinkerersnotebook: Using Service Management to Track Service Orders Blog bot DAX Blogs 1 25.08.2013 19:16
emeadaxsupport: Intercompany time postings incomplete at transaction voucher level when project date differs from the day posted Blog bot DAX Blogs 0 19.08.2013 19:11
fed: Net requirements update in MRP Module and Working Set of MRP Blog bot DAX Blogs 14 08.05.2012 13:09
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43

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

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

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