|
01.07.2008, 14:36 | #1 |
Боец
|
Цитата:
\Forms\SysProjectRemoveNode
|
|
01.07.2008, 15:14 | #2 |
Участник
|
Вот такой код получился. С переименованием и удалением не стал возиться.
Результат меня устраивает. Подкидываем проект. Создаётся ещё один проект с префиксом 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). |