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:
- Crear una instancia de la Project class.
- Cargar el archivo MPP de origen.
- Acceder al Task object and modify its properties.
- Actualizar parámetros tales como Deadline, NotesText, Start/Finish dates, o IDs.
- Opcionalmente, agregar nuevas tareas al root task o como subtasks.
- 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
- Puede actualizar la mayoría de las propiedades de la tarea, incluyendo Deadlines, Notes, Start/Finish dates, and custom fields.
- Las tareas pueden añadirse, modificarse o eliminarse programáticamente antes de guardar.
- Los proyectos actualizados pueden guardarse en MPP y XML formatos sin requerir que Microsoft Project esté instalado.
- Los IDs de tarea (Original ID, External ID) pueden obtenerse para referencias entre proyectos.
- Aspose.Tasks garantiza la integridad de los datos al escribir de nuevo en los archivos de proyecto.
Preguntas frecuentes
P: ¿Puedo agregar nuevas tareas mientras actualizo un proyecto existente?
- Sí. Puede insertar nuevas tareas en el root task o como subtasks antes de guardar.
P: ¿Se conservan los custom fields al escribir los datos actualizados?
- Sí. Aspose.Tasks mantiene los valores de custom fields al guardar archivos MPP/XML actualizados.
P: ¿Necesito Microsoft Project instalado para guardar los cambios?
- No. Aspose.Tasks funciona de forma independiente y no requiere Microsoft Project.
P: ¿Puedo actualizar los recursos de la tarea junto con los datos de la tarea?
- Sí. Puede modificar tanto los detalles de la tarea como los recursos asignados de forma programática.
P: ¿Cómo realizar el seguimiento de referencias de tareas entre proyectos?
- Utilice las Original ID y External ID properties para identificar tareas vinculadas entre múltiples proyectos.