Чтение пофазных данных задач

В Microsoft Project, данные, распределённые по времени отображаются в правой части Task Usage и Resource Usage представлений. Это показывает, как работа или затраты распределяются во времени.

С помощью Aspose.Tasks для .NET разработчики могут программно читать и обрабатывать пофазные данные задач из файлов MPP или XML.

Понимание пофазных данных

Пофазные данные предоставляют подробное распределение значений задач (например, работа или затраты) по определённым интервалам времени. Aspose.Tasks реализует эту функциональность через Task класс:

Это позволяет разработчикам программно извлекать подробную аналитику проекта.

Работа с пофазными данными

Aspose.Tasks для .NET поддерживает чтение пофазных данных задачи из Microsoft Project (MPP). Пофазные данные извлекаются с помощью Task объекта GetTimephasedData метод.

Пример: чтение пофазных данных задач в Aspose.Tasks

Следующий пример на C# демонстрирует, как читать пофазные значения работы и затрат для задач:

 1Project project = new Project("New Project.mpp");
 2
 3// Set project properties
 4project.Set(Prj.StartDate, new DateTime(2013, 10, 30, 9, 0, 0));
 5project.Set(Prj.NewTasksAreManual, false);
 6
 7// Add task and resources
 8Task task = project.RootTask.Children.Add("Task");
 9Resource resource = project.Resources.Add("Rsc");
10
11// Set resource rates and task duration
12resource.Set(Rsc.StandardRate, 10);
13resource.Set(Rsc.OvertimeRate, 15);
14task.Set(Tsk.Duration, project.GetDuration(6));
15
16// Create resource assignment
17ResourceAssignment assignment = project.ResourceAssignments.Add(task, resource);
18assignment.Set(Asn.Stop, DateTime.MinValue);
19assignment.Set(Asn.Resume, DateTime.MinValue);
20
21// Set Backloaded contour, it increases task duration from 6 to 10 days
22assignment.Set(Asn.WorkContour, WorkContourType.BackLoaded);
23
24project.SetBaseline(BaselineType.Baseline);
25task.Set(Tsk.PercentComplete, 50);
26
27// Read timephased data
28List<TimephasedData> td = assignment.GetTimephasedData(assignment.Get(Asn.Start), assignment.Get(Asn.Finish), TimephasedDataType.AssignmentRemainingWork).ToList();
29Console.WriteLine(td.Count);
30foreach(TimephasedData timePhasedValue in td)
31{
32    Console.WriteLine(timePhasedValue.Value);
33}

Основные моменты

Часто задаваемые вопросы

В: В чём разница между пофазными данными по работе задачи и пофазными данными по затратам?

В: Могу ли я также записывать пофазные данные с помощью Aspose.Tasks?

В: Влияют ли пофазные данные напрямую на планирование?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.