Чтение пофазных данных задач
В Microsoft Project, данные, распределённые по времени отображаются в правой части Task Usage и Resource Usage представлений. Это показывает, как работа или затраты распределяются во времени.
С помощью Aspose.Tasks для .NET разработчики могут программно читать и обрабатывать пофазные данные задач из файлов MPP или XML.
Понимание пофазных данных
Пофазные данные предоставляют подробное распределение значений задач (например, работа или затраты) по определённым интервалам времени. Aspose.Tasks реализует эту функциональность через Task класс:
- GetTimephasedData
Назначение: Извлекает значения, распределённые по времени (работа или затраты) для задачи.
Параметры:
- Дата начала интервала
- Дата окончания интервала
- (Необязательно) Тип пофазных данных (например, TaskCost)
Это позволяет разработчикам программно извлекать подробную аналитику проекта.
Работа с пофазными данными
Aspose.Tasks для .NET поддерживает чтение пофазных данных задачи из Microsoft Project (MPP). Пофазные данные извлекаются с помощью Task объекта GetTimephasedData метод.
- Чтобы получить пофазные данные по работе задачи, метод GetTimephasedData принимает даты начала и окончания проекта в качестве входных параметров.
- Чтобы получить пофазные данные по затратам задачи, метод принимает дополнительный параметр, указывающий тип пофазных данных — TaskCost.
Пример: чтение пофазных данных задач в 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}
Основные моменты
- Пофазные данные предоставляют детализированное представление о ходе проекта и затратах.
- Разработчики могут использовать их для создания пользовательских отчетов, диаграмм или интеграции с аналитическими системами.
- Метод работает одинаково с MPP и XML форматами.
Часто задаваемые вопросы
В: В чём разница между пофазными данными по работе задачи и пофазными данными по затратам?
- Работа пофазные данные показывают распределение часов/усилий, в то время как Затраты пофазные данные показывают финансовое распределение во времени.
В: Могу ли я также записывать пофазные данные с помощью Aspose.Tasks?
- Да. Aspose.Tasks позволяет как читать и записывать пофазные данные задач.
В: Влияют ли пофазные данные напрямую на планирование?
- Нет. Они в основном влияют на отчетность и отслеживание ресурсов/затрат, но не изменяют зависимости между задачами.