Работа с 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, вы можете программно получать доступ к этим кодам и управлять ими, обеспечивая согласованность и устраняя ошибки, такие как дублирующиеся идентификаторы.
Это облегчает обеспечение соблюдения корпоративных стандартов и улучшает отчетность и анализ проекта.