trabajadoras en tareas
Microsoft Project tiene una estructura de esquema que permite a los usuarios obtener una visión general rápida de un proyecto. Aspose.Tasks for C ++ API admite esta funcionalidad y permite a los desarrolladores controlar el número de esquema, donde la tarea aparece en una jerarquía, y el nivel de esquema, en qué nivel de la jerarquía se encuentra la tarea.
Trabajar con propiedades de esquema
La clase TSK expone las propiedades OutlinEnnumber y OutlinElevel para administrar los contornos asociados con una clase:
- OutlinEnumber (cadena).
- Outlinelevel (entero).
Esquemas en el proyecto Microsoft
En el proyecto Microsoft, las propiedades del número de esquema y el nivel de esquema se pueden ver en el formulario de entrada de tareas agregando las columnas:
- En el menú Insertar, seleccione Columnas.
- Agregue las columnas OutlinEnnumber y OutlinElevel.
Obtener propiedades de esquema en Aspose.Tasks
El siguiente ejemplo muestra cómo obtener el nivel de esquema y la información del número de esquema sobre una tarea usando 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"TaskOutlineProperties.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::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Level : " + tsk1->Get<int32_t>(Tsk::OutlineLevel()));
21 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Number : " + tsk1->Get(Tsk::OutlineNumber()));
22 }
23}