Trabajar con el WBS asociado a una tarea
Los códigos WBS (Estructura de Desglose del Trabajo) le permiten asignar números de esquema a las tareas según las necesidades de su empresa. Proporcionan un esquema personalizado para estructurar y analizar un proyecto. Aspose.Tasks for .NET admite completamente el manejo de valores WBS de forma programática.
Trabajar con la Estructura de Desglose del Trabajo (WBS) en Aspose.Tasks for .NET
En Microsoft Project, la Estructura de Desglose del Trabajo (WBS) es un esquema jerárquico que define la estructura de las tareas dentro de un proyecto. Ayuda a los gerentes de proyecto a organizar, identificar y rastrear los entregables del proyecto. Aspose.Tasks for .NET proporciona soporte completo para trabajar con valores WBS de forma programática. Puede usar las siguientes propiedades de la Tsk clase:
- WBS – devuelve o establece el código WBS jerárquico completo de una tarea (por ejemplo, 1.2.3).
- WBSLevel – devuelve o establece la profundidad (nivel) de la tarea dentro de la jerarquía WBS.
Estas propiedades permiten a los desarrolladores leer y actualizar la estructura de las tareas al procesar archivos de Microsoft Project (MPP/XML).
Ver WBS en Microsoft Project
Para ver la información WBS en Microsoft Project:
- Abra el Entrada de tarea formulario.
- En el Insertar menú, seleccione Columna.
- Agregue la WBS columna para mostrar los valores WBS de las tareas.
Ejemplo: Lectura del WBS de una tarea
El siguiente ejemplo muestra cómo obtener el valor WBS de una tarea usando Aspose.Tasks:
1Project project = new Project("New Project.mpp");
2
3// Create a ChildTasksCollector instance
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Collect all the tasks from RootTask using TaskUtils
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Parse through all the collected tasks
10foreach (Task task in collector.Tasks)
11{
12 Console.WriteLine(task.Get(Tsk.WBS));
13 Console.WriteLine(task.Get(Tsk.WBSLevel));
14
15 // Set custom WBS
16 task.Set(Tsk.WBS, "custom wbs" + task.Get(Tsk.WBS));
17}
Ejemplo: Agregar definiciones de código WBS
Aspose.Tasks for .NET permite definir reglas personalizadas de código WBS usando la WBSCodeDefinition
clase. Esto permite generar códigos WBS estructurados similares a Microsoft Project.
1Project proj = new Project();
2
3proj.WBSCodeDefinition = new WBSCodeDefinition();
4proj.WBSCodeDefinition.GenerateWBSCode = true;
5proj.WBSCodeDefinition.VerifyUniqueness = true;
6proj.WBSCodeDefinition.CodePrefix = "CRS-";
7
8WBSCodeMask mask = new WBSCodeMask();
9mask.Length = 2;
10mask.Separator = "-";
11mask.Sequence = WBSSequence.OrderedNumbers;
12proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
13
14mask = new WBSCodeMask();
15mask.Length = 1;
16mask.Separator = "-";
17mask.Sequence = WBSSequence.OrderedUppercaseLetters;
18proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
19
20Task task = proj.RootTask.Children.Add("Task 1");
21Task child = task.Children.Add("Task 2");
22
23proj.Recalculate();
24proj.Save("AddWBSCodes_out.xml", SaveFileFormat.XML);
Ejemplo: Renumeración de códigos WBS
Al igual que Microsoft Project proporciona la Renumber función, Aspose.Tasks for .NET también puede renumerar códigos WBS de forma programática:
1Project project = new Project("New Project.mpp");
2
3Console.WriteLine("WBS codes before: ");
4
5// output: ""; "1"; "2"; "4"
6foreach (Task task in project.RootTask.SelectAllChildTasks())
7{
8 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
9}
10
11project.RenumberWBSCode(new List<int> { 1, 2, 3 });
12// project.RenumberWBSCode(); // this overload can be used instead
13
14Console.WriteLine("WBS codes after: ");
15
16// output: ""; "1"; "2"; "3"
17foreach (Task task in project.RootTask.SelectAllChildTasks())
18{
19 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
20}
Notas clave
- WBS códigos ofrecen una vista jerárquica de las tareas del proyecto.
- Puede leer, asignar y personalizar códigos WBS con Aspose.Tasks.
- La
WBSCodeDefinition
clase proporciona un control detallado sobre el formato y la estructura WBS. - Los códigos WBS pueden renumerarse programáticamente para mantener la coherencia.
- Compatible tanto con MPP y XML formatos.
Preguntas frecuentes
P: ¿Puedo definir un patrón de código WBS personalizado?
- Sí. Utilice la
WBSCodeDefinition
clase para crear reglas personalizadas.
P: ¿En qué se diferencia WBS de los números de esquema de tareas?
- Los números de esquema son generados por el sistema, mientras que los códigos WBS pueden personalizarse para ajustarse a las reglas empresariales.
P: ¿Se pueden cambiar los códigos WBS después de la creación de la tarea?
- Sí. Los valores WBS pueden actualizarse o renumerarse en cualquier momento.
P: ¿La renumeración sobrescribe los códigos personalizados existentes?
- Sí. La renumeración regenera los códigos WBS según el esquema definido.