Travailler avec les tâches
Contents
[
Hide
Show
]Microsoft Project permet aux utilisateurs d’attribuer des heures supplémentaires aux tâches. Aspose.Tasks pour l’API C ++ prend en charge cette fonctionnalité à travers deux propriétés dans la classe de tâches.
Au fil du temps
Le TSK expose plusieurs propriétés pour travailler avec des heures supplémentaires:
- Overtimecost: lit et écrit la somme du coût réel et restant des heures supplémentaires (double).
- Overtimework: lit et écrit le nombre d’heures supplémentaires prévues pour une tâche (Timespan).
View du projet Microsoft des heures supplémentaires de la tâche
Pour voir les propriétés du travail et des coûts des heures supplémentaires d’une tâche:
- Dans le formulaire d’entrée de tâche, sélectionnez le menu INSERT puis Colonne.
- Ajoutez les colonnes d’heures supplémentaires.
Obtenir des tâches de temps dans Aspose.Tasks
L’exemple de code suivant montre comment obtenir le coût et le travail des heures supplémentaires associés à une tâche.
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}