Cómo escribir datos de Task actualizados en MPP

Aspose.Tasks for .NET permite a los desarrolladores actualizar la información de tareas (como Deadline, NotesText, IDs y estructura) y luego escribir estos cambios de vuelta en archivos de Microsoft Project en MPP o XML formato. Esto permite modificar programáticamente proyectos existentes sin editarlos manualmente en Microsoft Project.

Actualización de datos de Task en Aspose.Tasks

Al trabajar con cronogramas de proyecto, es común actualizar las tareas después de la planificación — por ejemplo, ajustar Deadline, cambiar NotesText de la tarea o agregar nuevos elementos. Aspose.Tasks proporciona un flujo de trabajo sencillo para este proceso:

  1. Crear una instancia de la Project class.
  2. Cargar el archivo MPP de origen.
  3. Acceder al Task object and modify its properties.
  4. Actualizar parámetros tales como Deadline, NotesText, Start/Finish dates, o IDs.
  5. Opcionalmente, agregar nuevas tareas al root task o como subtasks.
  6. Guardar el proyecto actualizado de vuelta en MPP/XML.

Ejemplo: Actualizar datos de Task y guardar en MPP

El siguiente ejemplo muestra cómo actualizar el Deadline de una tarea, agregar NotesText y encontrar los IDs de la tarea antes de escribir el proyecto actualizado en disco:

 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);

Este fragmento muestra cómo los desarrolladores pueden modificar programáticamente las tareas existentes y preservar las actualizaciones en archivos MPP. Esto es particularmente útil al sincronizar sistemas externos con datos de Microsoft Project.

Notas clave

Preguntas frecuentes

P: ¿Puedo agregar nuevas tareas mientras actualizo un proyecto existente?

P: ¿Se conservan los custom fields al escribir los datos actualizados?

P: ¿Necesito Microsoft Project instalado para guardar los cambios?

P: ¿Puedo actualizar los recursos de la tarea junto con los datos de la tarea?

P: ¿Cómo realizar el seguimiento de referencias de tareas entre proyectos?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.