Робота з завданнями
Contents
[
Hide
Show
]Microsoft Project дозволяє користувачам призначати понаднормові завдання. Aspose.Tasks для C ++ API підтримує цю функціональність через два властивості в класі завдань.
понаднормово
TSK розкриває кілька властивостей для роботи з понаднормово:
- Overtimecost: читає та пише суму фактичної та залишки понаднормових витрат (подвійний).
 - Overtimework: читає та пише кількість понаднормових, запланованих на завдання (часовий проміжок).
 
Microsoft Project View Project Project Overwreeway
Щоб побачити властивості та витрати на понаднормовий час:
- У формі запису завдань виберіть меню вставити, а потім стовпчик.
 - Додайте стовпці понаднормових.
 
Отримання завдань у Aspose.tasks
Наступний приклад коду демонструє, як отримати понаднормову вартість та роботу, пов’язану з завданням.
 1// Read project from file stream
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"TaskOvertimes.mpp", System::IO::FileMode::Open);
 4System::SharedPtr<Project> project1 = System::MakeObject<Project>(fs);
 5fs->Close();
 6    
 7// Read overtime and percentage completion for tasks
 8    
 9{
10    auto tsk1_enumerator = (project1->get_RootTask()->get_Children())->GetEnumerator();
11    decltype(tsk1_enumerator->get_Current()) tsk1;
12    while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
13    {
14        System::Console::WriteLine(tsk1->Get<System::Decimal>(Tsk::OvertimeCost()));
15        System::Console::WriteLine(System::ObjectExt::ToString(tsk1->Get<Duration>(Tsk::OvertimeWork())));
16        System::Console::WriteLine(tsk1->Get<int32_t>(Tsk::PercentComplete()));
17        System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PercentWorkComplete())));
18        System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PhysicalPercentComplete())));
19        
20        // Set percent complete
21        tsk1->Set<int32_t>(Tsk::PercentComplete(), 100);
22    }
23}