Читання часово розподілених даних завдання

У Microsoft Project, часово розподілені дані відображаються в правій частині Task Usage і Resource Usage переглядів. Вони показують, як робота або витрати розподіляються у часі.

За допомогою Aspose.Tasks for .NET розробники можуть програмно читати та обробляти часово розподілені дані завдань з файлів MPP або XML.

Розуміння часово розподілених даних

Часово розподілені дані надають детальний розподіл значень завдання (наприклад, робота або витрати) по конкретних часових інтервалах. Aspose.Tasks забезпечує цю функціональність через Task клас:

Це дозволяє розробникам програмно отримувати детальну аналітику проекту.

Робота з часово розподіленими даними

Aspose.Tasks for .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.