Работа с фактическими свойствами задачи

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

Работа с реальными свойствами

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

Класс DhistSkScollector собирает все детские задачи из данной ротты при использовании TaskUtils.

Фактические свойства в Microsoft Project

Чтобы получить доступ к этим свойствам в Microsoft Project:

  1. В меню View выберите Больше представлений, а затем запись задачи.
  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.