Робота з фактичними властивостями Task

Фактичні властивості використовуються для з’ясування того, скільки часу чи грошей було надіслано на сьогоднішній день.

Робота з фактичними властивостями

Статичний клас TSK розкриває ряд властивостей для визначення фактичних властивостей завдання:

Клас ChildTasksCollector збирає всі дитячі завдання з даної ROOTTAST, коли вони використовуються за допомогою Taskutils.

Фактичні властивості в Microsoft Project

Для доступу до цих властивостей у проекті Microsoft:

  1. У меню Переглянути виберіть Більше переглядів, а потім Введення завдань.
  2. У меню вставити виберіть стовпчик **** і додайте потрібні стовпці до форми запису завдання.

Отримання фактичних властивостей з 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}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.