Actualizar definiciones y valores del código de esquema
Contents
[
Hide
Show
]Aspose.Tasks para la API C ++ proporciona la instalación para agregar nuevos atributos del código de esquema a un archivo MPP de Microsoft Project existente y guardarlo de nuevo.
Actualización de definiciones y valores del código de esquema
La siguiente muestra de código define nuevos códigos de esquema y establece sus diversos campos. Los códigos y los valores de los esquemas se agregan a los códigos de esquema del proyecto y los datos actualizados se guardan nuevamente en el archivo MPP. Los pasos involucrados en esta actividad son:
- Cree una instancia de Project Reader.
- Lea el archivo MPP de origen.
- Definir nuevos objetos OutlineValue y establecer los parámetros.
- Agregue los códigos de esquema a los códigos del proyecto.
- Guarde los datos actualizados del proyecto al archivo 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);