|
14.03.2011, 12:48 | #1 |
Участник
|
Создание в дереве проектов из класса и их редактирование
Подскажите как создать в дереве проект из класса или формы. Какими методами.
Axapta 5.0 |
|
14.03.2011, 13:00 | #2 |
NavAx
|
Побробйте на этом примере
Перечень пунктов меню и их свойств |
|
|
За это сообщение автора поблагодарили: axalex (1). |
14.03.2011, 13:06 | #3 |
Axapta
|
X++: static void CreateProject(Args _args) { TreeNodeName project = 'MySuperProject'; ProjectNode node, groupNode; ProjectNode createProject(TreeNodeName name, ProjectNode parent) { ProjectNode childNode = parent.aotFindChild(name); ; parent.aotAdd(name); childNode = parent.aotFindChild(name); return childNode; } ; groupNode = Infolog.projectRootNode().AOTfindChild('Shared'); node = createProject(project, groupNode); groupNode.AOTsave(); node.AOTRun(); node.AOTnewWindow(); } |
|
|
За это сообщение автора поблагодарили: axalex (1). |
14.03.2011, 13:37 | #4 |
MCP
|
Посмотрите пример создания проектов и включения в них объектов. А может быть вы такую штуку и хотели написать?
Еще по теме: Программное создание проекта по шаблону Добавление узла в проект Последний раз редактировалось kornix; 14.03.2011 в 13:40. |
|
|
За это сообщение автора поблагодарили: axalex (1). |
17.03.2011, 19:33 | #5 |
Участник
|
У этого проекта есть "забавный" глюк.
В окне проектов невозможно создать группу в имени которой содержались бы пробелы. Ну, например, попытка создать группу "Data Dictionary" закончится сообщением об ошибке, что имя группы не корректно. В данном проекте это обошли, просто вырезав все пробелы из имен групп X++: #if.ReportLibrariesPath projNodeName = strRem(projNodeName, ' '); #endif X++: selectedProjectNodes += dataDictNode.AOTfindChild(TreeNode::findNode(#TablesPath).treeNodeName()) ? UnknownNoYes::Yes : UnknownNoYes::No; Кстати, никто не в курсе, можно ли заставить создавать группы в проекте с именами, содержащими пробелы? |
|
17.03.2011, 22:43 | #6 |
Боец
|
Цитата:
Кстати говоря, если кому-то интересно, тут также реализована функция добавления эелементов в проект из кода; при этом, сохраняется порядок сортировки групп аналогичный АОТу. |
|
18.03.2011, 10:00 | #7 |
Участник
|
|
|
14.03.2011, 13:59 | #8 |
Участник
|
TaskTracker пишу для организации. Всем спасибо. Доступно. Разобрался! =)
|
|
18.03.2011, 11:11 | #9 |
Участник
|
Нашел способ как создавать имена групп в проекте с пробелами. Это можно сделать через свойство Node.name()
X++: ProjectGroupNode.name("Name with spacebar"); 1. Создается группа с именем без пробелов. 2. Через свойство name() имя модифицируется с добавлением пробелов. Для проекта DEV_CreateNewProject можно модифицировать код создания группы следующим образом X++: #if.ReportLibrariesPath child = parent.aotAdd(strRem(projNodeName, ' ')); child.name(projNodeName); #endif #ifnot.ReportLibrariesPath child = parent.aotAdd(projNodeName); #endif |
|
|
За это сообщение автора поблагодарили: kashperuk (5). |