Як записати оновлені дані завдання у MPP
Aspose.Tasks for .NET дозволяє розробникам оновлювати інформацію про завдання (наприклад, Deadline, Notes, IDs та структуру) і потім записувати ці зміни назад у файли Microsoft Project у MPP або XML формат. Це дозволяє програмно змінювати існуючі проекти без ручного редагування їх у Microsoft Project.
Оновлення даних Task у Aspose.Tasks
При роботі з розкладом проекту зазвичай оновлюють завдання після планування — наприклад, коригують Deadline, змінюють Notes або додають нові елементи. Aspose.Tasks надає простий робочий процес для цього:
- Створіть екземпляр Project класу.
- Завантажте вихідний файл MPP.
- Отримайте доступ до Task об’єкта та змініть його властивості.
- Оновіть параметри, такі як Deadline, NotesText, Start/Finish dates, або IDs.
- За потреби додайте нові завдання до кореневого завдання або як підзавдання.
- Збережіть оновлений проект назад у MPP/XML.
Приклад: Оновлення даних Task та збереження у MPP
Наведений приклад показує, як оновити Deadline завдання, додати Notes і знайти ID завдань перед записом оновленого проекту на диск:
1Project project = new Project("New Project.mpp");
2
3// Set project start date
4project.Set(Prj.StartDate, new DateTime(2012, 07, 29, 8, 0, 0));
5
6// Add summary task and set its properties
7Task summary = project.RootTask.Children.Add("Summary task");
8Task task = summary.Children.Add("First task");
9task.Set(Tsk.Duration, project.GetDuration(3));
10task.Set(Tsk.Deadline, task.Get(Tsk.Start).AddDays(10));
11task.Set(Tsk.NotesText, "The first task.");
12task.Set(Tsk.DurationFormat, TimeUnitType.MinuteEstimated);
13task.Set(Tsk.ConstraintType, ConstraintType.FinishNoLaterThan);
14task.Set(Tsk.ConstraintDate, task.Get(Tsk.Deadline).AddDays(-1));
15
16
17// Create 10 new sub tasks for summary task
18for (int i = 0; i < 10; i++)
19{
20 Task subTask = summary.Children.Add(string.Format("Task{0}", i + 2));
21 subTask.Set(Tsk.Duration, task.Get(Tsk.Duration).Add(project.GetDuration(i + 1)));
22 subTask.Set(Tsk.DurationFormat, TimeUnitType.Day);
23 subTask.Set(Tsk.Deadline, task.Get(Tsk.Deadline).AddDays(i + 1));
24}
25
26project.Save("UpdateTaskData_out.mpp", SaveFileFormat.MPP);
Цей фрагмент показує, як розробники можуть програмно змінювати існуючі завдання та зберігати оновлення у файлах MPP. Це особливо корисно при синхронізації зовнішніх систем з даними Microsoft Project.
Ключові моменти
- Ви можете оновити більшість властивостей завдання, включаючи Deadlines, Notes, Start/Finish dates та власні поля.
- Завдання можна додавати, змінювати або видаляти програмно перед збереженням.
- Оновлені проекти можна зберегти у MPP та XML форматах без необхідності встановлювати Microsoft Project.
- ID завдань (Original ID, External ID) можна отримати для посилань між проектами.
- Aspose.Tasks гарантує цілісність даних при записі назад у файли проекту.
Поширені питання
П: Чи можу я додати нові завдання під час оновлення існуючого проекту?
- Так. Ви можете вставити нові завдання у кореневе завдання або як підзавдання перед збереженням.
П: Чи зберігаються custom fields під час запису оновлених даних?
- Так. Aspose.Tasks зберігає значення власних полів під час збереження оновлених файлів MPP/XML.
П: Чи потрібно мати встановлений Microsoft Project, щоб зберегти зміни?
- Ні. Aspose.Tasks працює автономно і не вимагає Microsoft Project.
П: Чи можу я оновити ресурси завдання разом із даними завдання?
- Так. Ви можете програмно змінювати як деталі завдання, так і призначені ресурси.
П: Як відстежувати посилання завдань між проектами?
- Використовуйте Original ID та External ID властивості, щоб ідентифікувати пов’язані завдання в різних проектах.