Задачи родителей и детей

Задачи могут быть организованы в иерархии. Когда задача имеет одну или несколько задач под ним, их называют родителями. Задачи внизу называются родителями.

Работа с родителями и детьми

Задача класс разоблачает классы, которые помогают вам определить:

Задачи родителей и детей в Microsoft Project

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

  1. В форме записи задачи выберите задачу и нажмите ее.
  2. Выберите открывать, чтобы превратить задачу в родителя, или,
  3. Выберите Подтвердить, чтобы превратить задачу в ребенка.

родительские задачи и дети в Microsoft Project

Родительские отношения с детьми в Microsoft Project

Получение родительских и детских задач

Следующие примеры показывают просмотр задач родителей и детей в проекте с использованием Aspose.tasks.

 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(ParentAndChildTasks.class);
 4
 5Project prj = new Project(dataDir + "ParentAndChildTask.mpp");
 6
 7// Create a ChildTasksCollector instance
 8ChildTasksCollector collector = new ChildTasksCollector();
 9
10// Use TaskUtils to get all children tasks in RootTask
11TaskUtils.apply(prj.getRootTask(), collector, 0);
12
13List tasks = collector.getTasks();
14int iSize = tasks.size();
15// Parse through all the collected tasks
16for (int i = 0; i < iSize; i++) {
17    Task tsk = (Task) tasks.get(i);
18    System.out.println("Task Name = " + tsk.get(Tsk.NAME));
19}

Setting Child Tasks

 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(ParentAndChildTasks.class);
 4
 5Project proj = new Project(dataDir + "Blank2010.mpp");
 6proj.set(Prj.NEW_TASKS_ARE_MANUAL, new NullableBool(false));
 7double oneDay = 8d * 60d * 60d * 10000000d;
 8java.util.Calendar cal = java.util.Calendar.getInstance();
 9cal.set(2014, 9, 13, 8, 0, 0);
10Date startDate = cal.getTime();
11proj.set(Prj.START_DATE, startDate);
12
13Task task1 = proj.getRootTask().getChildren().add("Task 1");
14cal.set(2014, 9, 13, 8, 0, 0);
15task1.set(Tsk.START, cal.getTime());
16task1.set(Tsk.DURATION, proj.getDuration(29, TimeUnitType.Day));
17Task task2 = proj.getRootTask().getChildren().add("Task 2");
18
19// add child tasks to task 2
20Task task3 = task2.getChildren().add("Task 3");
21Task task4 = task2.getChildren().add("Task 4");
22
23cal.set(2014, 9, 15, 8, 0, 0);
24task3.set(Tsk.START, cal.getTime());
25task3.set(Tsk.DURATION, proj.getDuration(3, TimeUnitType.Day));
26task3.set(Tsk.CONSTRAINT_TYPE, ConstraintType.StartNoEarlierThan);
27task3.set(Tsk.CONSTRAINT_DATE, task3.get(Tsk.START));
28
29cal.set(2014, 9, 17, 8, 0, 0);
30task4.set(Tsk.START, cal.getTime());
31task4.set(Tsk.DURATION, proj.getDuration(3, TimeUnitType.Day));
32task4.set(Tsk.CONSTRAINT_TYPE, ConstraintType.StartNoEarlierThan);
33task4.set(Tsk.CONSTRAINT_DATE, task3.get(Tsk.START));
34
35task3.set(Tsk.PERCENT_COMPLETE, 50);
36task4.set(Tsk.PERCENT_COMPLETE, 70);
37
38proj.save(dataDir + "ProjectJava.mpp", SaveFileFormat.MPP);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.