タスクを読み取るTimephasedデータ
Contents
[
Hide
Show
]Microsoft Projectでは、タスクの使用ビューとリソース使用ビューの右側に時間段階のデータが表示されます。ユーザーは、このデータを手動で、Aspose.Tasks for .netで書くことができます。プログラムで記述するか、プロジェクトからアプリケーションに入手できます。
Timephased Dataの操作
.NETのAspose.Tasksは、Microsoft Project(MPP)ファイルからタスクの時間段階データの読み取りをサポートしています。時間段階のデータは、 タスクオブジェクトの getTimePhasedDataメソッドを使用して取得されます。
- タスク作業の時間段階データを取得するために、GetTimePhasedDataメソッドは、プロジェクトの開始日と終了日を入力パラメーターとして取得します。
- タスクコストの時間段階データを取得するには、TaskCostとしてタイムフェーズデータのタイプを指定する追加の入力パラメーターを取得します。
次のコードは、タスクのTimephasedデータを読み取る方法を示しています。
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}