Task

Task class

Представляет задачу в проекте.

public class Task : IEquatable<Task>

Характеристики

Имя Описание
Assignments { get; } Получает набор назначений ресурсов для этого объекта.
Baselines { get; set; } Получает или задает набор базовых значений задачи.
Children { get; } Получает коллекцию дочерних задач этого объекта. Объект TaskCollection, представляющий дочерние задачи.
ExtendedAttributes { get; } Получает объект ExtendedAttributeCollection, содержащий значения расширенного атрибута.
OutlineCodes { get; set; } Получает или устанавливаетOutlineCodeCollection объект.
ParentProject { get; } Получает родительский проект задачи.
ParentTask { get; } Получает родительскую задачу задачи.
Predecessors { get; } ПолучаетTaskCollection объект, который содержит всех предшественников этого объекта Task.
RecurringInfo { get; } Получает экземплярRecurringTaskInfo класс для задачи, которая является повторяющейся задачей; если задача не повторяющаяся, то возвращает null; Информация для экземпляраRecurringTaskInfo присутствует только в формате файла mpp.
SplitParts { get; } Получает коллекцию SplitPart, представляющую части задачи.
Successors { get; } ПолучаетTaskCollection объект, который содержит всех преемников этого объекта Task.
TimephasedData { get; set; } Получает или задает объект TimephasedDataCollection этой задачи. Блок поэтапных данных, связанный с задачей.

Методы

Имя Описание
Clone() Создает полную копию задачи без подзадач.
Delete() Удаляет задачу из коллекции задач родительского проекта и все ее назначения.
override Equals(object) Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.
Equals(Task) Возвращает значение, указывающее, соответствует ли этот экземпляр заданной задаче.
Get<T>(Key<T, TaskKey>) Возвращает значение, которому сопоставлено свойство в этом контейнере.
override GetHashCode() Возвращает значение хэш-кода для этой задачи.
GetTimephasedData(DateTime, DateTime) ВозвращаетTimephasedDataCollection объект сTimephasedData значения в пределах заданных дат начала и окончания.
GetTimephasedData(DateTime, DateTime, TimephasedDataType) ВозвращаетTimephasedDataCollection объект сTimephasedData значения в пределах заданных дат начала и окончания указанного типа данных с временными интервалами.
MoveToSibling(int) Перемещает текущую задачу на тот же уровень структуры перед задачей с указанным идентификатором. Если ParentProject.CalculationMode имеет значение None, пользователь должен вызвать Project.Recalculate() после использования этого метода (он перепланирует все задачи проекта (даты начала/окончания, устанавливает ранние/поздние даты) и вычисляет зависимые поля, такие как резервы, поля работы и затрат, уровни структуры). Если ParentProject.CalculationMode установлен вручную, метод будет автоматически вычислять только идентификатор задачи, уровень структуры и номера структуры. Если ParentProject. CalculationMode — Automatic, метод автоматически перепланирует все задачи проекта (даты начала/окончания, устанавливает ранние/поздние даты, вычисляет резервы, поля работы и затрат, пересчитывает идентификаторы и уровни структуры).
MoveToSibling(Task) Перемещает текущую задачу на тот же уровень структуры перед указанной задачей. Если ParentProject.CalculationMode имеет значение None, пользователь должен вызвать Project.Recalculate() после использования этого метода (он перепланирует все задачи проекта (даты начала/окончания, устанавливает ранние/ поздние даты) и вычислить зависимые поля, такие как резервы, поля работы и затрат, уровни структуры). Если ParentProject.CalculationMode имеет значение Manual, метод будет автоматически вычислять только идентификатор задачи, уровень структуры и номера структуры. Если ParentProject.CalculationMode имеет значение Automatic метод автоматически перепланирует все задачи проекта (даты начала/окончания, устанавливает ранние/поздние даты, вычисляет резервы, поля работы и затрат, пересчитывает идентификаторы и уровни структуры).
OutlineIndent() Делает отступ задачи в структуре.
OutlineOutdent() Продвигает задачу в структуре.
SelectAllChildTasks() Рекурсивно собирает все дочерние задачи этой задачи.
Set<T>(Key<T, TaskKey>, T) Сопоставляет указанное свойство с указанным значением в этом контейнере.
override ToString() Возвращает короткое строковое представление задачи. Точные детали представления не указаны и могут быть изменены.

Примечания

Задача представляет собой один атомный патрон работы.

Можно использовать Задачадля планирования проекта путем создания задач и назначения им соответствующих ресурсов. Задачи в проекте организованы в виде корневой иерархической древовидной структуры с корневой задачей и поддеревьями дочерних задач.

Для построения дерева задач можно использовать специализированную коллекциюTaskCollection путем доступаRootTask свойство, например:

Project project = new Project();

// добавляем новые задачи
Task task1 = project.RootTask.Children.Add(); // добавляется родительская задача с пустым именем
Task childTask1 = task1.Children.Add("Child 1");
childTask1.Set(Tsk.Start, new DateTime(2020, 2, 12, 8, 0, 0))
childTask1.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask1.Set(Tsk.Finish, new DateTime(2020, 2, 12, 17, 0, 0));
Task childTask3 = task1.Children.Add("Child 3");
childTask3.Set(Tsk.Start, new DateTime(2020, 2, 13, 8, 0, 0))
childTask3.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask3.Set(Tsk.Finish, new DateTime(2020, 2, 13, 17, 0, 0));
Task childTask2 = task1.Children.Add("Child 2", 2); // вставляет задачу перед childTask3
childTask2.Set(Tsk.Start, new DateTime(2020, 2, 14, 8, 0, 0))
childTask2.Set(Tsk.Duration, project.GetDuration(8, TimeUnitType.Hour));
childTask2.Set(Tsk.Finish, new DateTime(2020, 2, 14, 17, 0, 0));

// сохраняем проект в одном из доступных форматов
project.Save("Filled project.xml", SaveFileFormat.MPP);

Смотрите также