Comment ajouter des attributs étendus aux affectations de ressources
Comme les tâches et les ressources, les attributs étendus peuvent également être ajoutés aux affectations de ressources. L’API Aspose.Tasks for .NET vous permet d’étendre les données de votre projet en attachant aux affectations de ressources des attributs étendus simples et des attributs étendus à valeurs prédéfinies. Cela vous permet de stocker des métadonnées supplémentaires et de rendre les rapports de projet plus flexibles.
Ajout d’attributs étendus à une affectation de ressource
Dans cet exemple, nous montrons comment créer et affecter un attribut étendu directement à une affectation de ressource. Cette approche est utile lorsque vous devez suivre des données personnalisées qui ne font pas partie des champs standard de Microsoft Project.
1// Create new project
2Project project = new Project("New Project.mpp");
3
4// Add new task and resource
5Task task = project.RootTask.Children.Add("Task");
6Resource resource = project.Resources.Add("Rsc");
7
8// Assign the resource to the desired task
9ResourceAssignment assignment = project.ResourceAssignments.Add(task, resource);
10
11// Custom attributes which is visible in "Resource Usage" view can be created with ExtendedAttributeDefinition.CreateResourceDefinition method.
12{
13 ExtendedAttributeDefinition resCostAttributeDefinition = ExtendedAttributeDefinition.CreateResourceDefinition(
14 CustomFieldType.Cost,
15 ExtendedAttributeResource.Cost5,
16 "My cost");
17
18 project.ExtendedAttributes.Add(resCostAttributeDefinition);
19
20 var value = resCostAttributeDefinition.CreateExtendedAttribute();
21
22 // The type of the attribute is "Cost", so we need to use "NumericValue" property.
23 value.NumericValue = 1500;
24
25 assignment.ExtendedAttributes.Add(value);
26}
27
28// Custom attributes which is visible in "Task Usage" view can be created with ExtendedAttributeDefinition.CreateTaskDefinition method
29{
30 ExtendedAttributeDefinition taskCostAttributeDefinition = ExtendedAttributeDefinition.CreateTaskDefinition(
31 CustomFieldType.Cost,
32 ExtendedAttributeTask.Cost5,
33 "My cost for task");
34
35 project.ExtendedAttributes.Add(taskCostAttributeDefinition);
36
37 var value = taskCostAttributeDefinition.CreateExtendedAttribute();
38
39 // The type of the attribute is "Cost", so we need to use "NumericValue" property.
40 value.NumericValue = 2300;
41
42 assignment.ExtendedAttributes.Add(value);
43}
44
45project.Save("AddExtendedAttributesToResourceAssignment_out.mpp", SaveFileFormat.MPP);
Ajout d’attributs étendus à valeurs prédéfinies à une affectation de ressource
Le code suivant montre comment utiliser des valeurs prédéfinies pour les attributs étendus. Avec les attributs à valeurs prédéfinies, vous pouvez garantir que les données d’affectation de ressources correspondent à des listes prédéfinies, réduisant les erreurs humaines et maintenant la cohérence des informations de projet.
1// Create new project
2Project project = new Project("New Project.mpp");
3
4// Assign resource "1 TRG: Trade Group" to the "TASK 1" by creating a ResourceAssignment object.
5Resource resource = project.Resources.GetById(1);
6Task task = project.RootTask.Children.GetById(1);
7
8ResourceAssignment assignment = project.ResourceAssignments.Add(task, resource);
9
10// Create custom attribute definition with lookup.
11ExtendedAttributeDefinition resCostAttr = ExtendedAttributeDefinition.CreateLookupResourceDefinition(
12 CustomFieldType.Cost,
13 ExtendedAttributeResource.Cost5,
14 "My lookup resource cost");
15project.ExtendedAttributes.Add(resCostAttr);
16
17var value1 = new Value { NumberValue = 1500, Description = "Val 1", Id = 1, Val = "1500" };
18
19resCostAttr.AddLookupValue(value1);
20
21resCostAttr.AddLookupValue(new Value { NumberValue = 2500, Description = "Val 2", Id = 2 });
22
23// This value can be seen in "Resource usage" view of MS Project.
24var attributeValue = resCostAttr.CreateExtendedAttribute(value1);
25assignment.ExtendedAttributes.Add(attributeValue);
26
27// Create custom attribute definition with lookup.
28ExtendedAttributeDefinition taskCostAttr = ExtendedAttributeDefinition.CreateLookupTaskDefinition(
29 ExtendedAttributeTask.Cost4,
30 "My lookup task cost");
31
32project.ExtendedAttributes.Add(taskCostAttr);
33
34var taskLookupValue1 = new Value { NumberValue = 18, Description = "Task val 1", Id = 3, Val = "18" };
35taskCostAttr.AddLookupValue(taskLookupValue1);
36
37resCostAttr.AddLookupValue(new Value { NumberValue = 30, Description = "Task val 2", Id = 4 });
38
39// This value can be seen in "Task usage" view of MS Project.
40assignment.ExtendedAttributes.Add(taskCostAttr.CreateExtendedAttribute(taskLookupValue1));
41
42project.Save("AddExtendedAttributesToRAWithLookUp_out.mpp", SaveFileFormat.MPP);
Foire aux questions
Q : Dois-je installer Microsoft Project pour travailler avec les attributs étendus ?
- Non. Aspose.Tasks for .NET fonctionne indépendamment de Microsoft Project.
Q : Puis-je définir à la fois des attributs étendus simples et des attributs étendus à valeurs prédéfinies dans le même projet ?
- Oui. Vous pouvez mélanger des attributs étendus simples et des attributs étendus à valeurs prédéfinies en fonction des besoins de votre projet.
Q : Les attributs étendus ajoutés via Aspose.Tasks apparaîtront-ils lors de l’ouverture du projet dans Microsoft Project ?
- Oui. Les attributs étendus sont entièrement pris en charge par Microsoft Project et seront visibles lorsque vous ouvrirez le fichier.
Conclusion
L’ajout d’attributs étendus aux affectations de ressources dans Aspose.Tasks for .NET offre une flexibilité pour gérer des données de projet supplémentaires. Que vous utilisiez des attributs étendus simples ou des attributs étendus à valeurs prédéfinies, vous pouvez enrichir vos fichiers de projet avec des champs personnalisés, garantir l’intégrité des données et rendre vos rapports plus puissants sans nécessiter l’installation de Microsoft Project. Cette fonctionnalité fait d’Aspose.Tasks un choix fiable pour l’automatisation professionnelle de la gestion de projet en C#.