So fügen Sie erweiterte Attribute zu Ressourcen-Zuweisungen hinzu
Wie Aufgaben und Ressourcen können auch Ressourcen-Zuweisungen erweiterte Attribute erhalten. Aspose.Tasks for .NET API ermöglicht es Ihnen, Ihre Projektdaten zu erweitern, indem Sie sowohl einfache als auch Nachschlageattribute an Ressourcen-Zuweisungen anhängen. Dadurch können Sie zusätzliche Metadaten speichern und die Projektberichterstattung flexibler gestalten.
Hinzufügen erweiterter Attribute zu Ressourcen-Zuweisungen
In diesem Beispiel zeigen wir, wie Sie ein erweitertes Attribut direkt einer Ressourcen-Zuweisung erstellen und zuweisen. Dieser Ansatz ist nützlich, wenn Sie benutzerdefinierte Daten nachverfolgen müssen, die nicht zu den standardmäßigen Microsoft Project-Feldern gehören.
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);
Hinzufügen von Nachschlageattributen zu Ressourcen-Zuweisungen
Der folgende Code zeigt, wie Nachschlagewerte für erweiterte Attribute verwendet werden. Mit Nachschlageattributen können Sie sicherstellen, dass die Daten von Ressourcen-Zuweisungen vordefinierten Listen entsprechen, wodurch menschliche Fehler reduziert und Projektinformationen konsistent gehalten werden.
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);
Häufig gestellte Fragen
Frage: Muss Microsoft Project installiert sein, um mit erweiterten Attributen zu arbeiten?
- Antwort: Nein. Aspose.Tasks for .NET funktioniert unabhängig von Microsoft Project.
Frage: Kann ich sowohl einfache als auch Nachschlageattribute im selben Projekt definieren?
- Antwort: Ja. Sie können einfache und Nachschlageattribute je nach Bedarf Ihres Projekts kombinieren.
Frage: Werden durch Aspose.Tasks hinzugefügte erweiterte Attribute beim Öffnen des Projekts in Microsoft Project angezeigt?
- Antwort: Ja. Erweiterte Attribute werden von Microsoft Project vollständig unterstützt und sind beim Öffnen der Datei sichtbar.
Fazit
Das Hinzufügen erweiterter Attribute zu Ressourcen-Zuweisungen in Aspose.Tasks for .NET bietet Flexibilität bei der Verwaltung zusätzlicher Projektdaten. Ob Sie einfache oder Nachschlageattribute verwenden, Sie können Ihre Projektdateien mit benutzerdefinierten Feldern anreichern, die Datenintegrität durchsetzen und Ihre Berichterstattung leistungsfähiger gestalten, ohne dass Microsoft Project installiert sein muss. Diese Funktionalität macht Aspose.Tasks zu einer zuverlässigen Wahl für die professionelle Automatisierung des Projektmanagements in C#.