.NET 속성 매핑을위한 Aspose.Tasks
Aspose.Tasks API는 Primavera 소프트웨어에 사용되는 모델과 다른 Microsoft 프로젝트의 객체 모델을 기반으로합니다. 이는 특히 특정 속성이 두 모델에서 동일한 이름을 공유하지만 다르게 계산할 때 혼란을 초래할 수 있습니다. 명확성을 제공하기 위해이 기사는 Primavera 특성의 매핑을 Aspose.Tasks API의 속성에 대한 매핑을 간략하게 설명합니다.
작업 속성
Primavera에는 작업을위한 두 가지 개별 엔티티가 있습니다. 잎 작업을위한 엔티티. 그러나 Aspose.Tasks 는 이러한 엔티티를 구별하지 않으며 두 경우 모두 매핑을 위해 작업 엔티티를 사용합니다. 작업에는 Primavera- 특성의 값을 찾을 수있는 Primaverapropeties 속성이 있습니다. 속성은 읽기 전용이며 Primavera 형식 (Xer of P6xml)에서 프로젝트를 읽을 때 채워집니다. 이 속성의 값은 프로젝트 수명주기 동안 재 계산되지 않습니다. 이와 반대로 작업 속성에 매핑되는 속성은 프로젝트 수명주기 동안 Microsoft Project의 논리에 따라 다시 계산됩니다.
Name in Primavera P6 | Aspose.Tasks for .NET property | Name in XER file | Name in Primavera XML file | Comment |
---|---|---|---|---|
Planned Start | Task.Start | target_start_date | PlannedStartDate | The scheduled start date of a task |
Planned Finish | Task.Finish | target_end_date | PlannedFinishDate | The scheduled finish date of a task |
Actual Start | Task.ActualStart | act_start_date | ActualStartDate | The date and time when a task actually began |
Actual Finish | Task.ActualFinish | act_end_date | ActualFinishDate | The date when a task was completed |
Remaining Early Start | Task.PrimaveraProperties.RemainingEarlyStart | restart_date | RemainingEarlyStartDate | The remaining early start is the same as the early start unless the ‘Preserve scheduled early and late dates’ option with resource leveling is used. |
Remaining Early Finish | Task.PrimaveraProperties.RemainingEarlyFinish | reend_date | RemainingEarlyFinishDate | The remaining early finish is the same as the early finish unless the ‘Preserve scheduled early and late dates’ option with resource leveling is used. |
Remaining Late Start | Task.PrimaveraProperties.RemainingLateStart | rem_late_start_date | RemainingLateStartDate | The latest date the remaining work for the task should begin without delaying the project finish date. |
Remaining Late Finish | Task.PrimaveraProperties.RemainingLateFinish | rem_late_end_date | RemainingLateFinishDate | The latest date the remaining work for the task should finish without delaying the project finish date. |
Original/Planned Duration | Task.Duration | target_drtn_hr_cnt | PlannedDuration | The total working time from the task planned start date to the planned finish date. |
Actual Duration | - | ActualDuration | Total working time from the activity actual start date to the actual finish date (for completed tasks) or to the current data date for in-progress tasks. | |
Remaining Duration | Task.RemainingDuration | remain_drtn_hr_cnt | RemainingDuration | The total working time from the task remaining start date to the remaining finish date. |
At Completion Duration | - | AtCompletionDuration | Can be calculated as Task.ActualDuration + Task.RemainingDuration. The total working time from the task’s current start date to the current finish date. | |
Actual Labor Units | Task.ActualWork, Task.PrimaveraProperties.ActualLaborUnits | act_work_qty | ActualLaborUnits | The actual units for all labor resources assigned to the task. |
Remaining Labor Units | Task.RemainingWork | remain_work_qty | RemainingLaborUnits | The remaining units for all labor resources assigned to the task. |
Planned Labor Units | Task.Work | target_work_qty | PlannedLaborUnits | The planned units for all labor resources assigned to the task. |
At Completion Labor Units | - | - | AtCompletionLaborUnits | Can be calculated as Task.RemainingWork + Task.ActualWork. |
Actual Non Labor Units | Task.PrimaveraProperties.ActualNonLaborUnits | act_equip_qty | ActualNonLaborUnits | The actual units for all nonlabor resources assigned to the task. |
Remaining Non Labor Units | Task.PrimaveraProperties.RemainingNonLaborUnits | remain_equip_qty | RemainingNonLaborUnits | The remaining units for all nonlabor resources assigned to the task. |
Actual Total Cost | Task.ActualCost | - | - | Calculated as a sum of task’s assignments actual costs. |
Remaining Total Cost | Task.RemainingCost | - | - | Calculated as a sum of task’s assignments remaining costs. |
Planned (Budgeted) Total Cost | Task.Cost | - | - | Calculated as a sum of task’s assignments budgeted costs. |
At Completion Total Cost | - | - | - | Can be calculated as a sum of Task.ActualCost and Task.RemainingCost. |
Actual Expense Cost | Task.PrimaveraProperties.ActualExpenseCost | - | - | Is calculated as a sum of actual costs of task’s expense entries. |
Remaining Expense Cost | Task.PrimaveraProperties.RemainingExpenseCost | - | - | Is calculated as a sum of remaining costs of task’s expense entries. |
At Completion Expense Cost | - | - | - | Can be calculated as Task.PrimaveraProperties.ActualExpenseCost + Task.PrimaveraProperties.RemainingExpenseCost. |
자원 할당 속성
Aspose.Tasks의 ResourceAssignment Entity에는 Primavera 특성의 값을 찾을 수있는 Primaverapropeties 속성이 있습니다. 속성은 읽기 전용이며 Primavera 형식 (Xer of P6xml)에서 프로젝트를 읽을 때 채워집니다. 이 속성의 값은 프로젝트 수명주기 동안 재 계산되지 않습니다. 이와는 반대로 ResourceAssignment의 속성에 매핑되는 속성은 프로젝트 수명주기 동안 Microsoft Project의 논리에 따라 다시 계산됩니다.
Name in Primavera P6 | Aspose.Tasks for .NET property | Name in XER file | Name in Primavera XML file | Comment |
---|---|---|---|---|
Planned Start | ResourceAssignment.Start | target_start_date | PlannedStartDate | The date the resource is scheduled to begin working on the task. |
Planned Finish | ResourceAssignment.Finish | target_end_date | PlannedFinishDate | The date the resource is scheduled to finish working on the task. |
Actual Start | ResourceAssignment.ActualStart | act_start_date | ActualStartDate | The date when the resource actually started working on the task. |
Actual Finish | ResourceAssignment.ActualFinish | act_end_date | ActualFinishDate | The date when the resource actually finished working on the activity. |
Original Lag | ResourceAssignment.Delay | target_lag_drtn_hr_cnt | PlannedLag | The planned time lag between the task’s planned start date and the resource’s planned start date of work on the task. |
Remaining Units / Time | ResourceAssignment.Units | remain_qty_per_hr | RemainingUnitsPerTime | The units per time at which the resource will be performing work on the remaining portion of the task. |
Actual Overtime Units | ResourceAssignment.ActualOvertimeWork | act_ot_qty | ActualOvertimeUnits | The actual overtime units worked by the resource on the task. |
Actual Regular Units | - | act_reg_qty | ActualRegularUnits | The actual nonovertime units worked by the resource on the task. Can be calculated as ResourceAssignment.ActualWork - ResourceAssignment.ActualOvertimeWork. |
Actual Units | ResourceAssignment.ActualWork | - | ActualUnits | The actual nonovertime plus overtime units worked by the resource on the task. |
Remaining Units | ResourceAssignment.RemainingWork | remain_qty | RemainingUnits | The remaining units of work to be performed by the resource on the task. |
Budgeted Units | ResourceAssignment.Work | target_qty | PlannedUnits | The budgeted (or planned) units of work for the resource assignment. |
At Completion Units | - | - | AtCompletionUnits | Can be calculated as ResourceAssignment.ActualWork + ResourceAssignment.RemainingWork. |
Actual Regular Cost | - | act_reg_cost | ActualRegularCost | The actual nonovertime cost for the resource assignment. Can be calculated as ResourceAssignment.ActualCost - ResourceAssignment.ActualOvertimeCost. |
Actual Cost | ResourceAssignment.ActualCost | - | ActualCost | The actual nonovertime plus overtime cost . |
Actual Overtime Cost | ResourceAssignment.ActualOvertimeCost | act_ot_cost | ActualOvertimeCost | The actual overtime cost for the resource assignment. |
Remaining Cost | ResourceAssignment.RemainingCost | remain_cost | RemainingCost | The remaining cost for the resource assignment. |
Budgeted (Planned) Cost | ResourceAssignment.Cost | target_cost | PlannedCost | The budgeted or planned cost for the resource assignment. |
At Completion Cost | - | - | AtCompletionCost | Can be calculated as ResourceAssignment.ActualCost + ResourceAssignment.RemainingCost. |
결론
Aspose.Tasks for .NET에서 Primavera P6 파일을 작업할 때, 일부 속성은 Aspose.Tasks 엔터티 속성에 직접 매핑되고, 다른 속성은 Task 및 ResourceAssignment의 PrimaveraProperties 컨테이너 내에만 보존된다는 점을 이해하는 것이 중요합니다.
매핑된 속성은 Microsoft Project 로직에 따라 프로젝트 수명 주기 동안 다시 계산되는 반면, PrimaveraProperties의 값은 정적으로 유지되며 가져온 XER 또는 P6 XML 파일의 원본 데이터를 반영합니다. 이러한 이중 표현 방식은 Aspose.Tasks 모델의 일정 계산에 영향을 주지 않으면서 Primavera 관련 정보를 보존하는 데 도움이 됩니다.
변환 도구를 개발하거나 데이터 분석을 수행할 때 다음 사항을 확인하십시오.
- Microsoft Project 동작에 맞춰 작업하는 경우 다시 계산된 속성(시작, 완료, 작업 등)을 사용하십시오.
- 보고 또는 마이그레이션 일관성을 위해 원본 Primavera 값을 참조해야 하는 경우 PrimaveraProperties에 액세스하십시오.