Работа с Outline Codes в проекте

Outline codes в Microsoft Project — это пользовательские метки, которые позволяют определить альтернативную структуру проекта, отличную от WBS codes или outline numbers. Они особенно полезны, когда необходимо классифицировать задачи или ресурсы в соответствии с организационными или корпоративными стандартами. С помощью Aspose.Tasks for .NET, вы можете извлекать, анализировать и управлять Outline codes и их свойствами, такими как Alias, AllLevelsRequired, Enterprise, EnterpriseOutlineCodeAlias, FieldId, FieldName, PhoneticAlias, Guid, Masks, и Values.

Чтение Outline Codes

Класс Project предоставляет коллекцию OutlineCodes , которая содержит объекты OutlineCodeDefinition .
Эти определения содержат подробную информацию о каждом Outline code.

Следующий пример демонстрирует, как прочитать информацию об outline code из проекта:

 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}

Проверка уникальности Outline Code Id

При работе с outline codes, Aspose.Tasks for .NET автоматически проверяет уникальность Outline Code IDs. Если обнаруживаются дублирующиеся ID, они заменяются уникальными значениями для поддержания целостности данных.

 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);

Outline codes предоставляют мощный способ добавить пользовательскую категоризацию и структуру к данным Microsoft Project.
Используя Aspose.Tasks for .NET, вы можете программно получать доступ к этим кодам и управлять ими, обеспечивая согласованность и устраняя ошибки, такие как дублирующиеся идентификаторы.
Это облегчает обеспечение соблюдения корпоративных стандартов и улучшает отчетность и анализ проекта.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.