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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2008, 14:36   #1  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
\Forms\SysProjectRemoveNode
Вызывается он кернелом при удалении нода из проекта, соответственно и всю работу по удалению делает кернел
Старый 01.07.2008, 15:14   #2  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вот такой код получился. С переименованием и удалением не стал возиться.
Результат меня устраивает.
Подкидываем проект.
Создаётся ещё один проект с префиксом CopyOf+старое_название.
Просто у меня как раз к примеру из 1000 объектов в проекте получается проект в котором нужно 100. Я думал сначало удалением, но и пересоздание меня тоже устравивает.
X++:
static void MRD_SearchProject(Args _args)
{
    str                     project = 'MRD_Tables';
    ProjectNode             oldProject;
    str                     nameKey;
    configurationKeyId      id;
    ProjectNode             sharedProjects;
    ProjectNode             newProject;

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

        node1 = treeNodeIterator1.next();
        while(node1)
        {
           if(node1.handle() == classNum(ProjectGroupNode))
           {
                getTreeNode(node1);
           }
           else
           {
                if (node1.AOTname() != "fdjh")
                    newProject.addUtilNode(node1.applObjectType(), node1.AOTname());
           }

           node1 = treeNodeIterator1.next();
        }
    }
    ;

    sharedProjects = infolog.projectRootNode().AOTfindChild('Shared');
    sharedProjects.AOTAdd("CopyOf" + project);
    newProject =  sharedProjects.AOTfindChild("CopyOf" + project);
    newProject.loadForInspection();
    newProject = newProject.getRunNode();

    oldProject =  sharedProjects.AOTfindChild(project);
    if(oldProject)
    {
        oldProject = oldProject.loadForInspection();
        getTreeNode(oldProject);
    }
    newProject.AOTsave();

}
Всем спасибо.
За это сообщение автора поблагодарили: wojzeh (1), S.Kuskov (5).
Теги
aot, node, программно, узел, проекты

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сколько процентов от стоимости проекта идет на ФОТ? (анонимный опрос) Spider DAX: Прочие вопросы 1 27.09.2006 08:22
Как удалить программно в форме элементы из группы mick_777 DAX: Программирование 2 09.09.2002 17:27
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09
Удаление проекта Maxim Gorbunov DAX: Программирование 0 24.12.2001 23:04

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

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

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