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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.08.2018, 10:38   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,983 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
у нас есть такой метод
\Classes\SysTreeNode\findProjectNode
X++:
/// <summary>
///     По указанному пути к проекту возвращает соотв. ProjectNode
/// </summary>
/// <param name="_projectPath">
///     Путь к проекту в формате TreeNode
/// </param>
/// <returns>
///     объект ProjectNode либо null, если проект не найден или путь не относится к проектам
///     NB! возвращается "сырой" объект ProjectNode, чтобы с ним можно было работать, надо вызвать на нем либо getRunNode(), либо loadForInspection()
///     см. также SysTestProject::getProjectNode()
/// </returns>
/// <remarks>
///     в отличие от прочих узлов AOT, проекты не ищутся через TreeNode::findNode(), поэтому и нужен отдельный метод
/// </remarks>
/// <modification projid="GRD_R6084" author="gl00m" date="15.02.2012">
///     Допилить форму проектов текущего пользователя, чтобы автоматом открывать форму поиска по проекту
///     DEV_xRefLayer "Пробивать в перекрестных ссылках слой", PKoz 19.12.2017
/// </modification>
public static ProjectNode findProjectNode(
    TreeNodePath    _projectPath,
    CreatedBy       _createdBy = '')
{
    identifiername      projectName;

    UtilElementType     applObjType;

    ProjectListNode     projectList;

    ProjectNode         ret;
    ;

    if (_projectPath != '')
    {
        projectName = SysTreeNode::path2ApplObjectName(_projectPath);
        if (projectName != '')
        {
            applObjType = SysTreeNode::path2ApplObjectType(_projectPath);

            if (applObjType == UtilElementType::SharedProject)
            {
                projectList = SysTreeNode::getSharedProject();
            }
            else
            if (applObjType == UtilElementType::PrivateProject)
            {
                projectList = SysTreeNode::getPrivateProject();
            }

            if (projectList)
            {
                if (applObjType == UtilElementType::PrivateProject)
                {
                    ret = projectList.AOTfindChild(substr(projectName, strLen(_createdBy + "_") + 1, 1000) );
                }
                else
                {
                    ret = projectList.AOTfindChild(projectName);
                }
            }
        }
    }
    return ret;
}
За это сообщение автора поблагодарили: RVS (3), alex55 (3).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Открыть в новом окне объект из кода miklenew DAX: База знаний и проекты 24 31.01.2023 17:31
Открыть проект Visual Studio из проводника sukhanchik DAX: Администрирование 3 08.12.2017 14:23
Проект для создания оповещений из кода ax 4.0 Ivanhoe DAX: Программирование 0 13.01.2010 11:26
Открыть дизайн формы в режиме Edit из кода arnold DAX: Программирование 11 27.11.2008 16:20
как открыть новый проект nicebigman DAX: Программирование 3 25.02.2004 14:15

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

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

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