MsProject: установить базовый уровень для большого количества задач - PullRequest
0 голосов
/ 06 сентября 2018

Я работаю над небольшим дополнением, которое позволяет мне редактировать набор моей базовой линии в зависимости от запроса SQL.

Это мой текущий код:

foreach (ReturnEnumTasks i_objsectionTask in l_objTaskList)
{
    MSProject.Task l_objTaskSection = taskManagement.getTask(l_objProject, new Guid(i_objsectionTask.taskUID));

    if (l_objTaskSection != null)
    {
        foreach (MSProject.Task i_objTask in g_objProject.Tasks)
        {
            if (!i_objTask.Summary)
            {
                if (i_objTask.OutlineNumber.like(l_objTaskSection.OutlineNumber + "%"))
                {
                    baselineManagement.setBaseline(l_objProject, i_objTask, m_objBaselineNumber);
                    baselineManagement.setBaseline(l_objProject, i_objTask, baselineNumber.baseline0);
                }
            }
        }
    }
}

Так что это идея, у меня есть SQL-запрос, который возвращает мне задачи со специальными wbs

После этого я преобразую эти строки в объект Tasks с помощью функции, которую я построил. Как только это будет сделано, я установил базовый уровень для задачи.

Проблема заключается в следующем, если у меня есть 100 задач, моему надстройке потребовалось более 30 секунд, чтобы выполнить вычисление.

Итак, я хотел бы знать, есть ли способ выбрать все мои задачи и сохранить их в объекте «Задачи» и после этого сделать одну заданную базовую линию для всего выделения

Поскольку я провел несколько испытаний, и, очевидно, лучше выбрать все задачи и установить базовую линию, чем устанавливать базовую линию один за другим

...