Arbeiten mit Aufgaben
Manchmal ist es nicht möglich, eine Aufgabe wie geplant abzuschließen, und sie muss in zwei oder mehr Teile aufgeteilt werden. Microsoft Project unterstützt das Aufteilen von Aufgaben, und Aspose.Tasks for .NET stellt dieselbe Funktionalität programmgesteuert bereit.
Aufteilen von Aufgaben
Die SplitParts Eigenschaft, die von der Task Klasse wird verwendet, um die Aufteilungsteile einer Aufgabe zu bestimmen, während SplitTask Methode, die von der ResourceAssignment Klasse verwendet wird, um eine einzelne Aufgabe in mehrere Teile zu unterteilen. SplitParts gibt eine Sammlung der Aufteilungsteile zurück, während die SplitTask-Methode Startdatum-, Enddatum- und Kalenderargumente akzeptiert, um die Aufgabe aufzuteilen.
Aufteilen und Anzeigen von Aufgaben in Microsoft Project
In Microsoft Project können Sie eine Aufgabe folgendermaßen aufteilen:
- Wählen Sie eine lange Aufgabe aus, die Sie teilen möchten.
- Auf der Task Registerkarte, in der Schedule Gruppe, klicken Sie auf Aufgabe teilen.
- Klicken Sie an die Stelle auf der Aufgabenleiste, an der die Teilung erfolgen soll.
Geteilte Aufgaben werden in der Gantt Chart Ansicht angezeigt und sind durch eine gestrichelte Linie verbunden.
Beispiel: Erstellen und Aufteilen einer Aufgabe
Das folgende Beispiel zeigt, wie man ein Projekt erstellt, eine Aufgabe hinzufügt, eine Ressource zuweist und die Aufgabe programmgesteuert aufteilt:
1// Create new project
2Project splitTaskProject = new Project();
3
4// Get a standard calendar
5Calendar calendar = splitTaskProject.Get(Prj.Calendar);
6
7// Set project's calendar settings
8splitTaskProject.Set(Prj.StartDate, new DateTime(2000, 3, 15, 8, 0, 0));
9splitTaskProject.Set(Prj.FinishDate, new DateTime(2000, 4, 21, 17, 0, 0));
10
11// Add a new task to root task
12Task rootTask = splitTaskProject.RootTask;
13rootTask.Set(Tsk.Name, "Root");
14Task taskToSplit = rootTask.Children.Add("Task1");
15taskToSplit.Set(Tsk.Duration, splitTaskProject.GetDuration(3));
16
17// Create a new resource assignment and generate timephased data
18ResourceAssignment splitResourceAssignment = splitTaskProject.ResourceAssignments.Add(taskToSplit, null);
19splitResourceAssignment.TimephasedDataFromTaskDuration(calendar);
20
21// Split the task into 3 parts.
22// Provide start date and finish date arguments to SplitTask method which will be used for split
23splitResourceAssignment.SplitTask(new DateTime(2000, 3, 16, 8, 0, 0), new DateTime(2000, 3, 16, 17, 0, 0), calendar);
24splitResourceAssignment.SplitTask(new DateTime(2000, 3, 18, 8, 0, 0), new DateTime(2000, 3, 18, 17, 0, 0), calendar);
25splitResourceAssignment.Set(Asn.WorkContour, WorkContourType.Contoured);
26
27splitTaskProject.Save("CreateSplitTasks_out.xml", SaveFileFormat.XML);Beispiel: Geteilte Aufgaben anzeigen
Das nächste Beispiel zeigt, wie man in einem Projekt geteilte Aufgaben identifiziert und deren Details auf der Konsole ausgibt:
1Project project = new Project("New Project.mpp");
2
3// Access task
4Task splitTask = project.RootTask.Children.GetById(4);
5
6// Display split parts of task
7SplitPartCollection collection = splitTask.SplitParts;
8foreach (SplitPart splitPart in collection)
9{
10 Console.WriteLine("Index: " + splitPart.Index + " Start: " + splitPart.Start + " Finish: " + splitPart.Finish);
11}Wichtige Hinweise
- Das Aufteilen von Aufgaben hilft, reale Unterbrechungen in Projektplänen zu modellieren.
- Die
SplitTaskMethode löscht keine Arbeit — sie verteilt die vorhandene Arbeit auf separate Intervalle. - Die
SplitPartsEigenschaft ermöglicht Entwicklern, jeden Abschnitt einzeln zu analysieren und zu verarbeiten. - Funktioniert konsistent mit MPP und XML Projektformaten.
Häufig gestellte Fragen
F: Kann eine Aufgabe mehr als zwei Aufteilungen haben?
- Ja. Eine Aufgabe kann in mehrere Segmente unterteilt werden.
F: Beeinflusst das Aufteilen die Aufgabendauer?
- Die Gesamtdauer ändert sich abhängig von der Platzierung der Aufteilungsintervalle, aber die Gesamtarbeit bleibt unverändert.
F: Können geteilte Aufgaben wieder zusammengeführt werden?
- In Microsoft Project können Sie Balken manuell anpassen, um Teilungen zu entfernen. In Aspose.Tasks können Sie dies verwalten, indem Sie Aufgaben-Zuweisungen zurücksetzen oder die Aufgabe neu erstellen.
F: Wird diese Funktion für wiederkehrende Aufgaben unterstützt?
- Nein. Das Aufteilen ist für reguläre Aufgaben gedacht, nicht für Definitionen wiederkehrender Aufgaben.