タスクの操作
Contents
[
Hide
Show
]スケジュールどおりにタスクを完了することができず、2つ以上の部分に分割する必要がある場合があります。 Aspose.Tasks は、このMicrosoftプロジェクト機能をサポートしています。
タスクの分割
タスククラスによって公開されたsplitpartsプロパティは、タスクの分割部分を決定するために使用されますが、ResourceasSignmentクラスによって公開されるSplittaskメソッドは、単一のタスクを複数の部分に分割するために使用されます。 SplitPartsはスプリットパーツのコレクションを返しますが、Splittaskメソッドは開始日、終了日、カレンダーの引数を受け入れてタスクを分割します。
Microsoftプロジェクトの分割と表示タスク
Microsoftプロジェクトでタスクを分割するには:
- 長いタスクを特定すると、分割します。
- タスクメニューで、スケジュールグループを選択し、[タスクを分割] **をクリックします。
- タスクを分割する位置をクリックします。
Microsoft Projectの分割タスクを確認するには、ViewメニューでGantt Chartを選択できます。 分割タスクは、点線の線でリンクされています。
Microsoftプロジェクトの分割タスク
タスクの作成と分割
タスクを作成して分割するには、次の手順に従います。
- 新しいプロジェクトを作成します。
- プロジェクトに新しいカレンダーを作成して割り当てます。
- プロジェクトに新しいタスクを作成して追加します。
- プロジェクトに新しいリソース割り当てを作成して追加します。
- ResourceAsSignmentクラスによって公開されたSplittaskメソッドを使用して、タスクを分割します。
- 新しいプロジェクトをディスクに書き込みます。
次のコードは、これらのタスクを達成する方法を示しています。
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(SplitTasks.class);
4
5// Create new project
6Project splitTaskProject = new Project();
7
8// Get a standard calendar
9Calendar calendar = splitTaskProject.get(Prj.CALENDAR);
10
11// Set project's calendar settings
12java.util.Calendar cal = java.util.Calendar.getInstance();
13cal.set(2011, 3, 15, 8, 0, 0);
14splitTaskProject.set(Prj.START_DATE, cal.getTime());
15cal.set(2011, 3, 21, 17, 0, 0);
16splitTaskProject.set(Prj.FINISH_DATE, cal.getTime());
17
18// root task
19Task rootTask = splitTaskProject.getRootTask();
20rootTask.set(Tsk.NAME, "Root");
21
22// Add a new task
23Task taskToSplit = rootTask.getChildren().add("Task1");
24taskToSplit.set(Tsk.DURATION, splitTaskProject.getDuration(3));
25
26// Create a new resource assignment
27ResourceAssignment splitResourceAssignment = splitTaskProject.getResourceAssignments().add(taskToSplit, null);
28
29// Generate resource assignment timephased data
30splitResourceAssignment.timephasedDataFromTaskDuration(calendar);
31
32// Split the task into 3 parts.
33// Provide start date and finish date arguments to SplitTask method
34// These dates will be used for split
35// Set project's calendar settings
36cal = java.util.Calendar.getInstance();
37java.util.Calendar cal2 = java.util.Calendar.getInstance();
38
39cal.set(2011, 3, 16, 8, 0, 0);
40cal2.set(2011, 3, 16, 17, 0, 0);
41splitResourceAssignment.splitTask(cal.getTime(), cal2.getTime(), calendar);
42cal.set(2011, 3, 18, 8, 0, 0);
43cal2.set(2011, 3, 18, 17, 0, 0);
44splitResourceAssignment.splitTask(cal.getTime(), cal2.getTime(), calendar);
45splitResourceAssignment.set(Asn.WORK_CONTOUR, WorkContourType.Contoured);
46
47// Save the Project
48splitTaskProject.save(dataDir + "Project.Xml", SaveFileFormat.XML);