タスクのタイムファーブデータをお読みください
Contents
[
Hide
Show
]Microsoft Projectでは、タスクの使用ビューとリソース使用ビューの右側に時間段階のデータが表示されます。ユーザーはこのデータを手動で、JavaのAspose.Tasksを使用して、プログラムで記述するか、プロジェクトからアプリケーションに入れることができます。
Timephased Dataの操作
JavaのAspose.Tasksは、Microsoft Project(MPP)ファイルからタスクの時間段階データを読むことをサポートしています。時間段階のデータは、 タスクObjectのTimesCaledataメソッドを使用して取得されます。
- タスク作業の時間段階データを取得するために、TimesCaleDataメソッドは、プロジェクトの開始日と終了日を入力パラメーターとして取得します。
- タスクコストの時間段階データを取得するには、TaskCostとしてタイムフェーズデータのタイプを指定する追加の入力パラメーターを取得します。
次のコードは、タスクの時間段階のデータを読み取る方法を示しています。
1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir(TaskTimephasedData.class);
4
5Project project = new Project(dataDir + "New project 2010.mpp");
6
7java.util.Calendar cal = java.util.Calendar.getInstance();
8cal.set(2013, 7, 17, 8, 0, 0);
9project.set(Prj.START_DATE, cal.getTime());
10project.set(Prj.NEW_TASKS_ARE_MANUAL, new NullableBool(false));
11
12Task task = project.getRootTask().getChildren().add("Task");
13Resource rsc = project.getResources().add("Rsc");
14rsc.set(Rsc.STANDARD_RATE, BigDecimal.valueOf(10));
15rsc.set(Rsc.OVERTIME_RATE, BigDecimal.valueOf(15));
16// 6 days duration
17task.set(Tsk.DURATION, project.getDuration(6));
18
19ResourceAssignment assn = project.getResourceAssignments().add(task, rsc);
20Date d = new Date(0);
21assn.set(Asn.STOP, new Date(0));
22assn.set(Asn.RESUME, new Date(0));
23
24// backloaded contour increases task duration from 6 to 10 days
25assn.set(Asn.WORK_CONTOUR, WorkContourType.BackLoaded);
26
27project.setBaseline(BaselineType.Baseline);
28
29task.set(Tsk.PERCENT_COMPLETE, 50);
30
31List<TimephasedData> td = assn.getTimephasedData(assn.get(Asn.START), assn.get(Asn.FINISH),
32 TimephasedDataType.AssignmentRemainingWork).toList();
33
34System.out.println(td.size());
35System.out.println(td.get(0).getValue());
36System.out.println(td.get(0).getValue());
37System.out.println(td.get(0).getValue());
38System.out.println(td.get(0).getValue());
39System.out.println(td.get(0).getValue());
40System.out.println(td.get(0).getValue());
41System.out.println(td.get(0).getValue());