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:

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:

  1. Abra el Entrada de tarea formulario.
  2. En el Insertar menú, seleccione Columna.
  3. 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

Preguntas frecuentes

P: ¿Puedo definir un patrón de código WBS personalizado?

P: ¿En qué se diferencia WBS de los números de esquema de tareas?

P: ¿Se pueden cambiar los códigos WBS después de la creación de la tarea?

P: ¿La renumeración sobrescribe los códigos personalizados existentes?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.