Робота з фактичними властивостями Task
Contents
[
Hide
Show
]Фактичні властивості використовуються для з’ясування того, скільки часу чи грошей було надіслано на сьогоднішній день.
Робота з фактичними властивостями
Статичний клас TSK розкриває ряд властивостей для визначення фактичних властивостей завдання:
- Фактична вартості: фактична вартість завдання (подвійний).
- Фактична ціна: фактична вартість понаднормових завдань (подвійна).
- FactorOvertimework: Фактичний понаднормовий час працював над завданням (Timespan).
- Фактична діяльність: фактична тривалість завдання (часовий час).
- Фактично: Дата та час, коли насправді почалося завдання (DateTime).
- Фактичнофініш: дата та час, коли завдання фактично закінчилося (DateTime).
- ACWP: Фактична вартість роботи, виконана за завданням (подвійний).
Клас ChildTasksCollector збирає всі дитячі завдання з даної ROOTTAST, коли вони використовуються за допомогою Taskutils.
Фактичні властивості в Microsoft Project
Для доступу до цих властивостей у проекті Microsoft:
- У меню Переглянути виберіть Більше переглядів, а потім Введення завдань.
- У меню вставити виберіть стовпчик **** і додайте потрібні стовпці до форми запису завдання.
Отримання фактичних властивостей з aspose.tasks
Фактичні властивості завдань можна отримати шляхом передачі завдань у проекті. Зразок коду, наведеному нижче, записує фактичні властивості для всіх завдань, знайдених у проекті до консольного вікна.
1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3
4// Create Project instance
5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ActualTaskProperties.mpp");
6
7// Create a ChildTasksCollector instance
8System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>();
9
10// Collect all the tasks from RootTask using TaskUtils
11TaskUtils::Apply(project->get_RootTask(), collector, 0);
12
13// Parse through all the collected tasks
14
15{
16 auto task_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(task_enumerator->get_Current()) task;
18 while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true))
19 {
20 System::Console::WriteLine(System::String(u"Task Name : ") + task->Get(Tsk::Name()));
21 System::Console::WriteLine(System::String(u"Actual Start: ") + task->Get<System::DateTime>(Tsk::ActualStart()).ToLongDateString());
22 System::Console::WriteLine(System::String(u"Actual Finish: ") + task->Get<System::DateTime>(Tsk::ActualFinish()).ToLongDateString());
23 System::Console::WriteLine(System::String(u"Actual Duration: ") + System::Convert::ToString(task->Get<Duration>(Tsk::ActualDuration()).get_TimeSpan().get_Hours()));
24 System::Console::WriteLine(System::String(u"Actual Cost: ") + System::Convert::ToString(task->Get<System::Decimal>(Tsk::ActualCost())));
25 System::Console::WriteLine(u"---------------------------------------------");
26 }
27}