Робота з проектами

Режими обчислення проекту

Aspose.Tasks Aspose.Tasks для java API забезпечує три режими обчислення проекту, які визначають, як обчислюються значення залежних властивостей, коли встановлюється значення властивості.

Ці режими обчислення:

Наведені нижче приклади показують використання кожного з них за допомогою зразків коду.

Режим обчислення проекту - Немає

 1// створити порожній проект і встановіть режим обчислення ні
 2
 3Project Project = новий проект ();
 4
 5project.setCalculationMode (CarcumumulationMode.None);
 6
 7
 8
 9// Додати нове завдання
10
11Завдання завдання = project.getRooTask (). GetChildren (). Додати ("Завдання");
12
13
14
15Date Mindate = новий Gregoriancalendar (1, Calendar. January, 1) .getTime ();
16
17
18
19// Зауважте, що навіть ідентифікатори не були обчислені
20
21System.out.println ("Ідентифікатор завдання дорівнює 0:" + task.get (tsk.id) .equals (0));
22
23System.out.println ("Початок завдання дорівнює 01/01/0001:" + task.get (tsk.start) .equals (Mindate));
24
25System.out.println ("Завдання завдання дорівнює 01/01/0001:" + task.get (tsk.finish) .equals (Mindate));
26
27System.out.println ("Тривалість завдань дорівнює 0 хв:" + task.get (tsk.duration).
28
29
30
31// Встановити властивість тривалості
32
33task.set (tsk.duration, project.getDuration (2, timeUnittype.day));
34
35System.out.println ("Тривалість завдань дорівнює 2 дні:" + task.get (tsk.duration).
36
37System.out.println ("Початок завдання дорівнює 01/01/0001:" + task.get (tsk.start) .equals (Mindate));
38
39System.out.println ("Завдання завдання дорівнює 01/01/0001:" + task.get (tsk.finish) .equals (Mindate));

Режим обчислення проекту - Посібник

 1// Створити порожній проект та встановіть режим обчислення в ручне
 2
 3Project Project = новий проект ();
 4
 5project.setCalculationMode (CarcumulationMode.Manual);
 6
 7
 8
 9// Встановіть дату початку проекту та додайте нові завдання
10
11project.set (prj.start_date, New Gregoriancalendar (2015, Calendar.april, 15) .getTime ());
12
13Task Task1 = project.getRooTask (). GetChildren (). Додати ("Завдання 1");
14
15Task Task2 = project.getRoottask (). GetChildren (). Додати ("Завдання 2");
16
17
18
19// необхідні властивості встановлюються в ручному режимі
20
21Дата старта = новий Gregoriancalendar (2015, Calendar.april, 15, 8, 0, 0) .getTime ();
22
23Дата закінчення = новий Gregoriancalendar (2015, Calendar.april, 15, 17, 0, 0) .getTime ();
24
25System.out.println ("Task1 ID дорівнює 1:" + Task1.get (tsk.id) .equals (1));
26
27System.out.println ("Task1 START дорівнює 15/04/2015 08:00 AM:" + Task1.get (tsk.start) .equals (start));
28
29System.out.println ("Завдання1 фініш дорівнює 15/04/2015 17:00:" + Task1.get (tsk.finish) .equals (Finish));
30
31System.out.println ("Task1 Тривалість дорівнює 1 день:" + task1.get (tsk.duration).
32
33System.out.println ("Task2 START дорівнює 15/04/2015 08:00 AM:" + TASS2.get (tsk.start) .equals (start));
34
35System.out.println ("Завдання2 фініш дорівнює 15/04/2015 17:00:" + Task2.get (tsk.finish) .equals (Finish));
36
37System.out.println ("Task2 Тривалість дорівнює 1 день:" + task2.get (tsk.duration).
38
39
40
41// Коли ми пов'язуємо два завдання разом, їх дати не перераховуються в ручному режимі
42
43TaskLink Link = project.getTaskLinks (). Додати (Task1, Task2, TaskLinkType.Finishtostart);
44
45
46
47// Початок завдання 2 не змінено
48
49System.out.println ("Task1 START дорівнює завдання2 запуск:" + task1.get (tsk.start) .equals (task2.get (tsk.start)));
50System.out.println ("Завдання1 фініш дорівнює завданням 2 закінчення:" + task1.get (tsk.finish) .equals (task2.get (tsk.finish)));

Режим обчислення проекту - Автоматичний

 1// Створити порожній проект та встановіть режим обчислення на автоматичне
 2
 3Project Project = новий проект ();
 4
 5project.setCalculationMode (CarculationMode.Automatic);
 6
 7
 8
 9// Встановіть дату початку проекту та додайте нові завдання
10
11project.set (prj.start_date, New Gregoriancalendar (2015, Calendar.april, 15) .getTime ());
12
13Task Task1 = project.getRooTask (). GetChildren (). Додати ("Завдання 1");
14
15Task Task2 = project.getRoottask (). GetChildren (). Додати ("Завдання 2");
16
17
18
19// Посилання завдань
20
21TaskLink Link = project.getTaskLinks (). Додати (Task1, Task2, TaskLinkType.Finishtostart);
22
23
24
25// Перевірте дати перераховано
26
27Календар cal = календар.getInstance ();
28
29Cal.setTime (Task1.get (tsk.start));
30
31cal.add (календар.date, 1);
32
33Дата завдання1startplusoneday = cal.getTime ();
34
35System.out.println ("Task1 Start + 1 дорівнює завдання2 запуск:" + task1startplusoneday.equals (task2.get (tsk.start));
36
37
38
39Cal.setTime (Task1.get (tsk.finish));
40
41cal.add (календар.date, 1);
42
43Дата завдання1finishplusoneday = cal.getTime ();
44
45System.out.println ("Завдання1 фініш + 1 дорівнює завданням2 закінчення:" + task1finishplusoneday.equals (task2.get (tsk.finish)));
46
47
48
49System.out.println ("Roottask Finish Tack2 Finish:" + project.getRooTask (). Get (tsk.finish) .equals (task2.get (tsk.finish)));
50
51System.out.println ("Дата закінчення проекту дорівнює завданням 2 закінчення:" + project.get (prj.finish_date) .equals (task2.get (tsk.finish)));
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.