Ressourcenzuweisungen erstellen

Ressourcenzuweisungen stellen die Verbindung zwischen Aufgaben und Ressourcen dar. Sie legen fest, wie viel Zeit oder Aufwand einer Ressource für eine bestimmte Aufgabe aufgewendet wird. Aspose.Tasks for .NET bietet mehrere Möglichkeiten, Ressourcenzuweisungen zu erstellen und geben Entwicklern die Flexibilität, Projektdaten programmgesteuert zu verwalten, ohne Microsoft Project.

Ressourcenzuweisungen erstellen

Die Resource class ermöglicht das Erstellen von Zuweisungen auf zwei Arten:

  1. Durch Verwendung des Standardkonstruktors.
  2. Durch Übergeben einer Aufgabe und einer Resource beim Instanziieren eines ResourceAssignment.

Programmierbeispiel: Standardkonstruktor

In diesem Beispiel erstellen wir eine ResourceAssignment Instanz, ohne Parameter zu übergeben. Dieser Ansatz ist nützlich, wenn Sie eine Zuweisung zuerst initialisieren und ihre Eigenschaften später festlegen möchten.

1// Create empty project
2Project project = new Project();
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 desired task
9ResourceAssignment assignment = project.ResourceAssignments.Add(task, resource);

Mehrere Ressourcenzuweisungen erstellen

Sie können außerdem mehrere Ressourcen einer einzigen Aufgabe zuweisen. Im folgenden Beispiel zeigen wir, wie man mehrere Ressourcenzuweisungen für eine Aufgabe erstellt und für jede Resource benutzerdefinierte Anfangs- und Enddaten festlegt.

 1Project project = new Project("New Project.mpp")
 2{
 3    CalculationMode = CalculationMode.Automatic
 4};
 5
 6project.Set(Prj.DateFormat, DateFormat.DateDddMmDdYy);
 7project.Set(Prj.StartDate, new DateTime(2019, 9, 16, 9, 0, 0));
 8project.Set(Prj.NewTasksAreManual, false);
 9project.Set(Prj.ActualsInSync, false);
10
11Resource workResource = project.Resources.Add("Servente (Work)");
12workResource.Set(Rsc.Name, "Servente (Work)");
13workResource.Set(Rsc.Initials, "S");
14workResource.Set(Rsc.Type, ResourceType.Work);
15workResource.Set(Rsc.StandardRateFormat, RateFormatType.Hour);
16workResource.Set(Rsc.Code, "1503");
17
18Resource materialResource = project.Resources.Add("Tijolo (Material)");
19materialResource.Set(Rsc.Name, "Tijolo (Material)");
20materialResource.Set(Rsc.Initials, "T");
21materialResource.Set(Rsc.Type, ResourceType.Material);
22materialResource.Set(Rsc.StandardRateFormat, RateFormatType.MaterialResourceRate);
23materialResource.Set(Rsc.Code, "21341");
24
25Task task1 = project.RootTask.Children.Add("Task - 01");
26task1.Set(Tsk.IsRollup, new NullableBool(true));
27task1.Set(Tsk.IsPublished, new NullableBool(false));
28Task task2 = task1.Children.Add("Task - 01.01");
29task2.Set(Tsk.IsRollup, new NullableBool(true));
30task2.Set(Tsk.IsPublished, new NullableBool(false));
31Task task3 = task2.Children.Add("Task - 01.01.001");
32task3.Set(Tsk.IsEstimated, new NullableBool(false));
33task3.Set(Tsk.Start, new DateTime(2019, 9, 16, 9, 0, 0));
34task3.Set(Tsk.Duration, project.GetDuration(10, TimeUnitType.Day));
35task3.Set(Tsk.Work, project.GetDuration(10, TimeUnitType.Day));
36task3.Set(Tsk.IsRollup, new NullableBool(true));
37task3.Set(Tsk.IsPublished, new NullableBool(false));
38
39ResourceAssignment assignment1 = project.ResourceAssignments.Add(task3, materialResource);
40assignment1.Set(Asn.Delay, project.GetDuration(40, TimeUnitType.Hour));
41assignment1.Set(Asn.Start, new DateTime(2019, 9, 23, 9, 0, 0));
42assignment1.Set(Asn.Finish, new DateTime(2019, 9, 27, 18, 0, 0));
43ResourceAssignment assignment2 = project.ResourceAssignments.Add(task3, workResource);
44assignment2.Set(Asn.Work, project.GetDuration(56, TimeUnitType.Hour));
45assignment2.Set(Asn.Start, new DateTime(2019, 9, 16, 9, 0, 0));
46assignment2.Set(Asn.Finish, new DateTime(2019, 9, 24, 18, 0, 0));
47
48// to match expected MPP fully
49assignment2.Set(Asn.WorkContour, WorkContourType.Contoured);
50task3.Set(Tsk.IsManual, new NullableBool(true));
51task1.Set(Tsk.IsManual, new NullableBool(true));
52
53project.Save("Assignment_Dates.mpp", SaveFileFormat.MPP);

Häufig gestellte Fragen

F: Muss Microsoft Project installiert sein, um Ressourcenzuweisungen zu erstellen?

F: Kann ich mehrere Ressourcen derselben Aufgabe zuweisen?

F: Werden mit Aspose.Tasks erstellte Ressourcenzuweisungen in Microsoft Project sichtbar?

Fazit

Das Erstellen von Ressourcenzuweisungen mit Aspose.Tasks for .NET ermöglicht Entwicklern, Aufgaben und Ressourcen programmgesteuert zu verknüpfen, Arbeitsbelastungen zu verwalten und flexible Zuweisungsparameter zu definieren. Egal, ob Sie eine einfache Zuweisung initialisieren oder mehrere Ressourcen für eine einzelne Aufgabe konfigurieren, Aspose.Tasks stellt die Werkzeuge bereit, um diese Vorgänge nahtlos in C# zu verarbeiten, ohne auf Microsoft Project angewiesen zu sein.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.