Управление длительностями задач
Aspose.Tasks for .NET позволяет разработчикам читать, устанавливать и обновлять продолжительности задач программно.
Этот Tsk class предоставляет следующие поля:
Duration Тип:
TimeSpan
Назначение: Получает или задаёт плановую длительность задачи.DurationFormat Тип:
TimeUnitType
Назначение: Указывает единицу измерения длительности (минуты, часы, дни, недели и т. д.).
Проверка длительностей в Microsoft Project
В Microsoft Project вы можете проверить длительность задачи следующим образом:
- Перейдите в View > More Views > Task Entry.
- Выберите задачу, чтобы увидеть её Duration столбец.
Пример: Программная установка длительности задачи
В следующем примере показано, как задавать и обновлять длительности задач на C#:
1// Create a new project and add a new task
2Project project = new Project();
3Task task = project.RootTask.Children.Add("Task");
4
5// Task duration in days (default time unit)
6Duration duration = task.Get(Tsk.Duration);
7Console.WriteLine("Duration equals 1 day: {0}", duration.ToString().Equals("1 day"));
8
9// Convert to hours time unit
10duration = duration.Convert(TimeUnitType.Hour);
11Console.WriteLine("Duration equals 8 hrs: {0}", duration.ToString().Equals("8 hrs"));
12
13// Get wrapped TimeSpan instance
14Console.WriteLine("Duration TimeSpan equals to TimeSpan of 8 hrs: {0}", duration.TimeSpan.Equals(TimeSpan.FromHours(8)));
15
16// Increase task duration to 1 week and display if duration is updated successfully
17task.Set(Tsk.Duration, project.GetDuration(1, TimeUnitType.Week));
18Console.WriteLine("Duration equals 1 wk: {0}", task.Get(Tsk.Duration).ToString().Equals("1 wk"));
19
20// Decrease task duration and display if duration is updated successfully
21task.Set(Tsk.Duration, task.Get(Tsk.Duration).Subtract(0.5));
22Console.WriteLine("Duration equals 0.5 wks: {0}", task.Get(Tsk.Duration).ToString().Equals("0.5 wks"));
В этом примере длительность задачи увеличивается до 1 недели и уменьшается до половины недели.
Основные замечания
- Длительности определяют график проекта — реалистичные длительности приводят к точным расписаниям проекта.
- Данный формат длительности гарантирует, что задачи последовательно отображаются в разных типах файлов (MPP/XML).
- Программно контролируя длительности, разработчики могут автоматизировать планирование и сохранять целостность данных при обмене данными проекта.
Часто задаваемые вопросы
В: В чём разница между Duration и Work в Microsoft Project?
- Duration — это общее время, необходимое для выполнения задачи, в то время как Work — это общий объём работы, требуемый ресурсами.
В: Могу ли я задать разные форматы длительностей (например, дни вместо часов)?
- Да. Используйте
DurationFormat
свойство сTimeUnitType
перечислением.
В: Поддерживает ли Aspose.Tasks обновление длительностей как в файлах MPP, так и в XML?
- Да. Обработка длительностей является последовательной во всех поддерживаемых форматах Microsoft Project.
В: Могу ли я программно сократить сроки проекта, уменьшив длительности?
- Да. Обновление длительностей задач прямо влияет на критический путь проекта и конечную дату.