Arbeiten mit Aufgaben
Manchmal ist es nicht möglich, eine geplante Aufgabe zu erledigen, und sie muss in zwei oder mehr Teile aufgeteilt werden. Aspose.Tasks für .NET unterstützt diese Microsoft -Projektfunktion.
Aufgaben aufgeteilt
Die von der Aufgabe Klasse ausgesetzte Eigenschaft SplitParts wird verwendet, um die geteilten Teile einer Aufgabe zu bestimmen, während Splittask -Methode, die durch die Klasse ResourceAssignment ausgesetzt ist, verwendet wird, um eine einzelne Aufgabe in mehrere Teile aufzuteilen. SplitParts gibt eine Sammlung von geteilten Teilen zurück, während die Splittask -Methode Startdatum, Enddatum und Kalenderargumente akzeptiert, um die Aufgabe zu teilen.
Aufteilen und Anzeigen von Aufgaben im Microsoft -Projekt
Um eine Aufgabe im Microsoft -Projekt aufzuteilen:
- Identifizieren Sie eine lange Aufgabe und Sie möchten teilen.
- Wählen Sie im Menü Task die Zeitplan Gruppe und klicken Sie auf TAP -Task.
- Klicken Sie auf die Position, die Sie die Aufgabe teilen möchten.
Um Split -Aufgaben in Microsoft Project zu sehen, kann man Gantt -Diagramm im Menü View auswählen. Split -Aufgaben sind durch eine gepunktete Linie verknüpft.
Erstellen und Teilen von Aufgaben
Befolgen Sie die folgenden Schritte, um eine Aufgabe zu erstellen und zu teilen:
- Erstellen Sie ein neues Projekt.
- Erstellen und weisen Sie dem Projekt einen neuen Kalender zu und weisen Sie es zu.
- Erstellen und fügen Sie eine neue Aufgabe im Projekt hinzu.
- Erstellen und fügen Sie eine neue Ressourcenzuweisung im Projekt zu und fügen Sie sie hinzu.
- Verwenden Sie die Splittask -Methode, die von der Ressourcenassignment -Klasse aufgedeckt wurde, um die Aufgabe zu teilen.
- Schreiben Sie das neue Projekt auf die Festplatte.
Der folgende Code zeigt, wie diese Aufgaben erledigt werden können:
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);
Viewing Split Tasks with Aspose.Tasks
The following example shows how to identify split tasks and printing their details to a console window.
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}