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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2011, 12:48   #1  
axalex is offline
axalex
Участник
 
91 / 14 (1) ++
Регистрация: 14.03.2011
? Создание в дереве проектов из класса и их редактирование
Подскажите как создать в дереве проект из класса или формы. Какими методами.
Axapta 5.0
Старый 14.03.2011, 13:00   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Побробйте на этом примере
Перечень пунктов меню и их свойств
За это сообщение автора поблагодарили: axalex (1).
Старый 14.03.2011, 13:06   #3  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
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  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Посмотрите пример создания проектов и включения в них объектов. А может быть вы такую штуку и хотели написать?
Еще по теме:
Программное создание проекта по шаблону
Добавление узла в проект

Последний раз редактировалось kornix; 14.03.2011 в 13:40.
За это сообщение автора поблагодарили: axalex (1).
Старый 14.03.2011, 13:59   #5  
axalex is offline
axalex
Участник
 
91 / 14 (1) ++
Регистрация: 14.03.2011
TaskTracker пишу для организации. Всем спасибо. Доступно. Разобрался! =)
Старый 17.03.2011, 19:33   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
У этого проекта есть "забавный" глюк.

В окне проектов невозможно создать группу в имени которой содержались бы пробелы. Ну, например, попытка создать группу "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   #7  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
...
Кстати, никто не в курсе, можно ли заставить создавать группы в проекте с именами, содержащими пробелы?
В 9-ке уже нельзя, хотя если посмотреть на стандартные проекты - в них есть пробелы. Возможно (не проверял), при импорте также можно затянуть проект с пробелами в группах.

Кстати говоря, если кому-то интересно, тут также реализована функция добавления эелементов в проект из кода; при этом, сохраняется порядок сортировки групп аналогичный АОТу.
Старый 18.03.2011, 10:00   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Возможно (не проверял), при импорте также можно затянуть проект с пробелами в группах.
Да, при импорте из xpo пробелы в именах групп допустимы. Но "это же не наш метод" Слишком громоздко создавать группы в проекте через экспорт/импорт
Старый 18.03.2011, 11:11   #9  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Нашел способ как создавать имена групп в проекте с пробелами. Это можно сделать через свойство 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).
Теги
дерево, древо, проекты

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Диалог - программное создание из класса Arahnid DAX: Программирование 4 08.10.2008 18:20
Создание номенклатуры с использ. axInventTable класса. Можно ли запретить использование шаблонов записей? Hub DAX: Программирование 2 03.09.2008 15:12
Вызов метода базового класса Eldar9x DAX: Программирование 15 22.03.2008 19:10
Создание экземпляра класса Dict* AndyD DAX: Программирование 22 23.03.2007 16:01
Запустить метод класса loka DAX: Программирование 2 13.03.2006 15:40

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

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

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