Travailler avec le WBS associé à une tâche
Les codes WBS (Work Breakdown Structure) vous permettent d’attribuer des numéros d’outline aux tâches en fonction des besoins de votre entreprise. Ils fournissent un schéma d’organisation personnalisé pour structurer et analyser un projet. Aspose.Tasks pour .NET prend entièrement en charge la manipulation programmée des valeurs WBS.
Travailler avec la structure de répartition du travail (WBS) dans Aspose.Tasks pour .NET
Dans Microsoft Project, la structure de répartition du travail (WBS) est un plan hiérarchique qui définit la structure des tâches au sein d’un projet. Il aide les chefs de projet à organiser, identifier et suivre les livrables du projet. Aspose.Tasks pour .NET offre une prise en charge complète du traitement programmatique des valeurs WBS. Vous pouvez utiliser les propriétés suivantes de la Tsk class:
- WBS – renvoie ou définit le code WBS hiérarchique complet d’une tâche (par exemple 1.2.3).
- WBSLevel – renvoie ou définit la profondeur (niveau) de la tâche au sein de la hiérarchie WBS.
Ces propriétés permettent aux développeurs de lire et mettre à jour la structure des tâches lors du traitement des fichiers Microsoft Project (MPP/XML).
Affichage du WBS dans Microsoft Project
Pour afficher les informations WBS dans Microsoft Project :
- Ouvrez le Task Entry formulaire.
- Dans le Insert menu, sélectionnez Column.
- Ajoutez la WBS colonne pour afficher les valeurs WBS des tâches.
Exemple : lecture du WBS d’une tâche
L’exemple suivant montre comment obtenir la valeur WBS d’une tâche en utilisant Aspose.Tasks :
1Project project = new Project("New Project.mpp");
2
3// Create a ChildTasksCollector instance
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Collect all the tasks from RootTask using TaskUtils
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Parse through all the collected tasks
10foreach (Task task in collector.Tasks)
11{
12 Console.WriteLine(task.Get(Tsk.WBS));
13 Console.WriteLine(task.Get(Tsk.WBSLevel));
14
15 // Set custom WBS
16 task.Set(Tsk.WBS, "custom wbs" + task.Get(Tsk.WBS));
17}
Exemple : ajout de définitions de code WBS
Aspose.Tasks pour .NET permet de définir des règles personnalisées de code WBS en utilisant la WBSCodeDefinition
class. Cela permet de générer des codes WBS structurés similaires à ceux de Microsoft Project.
1Project proj = new Project();
2
3proj.WBSCodeDefinition = new WBSCodeDefinition();
4proj.WBSCodeDefinition.GenerateWBSCode = true;
5proj.WBSCodeDefinition.VerifyUniqueness = true;
6proj.WBSCodeDefinition.CodePrefix = "CRS-";
7
8WBSCodeMask mask = new WBSCodeMask();
9mask.Length = 2;
10mask.Separator = "-";
11mask.Sequence = WBSSequence.OrderedNumbers;
12proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
13
14mask = new WBSCodeMask();
15mask.Length = 1;
16mask.Separator = "-";
17mask.Sequence = WBSSequence.OrderedUppercaseLetters;
18proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
19
20Task task = proj.RootTask.Children.Add("Task 1");
21Task child = task.Children.Add("Task 2");
22
23proj.Recalculate();
24proj.Save("AddWBSCodes_out.xml", SaveFileFormat.XML);
Exemple : renumérotation des codes WBS
Tout comme Microsoft Project propose la Renumber fonction, Aspose.Tasks pour .NET peut également renuméroter les codes WBS de manière programmatique :
1Project project = new Project("New Project.mpp");
2
3Console.WriteLine("WBS codes before: ");
4
5// output: ""; "1"; "2"; "4"
6foreach (Task task in project.RootTask.SelectAllChildTasks())
7{
8 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
9}
10
11project.RenumberWBSCode(new List<int> { 1, 2, 3 });
12// project.RenumberWBSCode(); // this overload can be used instead
13
14Console.WriteLine("WBS codes after: ");
15
16// output: ""; "1"; "2"; "3"
17foreach (Task task in project.RootTask.SelectAllChildTasks())
18{
19 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
20}
Points clés
- Les codes WBS fournissent une vue hiérarchique des tâches du projet.
- Vous pouvez lire, attribuer et personnaliser les codes WBS avec Aspose.Tasks.
- La
WBSCodeDefinition
class donne un contrôle précis sur le formatage et la structure des WBS. - Les codes WBS peuvent être renumérotés de manière programmatique pour maintenir la cohérence.
- Prise en charge pour les deux MPP et XML formats.
FAQ
Q : Puis-je définir un modèle de code WBS personnalisé ?
- Oui. Utilisez la
WBSCodeDefinition
class pour créer des règles personnalisées.
Q : En quoi le WBS diffère-t-il des numéros hiérarchiques des tâches ?
- Les numéros hiérarchiques sont générés par le système, tandis que les codes WBS peuvent être personnalisés pour correspondre aux règles métier.
Q : Les codes WBS peuvent-ils être modifiés après la création d’une tâche ?
- Oui. Les valeurs WBS peuvent être mises à jour ou renumérotées à tout moment.
Q : La renumérotation écrase-t-elle les codes personnalisés existants ?
- Oui. La renumérotation régénère les codes WBS en fonction du schéma défini.