Mapeo de propiedades de Primavera a Aspose.Tasks for .NET
La API de Aspose.Tasks se basa en el modelo de objetos de Microsoft Project, que difiere del modelo utilizado en el software Primavera. Esto puede causar confusión, especialmente cuando ciertas propiedades comparten el mismo nombre en ambos modelos pero se calculan de manera diferente. Para mayor claridad, este artículo describe el mapeo de propiedades de Primavera a las propiedades de la API de Aspose.Tasks.
Propiedades de tareas
Primavera tiene dos entidades distintas para las tareas: la entidad WBS (Estructura de Desglose del Trabajo) para tareas de resumen y la entidad Actividad para tareas hoja.
Sin embargo, Aspose.Tasks no diferencia entre estas entidades y utiliza la entidad Task
para el mapeo en ambos casos.
Las tareas tienen la propiedad PrimaveraProperties
donde se almacenan los valores de propiedades específicas de Primavera. Estas propiedades son de solo lectura y se completan al leer el proyecto desde un formato de Primavera (
XER o
P6 XML). Los valores de estas propiedades no se recalculan durante el ciclo de vida del proyecto.
Por el contrario, las propiedades que se mapean directamente a propiedades de Task
se recalculan según la lógica de Microsoft Project durante el ciclo de vida del proyecto.
Nombre en Primavera P6 | Propiedad en Aspose.Tasks for .NET | Nombre en archivo XER | Nombre en archivo XML de Primavera | Comentario |
---|---|---|---|---|
Inicio planificado | Task.Start | target_start_date | PlannedStartDate | La fecha programada de inicio de la tarea |
Fin planificado | Task.Finish | target_end_date | PlannedFinishDate | La fecha programada de finalización de la tarea |
Inicio real | Task.ActualStart | act_start_date | ActualStartDate | Fecha y hora en que realmente comenzó la tarea |
Fin real | Task.ActualFinish | act_end_date | ActualFinishDate | Fecha en que se completó la tarea |
Inicio temprano restante | Task.PrimaveraProperties.RemainingEarlyStart | restart_date | RemainingEarlyStartDate | Igual al inicio temprano a menos que se use la opción de conservar fechas con nivelación de recursos |
Fin temprano restante | Task.PrimaveraProperties.RemainingEarlyFinish | reend_date | RemainingEarlyFinishDate | Igual al fin temprano a menos que se use la opción de conservar fechas con nivelación de recursos |
Inicio tardío restante | Task.PrimaveraProperties.RemainingLateStart | rem_late_start_date | RemainingLateStartDate | Última fecha para comenzar el trabajo restante sin retrasar el proyecto |
Fin tardío restante | Task.PrimaveraProperties.RemainingLateFinish | rem_late_end_date | RemainingLateFinishDate | Última fecha para finalizar el trabajo restante sin retrasar el proyecto |
Duración original/planificada | Task.Duration | target_drtn_hr_cnt | PlannedDuration | Tiempo laboral total desde la fecha de inicio planificada hasta la de fin |
Duración real | - | ActualDuration | Tiempo laboral desde el inicio real hasta la fecha de fin o actual (si está en curso) | |
Duración restante | Task.RemainingDuration | remain_drtn_hr_cnt | RemainingDuration | Tiempo laboral restante desde la fecha de inicio restante hasta la de fin |
Duración al finalizar | - | AtCompletionDuration | Se puede calcular como ActualDuration + RemainingDuration | |
Unidades reales de trabajo (mano de obra) | Task.ActualWork, Task.PrimaveraProperties.ActualLaborUnits | act_work_qty | ActualLaborUnits | Unidades reales de todos los recursos laborales asignados |
Unidades restantes de trabajo (mano de obra) | Task.RemainingWork | remain_work_qty | RemainingLaborUnits | Unidades restantes de todos los recursos laborales asignados |
Unidades planificadas de trabajo (mano de obra) | Task.Work | target_work_qty | PlannedLaborUnits | Unidades planificadas de todos los recursos laborales asignados |
Unidades al finalizar (mano de obra) | - | - | AtCompletionLaborUnits | Se puede calcular como ActualWork + RemainingWork |
Unidades reales (no laborales) | Task.PrimaveraProperties.ActualNonLaborUnits | act_equip_qty | ActualNonLaborUnits | Unidades reales de recursos no laborales asignados |
Unidades restantes (no laborales) | Task.PrimaveraProperties.RemainingNonLaborUnits | remain_equip_qty | RemainingNonLaborUnits | Unidades restantes de recursos no laborales asignados |
Costo total real | Task.ActualCost | - | - | Suma de los costos reales de las asignaciones de la tarea |
Costo total restante | Task.RemainingCost | - | - | Suma de los costos restantes de las asignaciones |
Costo total planificado (presupuestado) | Task.Cost | - | - | Suma de los costos presupuestados de las asignaciones |
Costo total al finalizar | - | - | - | Se puede calcular como ActualCost + RemainingCost |
Costo real de gastos | Task.PrimaveraProperties.ActualExpenseCost | - | - | Suma de los gastos reales de los registros de gastos |
Costo restante de gastos | Task.PrimaveraProperties.RemainingExpenseCost | - | - | Suma de los gastos restantes de los registros de gastos |
Costo de gastos al finalizar | - | - | - | Se puede calcular como ActualExpenseCost + RemainingExpenseCost |
Propiedades de asignación de recursos
La entidad ResourceAssignment
de Aspose.Tasks tiene una propiedad PrimaveraProperties
que contiene los valores específicos de Primavera. Estas propiedades son de solo lectura y se completan al cargar un proyecto desde un archivo XER o P6XML. No se recalculan durante el ciclo de vida del proyecto.
En cambio, las propiedades que están mapeadas directamente a las propiedades de ResourceAssignment
se recalculan según la lógica de Microsoft Project.
Nombre en Primavera P6 | Propiedad en Aspose.Tasks for .NET | Nombre en archivo XER | Nombre en archivo XML de Primavera | Comentario |
---|---|---|---|---|
Inicio planificado | ResourceAssignment.Start | target_start_date | PlannedStartDate | Fecha en la que el recurso debe comenzar el trabajo |
Fin planificado | ResourceAssignment.Finish | target_end_date | PlannedFinishDate | Fecha en la que el recurso debe finalizar el trabajo |
Inicio real | ResourceAssignment.ActualStart | act_start_date | ActualStartDate | Fecha en que el recurso comenzó el trabajo |
Fin real | ResourceAssignment.ActualFinish | act_end_date | ActualFinishDate | Fecha en que el recurso finalizó el trabajo |
Retraso planificado | ResourceAssignment.Delay | target_lag_drtn_hr_cnt | PlannedLag | Tiempo entre el inicio planificado de la tarea y del recurso |
Unidades restantes / Tiempo | ResourceAssignment.Units | remain_qty_per_hr | RemainingUnitsPerTime | Unidades por tiempo para el trabajo restante |
Unidades reales extra | ResourceAssignment.ActualOvertimeWork | act_ot_qty | ActualOvertimeUnits | Unidades de horas extra trabajadas |
Unidades regulares reales | - | act_reg_qty | ActualRegularUnits | Unidades regulares reales, calculables como ActualWork - ActualOvertimeWork |
Unidades reales totales | ResourceAssignment.ActualWork | - | ActualUnits | Suma de unidades regulares y extra |
Unidades restantes | ResourceAssignment.RemainingWork | remain_qty | RemainingUnits | Unidades de trabajo restantes |
Unidades presupuestadas | ResourceAssignment.Work | target_qty | PlannedUnits | Unidades de trabajo planificadas |
Unidades al finalizar | - | - | AtCompletionUnits | Se puede calcular como ActualWork + RemainingWork |
Costo regular real | - | act_reg_cost | ActualRegularCost | Costo real sin horas extra, calculable |
Costo real total | ResourceAssignment.ActualCost | - | ActualCost | Suma de costos normales y de horas extra |
Costo por horas extra real | ResourceAssignment.ActualOvertimeCost | act_ot_cost | ActualOvertimeCost | Costo de horas extra trabajadas |
Costo restante | ResourceAssignment.RemainingCost | remain_cost | RemainingCost | Costo restante del recurso asignado |
Costo presupuestado | ResourceAssignment.Cost | target_cost | PlannedCost | Costo planificado del recurso asignado |
Costo al finalizar | - | - | AtCompletionCost | Se puede calcular como ActualCost + RemainingCost |
Conclusión
Al trabajar con archivos de Primavera P6 en Aspose.Tasks for .NET, es importante entender que algunas propiedades se asignan directamente a entidades de Aspose.Tasks, mientras que otras se preservan exclusivamente en los contenedores PrimaveraProperties
de Task
y ResourceAssignment
.
Las propiedades mapeadas se recalculan durante el ciclo de vida del proyecto según la lógica de Microsoft Project, mientras que los valores en PrimaveraProperties
permanecen estáticos y reflejan los datos originales importados desde los archivos XER o P6 XML.
Al desarrollar herramientas de conversión o realizar análisis de datos, asegúrese de:
- Usar propiedades recalculadas (Start, Finish, Work, etc.) para operaciones que siguen el comportamiento de Microsoft Project.
- Acceder a
PrimaveraProperties
si necesita hacer referencia a los valores originales de Primavera para informes o coherencia en la migración.