Работа с WBS, связанным с задачей
Коды WBS (Структура декомпозиции работ) позволяют назначать порядковые номера задач в соответствии с потребностями вашего бизнеса. Они обеспечивают настраиваемую схему структурирования для организации и анализа проекта. Aspose.Tasks for .NET полностью поддерживает работу со значениями WBS программно.
Работа со Структурой декомпозиции работ (WBS) в Aspose.Tasks for .NET
В Microsoft Project, the Структура декомпозиции работ (WBS) является иерархической схемой, которая определяет структуру задач в проекте. Она помогает руководителям проекта организовывать, идентифицировать и отслеживать результаты проекта. Aspose.Tasks for .NET обеспечивает полную поддержку работы со значениями WBS программно. Вы можете использовать следующие свойства Tsk class:
- WBS – возвращает или задаёт полный иерархический код WBS задачи (например, 1.2.3).
- WBSLevel – возвращает или задаёт глубину (уровень) задачи в иерархии WBS.
Эти свойства позволяют разработчикам читать и обновлять структуру задач при обработке файлов Microsoft Project (MPP/XML).
Просмотр WBS в Microsoft Project
Чтобы просмотреть информацию о WBS в Microsoft Project:
- Откройте Task Entry форму.
- На Insert меню выберите Column.
- Добавьте WBS столбец для отображения значений WBS задач.
Пример: Чтение WBS задачи
Ниже приведён пример, показывающий, как получить значение WBS задачи с помощью 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}
Пример: Добавление определений кодов WBS
Aspose.Tasks for .NET позволяет определять пользовательские правила кодов WBS с помощью WBSCodeDefinition
class. Это позволяет генерировать структурированные коды WBS, аналогичные 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);
Пример: Перенумерация кодов WBS
Так же как Microsoft Project предоставляет функцию Renumber , Aspose.Tasks for .NET также может программно перенумеровать коды WBS:
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}
Основные моменты
- Коды WBS предоставляют иерархический вид задач проекта.
- Вы можете читать, назначать и настраивать коды WBS с помощью Aspose.Tasks.
- Этот
WBSCodeDefinition
class предоставляет тонкий контроль над форматированием и структурой WBS. - Коды WBS можно программно перенумеровать для поддержания согласованности.
- Поддерживается как в MPP так и в XML форматах.
Часто задаваемые вопросы
В: Могу ли я определить собственный шаблон кода WBS?
- Да. Используйте
WBSCodeDefinition
class для создания пользовательских правил.
В: Чем WBS отличается от номеров контура задач?
- Номера контура генерируются системой, тогда как коды WBS можно настраивать в соответствии с бизнес-правилами.
В: Можно ли изменять коды WBS после создания задачи?
- Да. Значения WBS можно обновлять или перенумеровывать в любое время.
В: Перезаписывает ли перенумерация существующие пользовательские коды?
- Да. При перенумерации коды WBS регенерируются в соответствии с определённой схемой.