Tareas críticas y de esfuerzo
Microsoft Project reconoció varios tipos diferentes de tareas. Las tareas sin duración, por ejemplo, se consideran hitos por defecto. Las tareas críticas constituyen la ruta crítica, una o una serie de tareas que, en última instancia, determinan cuánto tiempo llevará un proyecto.
Trabajar con tareas críticas y de esfuerzo
La clase TSK expone las propiedades iscríticas e isfortividas para manejar tareas críticas e impulsadas por el esfuerzo:
- Iscrítico establece o obtiene si una tarea es crítica (valor de bool).
- ISEFFORTRIVE: Establece o obtiene si una tarea está impulsada por el esfuerzo (valor de bool).
Tareas críticas y de esfuerzo en el proyecto Microsoft
Para verificar si una tarea es crítica o impulsada por el esfuerzo en el proyecto de Microsoft, haga doble clic en una tarea en el formulario de entrada de tarea:
Obtener tareas críticas y impulsadas por el esfuerzo
Los siguientes ejemplos de código demuestran cómo obtener información sobre si una tarea es crítica o impulsada por el esfuerzo.
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}