Travailler avec les formules

Aspose.Tasks for .NET API prend en charge la lecture et l’écriture de formules dans les fichiers de projet MPP. La propriété Formula de la ExtendedAttributeDefinition fournit l’interface pour lire la valeur de la formule. Cet article décrit comment lire les formules des Extended Attributes locaux ainsi que des Extended Attributes Enterprise à partir du fichier MPP. Il montre également comment écrire des formules dans un fichier MPP.

Écriture de formules dans les Extended Attributes au format de fichier MPP

Vous pouvez définir des formules personnalisées et les affecter aux Extended Attributes d’un projet. Aspose.Tasks écrit ces formules dans des fichiers MPP tout en préservant la compatibilité avec Microsoft Project.

 1Project project = new Project("New Project.mpp");
 2project.Set(Prj.NewTasksAreManual, false);
 3
 4// Create new custom field (Task Text1) with formula which will double task cost
 5ExtendedAttributeDefinition attr = ExtendedAttributeDefinition.CreateTaskDefinition(CustomFieldType.Text, ExtendedAttributeTask.Text1, "Custom");
 6attr.Alias = "Double Costs";
 7attr.Formula = "[Cost]*2";
 8project.ExtendedAttributes.Add(attr);
 9
10// Add a task
11Task task = project.RootTask.Children.Add("Task");
12
13// Set task cost
14task.Set(Tsk.Cost, 100);
15
16project.Save("WriteFormulasInExtendedAttributesToMPP_out.mpp", SaveFileFormat.MPP);

Lecture des formules dans les Extended Attributes locaux et Enterprise à partir d’un fichier MPP

Aspose.Tasks permet d’accéder aux formules définies dans les Extended Attributes locaux et Enterprise. Cela permet d’extraire et d’analyser de manière programmatique la logique métier personnalisée intégrée dans les fichiers MPP.

1Project project = new Project("New Project.mpp"); // Attached test mpp
2// Read extended attribute formula
3ExtendedAttributeDefinition attr = project.ExtendedAttributes[0];
4Console.WriteLine("Attribute Formula: " + attr.Formula);

Accès en lecture seule aux valeurs des champs personnalisés lors de l’utilisation de formules

Lorsque des formules sont appliquées aux Extended Attributes, les valeurs résultantes des champs personnalisés sont en lecture seule. Aspose.Tasks garantit que les valeurs calculées restent cohérentes avec les formules définies dans le fichier MPP.

 1// Create new project and extended attribute definition
 2Project project = new Project();
 3
 4ExtendedAttributeDefinition attribute = ExtendedAttributeDefinition.CreateTaskDefinition(CustomFieldType.Cost, ExtendedAttributeTask.Cost1, "");
 5attribute.Formula  = "[Cost]-[Actual Cost]";
 6
 7project.ExtendedAttributes.Add(attribute);
 8
 9// Add task
10Task task = project.RootTask.Children.Add("Task");
11
12// Create extended attribute
13ExtendedAttribute extendedAttribute = attribute.CreateExtendedAttribute();
14task.ExtendedAttributes.Add(extendedAttribute);
15
16// Display if extended attributes are read only or not
17Console.WriteLine(extendedAttribute.ValueReadOnly == true ? "Value is Read only" : "Value is not read only");
18extendedAttribute.NumericValue = -1000000M;
19Console.WriteLine(extendedAttribute.NumericValue == -1000000M ? "Formula values are read-only" : "Values are not read-only");
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.