Mettre à jour les définitions et les valeurs du code
Contents
[
Hide
Show
]Aspose.Tasks pour l’API C ++ fournit l’installation pour ajouter de nouveaux attributs de code de contour à un fichier Microsoft Project MPP existant et la recommencer.
Mise à jour des définitions et valeurs de code de code
L’exemple de code suivant définit les nouveaux codes de contour et définit ses différents champs. Les codes et les valeurs des contours sont ensuite ajoutés aux codes de contour du projet et les données mises à jour sont enregistrées dans le fichier MPP. Les étapes impliquées dans cette activité sont:
- Créez une instance de Project Reader.
- Lisez le fichier Source MPP.
- Définissez de nouveaux objets OutlineValue et définissez les paramètres.
- Ajoutez les codes de contour aux codes du projet.
- Enregistrez les données du projet mises à jour dans le fichier MPP.
1System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
2System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project.mpp");
3
4// Define outline code and its outline mask
5System::SharedPtr<OutlineCodeDefinition> code1 = System::MakeObject<OutlineCodeDefinition>();
6code1->set_Alias(u"New task outline code1");
7code1->set_FieldId(System::Convert::ToString(((int32_t)Aspose::Tasks::ExtendedAttributeTask::OutlineCode1)));
8code1->set_FieldName(u"Outline Code1");
9System::SharedPtr<OutlineMask> mask = System::MakeObject<OutlineMask>();
10mask->set_Separator(u"+");
11mask->set_Level(1);
12mask->set_Type(Aspose::Tasks::MaskType::Numbers);
13code1->get_Masks()->Add(mask);
14
15// Add outline value
16System::SharedPtr<OutlineValue> value = System::MakeObject<OutlineValue>();
17value->set_Description(u"Value description");
18value->set_ValueId(1);
19value->set_Value(u"123456");
20value->set_Type(Aspose::Tasks::OutlineValueType::Number);
21code1->get_Values()->Add(value);
22
23// Add outline code to project
24project->get_OutlineCodes()->Add(code1);
25
26// Define outline code and its outline mask
27System::SharedPtr<OutlineCodeDefinition> code2 = System::MakeObject<OutlineCodeDefinition>();
28code2->set_Alias(u"New rsc outline code2");
29code2->set_FieldId(System::Convert::ToString(((int32_t)Aspose::Tasks::ExtendedAttributeResource::OutlineCode2)));
30code2->set_FieldName(u"Outline Code2");
31System::SharedPtr<OutlineMask> mask2 = System::MakeObject<OutlineMask>();
32mask2->set_Separator(u"/");
33mask2->set_Level(1);
34mask2->set_Type(Aspose::Tasks::MaskType::Numbers);
35code2->get_Masks()->Add(mask2);
36
37// Add outline value
38System::SharedPtr<OutlineValue> value2 = System::MakeObject<OutlineValue>();
39value2->set_Description(u"Value2 description");
40value2->set_ValueId(2);
41value2->set_Value(u"987654");
42value2->set_Type(Aspose::Tasks::OutlineValueType::Number);
43code2->get_Values()->Add(value2);
44
45// Add outline code to project
46project->get_OutlineCodes()->Add(code2);
47
48// Save project as MPP
49project->Save(dataDir + u"Updated_project_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);