Wie man mit Umrisscodes in Projekten arbeitet
Benutzerdefinierte Gliederungscodes sind Tags, die Sie für Aufgaben oder Ressourcen definieren, die eine Projektstruktur bieten, die sich von WBS -Codes oder Umrissnummern unterscheidet. Mit ASPOSPE.Beaks für C ++ können Sie diese Umrisscodes und deren Eigenschaften wie Alias, AllevelsRequired, Enterprise, EnterpriseoutLineCodealias, FieldID, Fieldname, Phoneticalias, Guid, Masken und Werte abrufen.
Leserleitungscodes
Die Projektklasse enthüllt OutlineCodes, eine Sammlung von überarbeiteten Elementen. Die überarbeitete Ausleitung enthält alle Details, wie im folgenden Beispielcode gezeigt.
Die folgenden Codezeilen rufen die Umrisscodeinformationen eines Projekts ab.
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"OutlineCodes.mpp");
2
3
4{
5 auto ocd_enumerator = (project->get_OutlineCodes())->GetEnumerator();
6 decltype(ocd_enumerator->get_Current()) ocd;
7 while (ocd_enumerator->MoveNext() && (ocd = ocd_enumerator->get_Current(), true))
8 {
9 System::Console::WriteLine(System::String(u"Alias = ") + ocd->get_Alias());
10 if (ocd->get_AllLevelsRequired())
11 {
12 System::Console::WriteLine(u"It contains property: must have all levels");
13 }
14 else
15 {
16 System::Console::WriteLine(u"It does not contain property: must have all levels");
17 }
18 if (ocd->get_Enterprise())
19 {
20 System::Console::WriteLine(u"It is an enterprise custom outline code.");
21 }
22 else
23 {
24 System::Console::WriteLine(u"It is not an enterprise custom outline code.");
25 }
26
27 System::Console::WriteLine(System::String(u"Reference to another custom field for which this outline code definition is an alias is = ") + ocd->get_EnterpriseOutlineCodeAlias());
28 System::Console::WriteLine(System::String(u"Field Id = ") + ocd->get_FieldId());
29 System::Console::WriteLine(System::String(u"Field Name = ") + ocd->get_FieldName());
30 System::Console::WriteLine(System::String(u"Phonetic Alias = ") + ocd->get_PhoneticAlias());
31 System::Console::WriteLine(System::String(u"Guid = ") + ocd->get_Guid());
32
33 // Display outline code masks
34
35 {
36 auto outlineMask_enumerator = (ocd->get_Masks())->GetEnumerator();
37 decltype(outlineMask_enumerator->get_Current()) outlineMask;
38 while (outlineMask_enumerator->MoveNext() && (outlineMask = outlineMask_enumerator->get_Current(), true))
39 {
40 System::Console::WriteLine(System::String(u"Level of a mask = ") + outlineMask->get_Level());
41 System::Console::WriteLine(System::String(u"Mask = ") + System::ObjectExt::ToString(outlineMask));
42 }
43 }
44
45 // Display out line code values
46
47 {
48 auto outlineMask1_enumerator = (ocd->get_Values())->GetEnumerator();
49 decltype(outlineMask1_enumerator->get_Current()) outlineMask1;
50 while (outlineMask1_enumerator->MoveNext() && (outlineMask1 = outlineMask1_enumerator->get_Current(), true))
51 {
52 System::Console::WriteLine(System::String(u"Description of outline value = ") + outlineMask1->get_Description());
53 System::Console::WriteLine(System::String(u"Value Id = ") + outlineMask1->get_ValueId());
54 System::Console::WriteLine(System::String(u"Value = ") + outlineMask1->get_Value());
55 System::Console::WriteLine(System::String(u"Type = ") + System::ObjectExt::ToString(outlineMask1->get_Type()));
56 }
57 }
58 }
59}
Check Outline Code Id Uniqueness
While working with OutlineCode, Aspose.Tasks shall check the uniqueness of the Outline Code Id and duplicate Ids will be replaced with unique values.
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"OutlineValues2010.mpp");
2
3System::SharedPtr<OutlineCodeDefinition> textOutline = System::MakeObject<OutlineCodeDefinition>();
4textOutline->set_FieldId(System::Convert::ToString((int)Aspose::Tasks::ExtendedAttributeTask::OutlineCode7));
5textOutline->set_Alias(u"My Outline Code");
6
7project->get_OutlineCodes()->Add(textOutline);
8
9System::SharedPtr<OutlineMask> mask = System::MakeObject<OutlineMask>();
10mask->set_Type(Aspose::Tasks::MaskType::Characters);
11textOutline->get_Masks()->Add(mask);
12
13System::SharedPtr<OutlineValue> textValue = System::MakeObject<OutlineValue>();
14textValue->set_Value(u"Text value 1");
15textValue->set_ValueId(1);
16textValue->set_Type(Aspose::Tasks::OutlineValueType::Text);
17textValue->set_Description(u"Text value descr 1");
18textOutline->get_Values()->Add(textValue);
19
20project->Save(dataDir + u"MultipleOutlineValues.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);