Trabajar con códigos de esquema en un proyecto
Los códigos de esquema en Microsoft Project son etiquetas personalizadas que le permiten definir una estructura alternativa del proyecto, distinta de códigos WBS o números de esquema. Son especialmente útiles cuando necesita categorizar tareas o recursos según los estándares organizacionales o empresariales. Con Aspose.Tasks for .NET, puede recuperar, analizar y gestionar los códigos de esquema y sus propiedades, tales como Alias
, AllLevelsRequired
, Enterprise
, EnterpriseOutlineCodeAlias
, FieldId
, FieldName
, PhoneticAlias
, Guid
, Masks
, y Values
.
Lectura de códigos de esquema
La
Project clase expone la
OutlineCodes colección, que contiene
OutlineCodeDefinition objetos.
Estas definiciones proporcionan información detallada sobre cada código de esquema.
El siguiente ejemplo muestra cómo leer la información de códigos de esquema de un proyecto:
1Project project = new Project("New Project.mpp");
2
3foreach (OutlineCodeDefinition ocd in project.OutlineCodes)
4{
5 Console.WriteLine("Alias = " + ocd.Alias);
6 if (ocd.AllLevelsRequired)
7 Console.WriteLine("It contains property: must have all levels");
8 else
9 Console.WriteLine("It does not contain property: must have all levels");
10 if (ocd.Enterprise)
11 Console.WriteLine("It is an enterprise custom outline code.");
12 else
13 Console.WriteLine("It is not an enterprise custom outline code.");
14
15 Console.WriteLine("Reference to another custom field for which this outline code definition is an alias is = " + ocd.EnterpriseOutlineCodeAlias);
16 Console.WriteLine("Field Id = " + ocd.FieldId);
17 Console.WriteLine("Field Name = " + ocd.FieldName);
18 Console.WriteLine("Phonetic Alias = " + ocd.PhoneticAlias);
19 Console.WriteLine("Guid = " + ocd.Guid);
20
21 // Display outline code masks
22 foreach (OutlineMask outlineMask in ocd.Masks)
23 {
24 Console.WriteLine("Level of a mask = " + outlineMask.Level);
25 Console.WriteLine("Mask = " + outlineMask.ToString());
26 }
27
28 // Display out line code values
29 foreach (OutlineValue outlineMask1 in ocd.Values)
30 {
31 Console.WriteLine("Description of outline value = " + outlineMask1.Description);
32 Console.WriteLine("Value Id = " + outlineMask1.ValueId);
33 Console.WriteLine("Value = " + outlineMask1.Value);
34 Console.WriteLine("Type = " + outlineMask1.Type);
35 }
36}
Comprobar la unicidad del Id de código de esquema
Al trabajar con códigos de esquema, Aspose.Tasks for .NET comprueba automáticamente la unicidad de los Outline Code IDs. Si se encuentran IDs duplicados, se reemplazan por valores únicos para mantener la integridad de los datos.
1Project project = new Project("New Project.mpp");
2
3OutlineCodeDefinition textOutline = new OutlineCodeDefinition();
4textOutline.FieldId = ExtendedAttributeTask.OutlineCode7.ToString("D");
5textOutline.Alias = "My Outline Code";
6
7project.OutlineCodes.Add(textOutline);
8
9OutlineMask mask = new OutlineMask();
10mask.Type = MaskType.Characters;
11textOutline.Masks.Add(mask);
12
13OutlineValue textValue = new OutlineValue();
14textValue.Value = "Text value 1";
15textValue.ValueId = 1;
16textValue.Type = OutlineValueType.Text;
17textValue.Description = "Text value descr 1";
18textOutline.Values.Add(textValue);
19
20project.Save("MultipleOutlineValues.mpp", SaveFileFormat.MPP);
Los códigos de esquema ofrecen una forma potente de añadir categorización y estructura personalizadas a los datos de Microsoft Project.
Al usar Aspose.Tasks for .NET, puede acceder y gestionar programáticamente estos códigos, asegurando la coherencia y eliminando errores como identificadores duplicados.
Esto facilita la aplicación de estándares empresariales y mejora la elaboración de informes y el análisis del proyecto.