Tâches critiques et axées sur l'effort
Microsoft Project a reconnu un certain nombre de types de tâches différents. Les tâches sans durée, par exemple, sont considérées comme des jalons par défaut. Les tâches critiques constituent le chemin critique, une ou une série de tâches qui, en fin de compte, déterminent la durée d’un projet.
Travailler avec des tâches critiques et axées sur les efforts
La classe TSK expose les propriétés iscritiques et ISEFFort pour gérer les tâches critiques et entraînées par l’effort:
- ISCRICAL ENGATS ou obtient si une tâche est critique (valeur bool).
- IsEffortDriven: définit ou obtient si une tâche est axée sur l’effort (valeur bool).
Tâches critiques et axées sur les efforts dans Microsoft Project
Pour vérifier si une tâche est critique ou axée sur l’effort dans le projet Microsoft, double-cliquez sur une tâche dans le formulaire d’entrée de tâche:
Obtenir des tâches critiques et axées sur les efforts
Les exemples de code suivants montrent comment obtenir des informations sur la question de savoir si une tâche est critique ou axée sur l’effort.
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"CriticalEffortDrivenTasks.mpp", System::IO::FileMode::Open);
4System::SharedPtr<Project> prj = System::MakeObject<Project>(fs);
5fs->Close();
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(prj->get_RootTask(), collector, 0);
12
13// Parse through all the collected tasks
14
15{
16 auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(tsk1_enumerator->get_Current()) tsk1;
18 while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
19 {
20 System::String strED = tsk1->Get<NullableBool>(Tsk::IsEffortDriven()).get_Value() ? System::String(u"EffortDriven") : System::String(u"Non-EffortDriven");
21 System::String strCrit = tsk1->Get<NullableBool>(Tsk::IsCritical()).get_Value() ? System::String(u"Critical") : System::String(u"Non-Critical");
22 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strED);
23 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" : " + strCrit);
24 }
25}