Trabajar con tareas en .NET
Administrar propiedades reales de la tarea es una parte esencial de la programación y la generación de informes del proyecto. En Aspose.Tasks for .NET, puede leer fácilmente el coste real, duración, fechas de inicio/fin, trabajo en horas extra, y más. Esto permite a los desarrolladores analizar el progreso del proyecto programáticamente, sin depender de Microsoft Project.
¿Qué son las Actual Properties?
Las Actual Properties le ayudan a averiguar cuánto trabajo, tiempo o dinero ya se ha invertido en una tarea. Estos valores son especialmente útiles para comparar el progreso planificado frente al real.
Propiedades comunes de Actual Properties
La clase estática Tsk expone los siguientes campos:
- ActualCost → coste real de la tarea (
double
) - ActualOvertimeCost → coste por horas extra (
double
) - ActualOvertimeWork → trabajo en horas extra (
TimeSpan
) - ActualDuration → duración real (
TimeSpan
) - ActualStart → cuándo comenzó realmente la tarea (
DateTime
) - ActualFinish → cuándo finalizó realmente la tarea (
DateTime
) - ACWP → Coste real del trabajo realizado (
double
)
Ver las Actual Properties en Microsoft Project
Si desea comparar valores dentro de MS Project:
- Abra el View menú → seleccione More Views → elija Task Entry.
- En el Insert menú → seleccione Column → agregue campos como Actual Start, Actual Finish, Actual Work, etc.
De este modo, puede verificar visualmente los mismos datos que Aspose.Tasks API proporciona programáticamente.
Lectura de Actual Properties en C#
A continuación hay un ejemplo que carga un archivo de proyecto (.mpp
) y muestra las propiedades reales de la tarea en la consola.
1// Create Project instance
2Project project = new Project("New Project.mpp");
3
4// Create a ChildTasksCollector instance
5ChildTasksCollector collector = new ChildTasksCollector();
6
7// Collect all the tasks from RootTask using TaskUtils
8TaskUtils.Apply(project.RootTask, collector, 0);
9
10// Parse through all the collected tasks
11foreach (Task task in collector.Tasks)
12{
13 Console.WriteLine("Task Name : " + task.Get(Tsk.Name));
14 Console.WriteLine("Actual Start: " + task.Get(Tsk.ActualStart).ToLongDateString());
15 Console.WriteLine("Actual Finish: " + task.Get(Tsk.ActualFinish).ToLongDateString());
16 Console.WriteLine("Actual Duration: " + task.Get(Tsk.ActualDuration).TimeSpan.Hours.ToString());
17 Console.WriteLine("Actual Cost: " + task.Get(Tsk.ActualCost).ToString());
18 Console.WriteLine("---------------------------------------------");
19}
Consejo: Puede usar
ChildTasksCollector
con
TaskUtils
para recuperar recursivamente todas las tareas desde la tarea raíz.
Beneficios clave
- Automatiza los informes del proyecto sin abrir Microsoft Project.
- Permite exportar los valores reales a paneles de control, Excel o bases de datos.
- Funciona con
.mpp
y otros formatos compatibles.
Preguntas frecuentes
Q: ¿Necesito Microsoft Project instalado para leer las Actual Properties?
- No. Aspose.Tasks for .NET funciona de forma independiente de Microsoft Project.
Q: ¿Puedo actualizar las Actual Properties programáticamente?
- Sí. Puede establecer valores para
ActualStart
,ActualFinish
, y otros antes de guardar el proyecto.
Q: ¿Esto funciona con Primavera o solo con MS Project?
- Aspose.Tasks admite múltiples formatos, pero las Actual Properties están alineadas principalmente con los campos de Microsoft Project.