Работа с задачами

Иногда невозможно выполнить задачу в соответствии с графиком, и ее нужно разделить на две или более частей. Aspose.Tasks поддерживают эту функцию Microsoft Project.

Разделительные задачи

Свойство SplitParts, выявленное классом TASCE, используется для определения разделенных частей задачи, тогда как метод Splittask, выявленный классом ресурсов, используется для разделения одной задачи на несколько частей. SplitParts возвращает коллекцию разделенных частей, тогда как метод Splittask принимает дату начала, дату завершения и календарные аргументы для разделения задачи.

Задачи расщепления и просмотра в Microsoft Project

Чтобы разделить задачу в проекте Microsoft:

  1. Определите длинную задачу, и вы хотите разделить.
  2. В меню «Задача» выберите «Группа » и нажмите Сплит задание **.
  3. Нажмите на позицию, которую вы хотите разделить задачу.

Чтобы увидеть разделенные задачи в Microsoft Project, можно выбрать Ганта -диаграмму в меню View. Разделенные задачи связаны пунктирной линией.

Раздельные задачи в Microsoft Project

Разделенная задача в Microsoft Project

Создание и разделение задачи

Чтобы создать и разделить задачу, выполните следующие действия:

  1. Создайте новый проект.
  2. Создать и назначить новый календарь проекту.
  3. Создайте и добавьте новую задачу в проект.
  4. Создайте и добавьте новое назначение ресурсов в проект.
  5. Используйте метод Splittask, открытый классом ресурсов, чтобы разделить задачу.
  6. Напишите новый проект на диск.

Следующий код показывает, как выполнить эти задачи:

 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);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.