Zuordnung von Eigenschaften zwischen Primavera und Aspose.Tasks for .NET
Die Aspose.Tasks-API basiert auf dem Objektmodell von Microsoft Project, das sich vom in der Primavera-Software verwendeten Modell unterscheidet. Dies kann zu Verwirrung führen, insbesondere wenn bestimmte Eigenschaften in beiden Modellen denselben Namen tragen, aber unterschiedlich berechnet werden. Zur besseren Verständlichkeit beschreibt dieser Artikel die Zuordnung von Primavera-Eigenschaften zu den Eigenschaften der Aspose.Tasks-API.
Aufgabeneigenschaften
Primavera verwendet zwei unterschiedliche Entitäten für Aufgaben: die WBS-Entität (Work Breakdown Structure) für Sammelvorgänge und die Aktivitätsentität für untergeordnete Vorgänge.
Aspose.Tasks unterscheidet jedoch nicht zwischen diesen Entitäten und verwendet in beiden Fällen die Task-Entität für die Zuordnung.
Tasks besitzen eine Eigenschaft PrimaveraProperties
, in der die spezifischen Primavera-Eigenschaften enthalten sind. Diese Eigenschaften sind schreibgeschützt und werden beim Einlesen eines Projekts aus dem Primavera-Format (
XER oder
P6 XML) befüllt. Die Werte dieser Eigenschaften werden im Projektverlauf nicht neu berechnet.
Im Gegensatz dazu werden die Eigenschaften, die direkt den Eigenschaften der Task-Entität zugeordnet sind, entsprechend der Microsoft Project-Logik während des Projektverlaufs neu berechnet.
Name in Primavera P6 | Aspose.Tasks for .NET Eigenschaft | Name in XER-Datei | Name in Primavera XML-Datei | Kommentar |
---|---|---|---|---|
Geplanter Anfang | Task.Start | target_start_date | PlannedStartDate | Das geplante Anfangsdatum einer Aufgabe |
Geplantes Ende | Task.Finish | target_end_date | PlannedFinishDate | Das geplante Enddatum einer Aufgabe |
Tatsächlicher Anfang | Task.ActualStart | act_start_date | ActualStartDate | Das Datum und die Uhrzeit, an dem eine Aufgabe tatsächlich begonnen hat |
Tatsächliches Ende | Task.ActualFinish | act_end_date | ActualFinishDate | Das Datum, an dem eine Aufgabe abgeschlossen wurde |
Verbleibender früher Anfang | Task.PrimaveraProperties.RemainingEarlyStart | restart_date | RemainingEarlyStartDate | Ist identisch mit dem frühen Anfang, es sei denn, die Option „Früh- und Spätdaten beibehalten“ ist bei der Ressourcenabgleichung aktiviert. |
Verbleibendes frühes Ende | Task.PrimaveraProperties.RemainingEarlyFinish | reend_date | RemainingEarlyFinishDate | Gleiches Prinzip wie bei verbleibendem frühen Anfang. |
Verbleibender später Anfang | Task.PrimaveraProperties.RemainingLateStart | rem_late_start_date | RemainingLateStartDate | Spätestes Datum, an dem die verbleibende Arbeit beginnen kann, ohne das Projekt zu verzögern. |
Verbleibendes spätes Ende | Task.PrimaveraProperties.RemainingLateFinish | rem_late_end_date | RemainingLateFinishDate | Spätestes Datum, an dem die verbleibende Arbeit enden kann, ohne das Projekt zu verzögern. |
Geplante Dauer | Task.Duration | target_drtn_hr_cnt | PlannedDuration | Arbeitszeit vom geplanten Anfangsdatum bis zum geplanten Enddatum. |
Tatsächliche Dauer | - | ActualDuration | Arbeitszeit vom tatsächlichen Anfangsdatum bis zum tatsächlichen Enddatum oder aktuellem Datum. | |
Verbleibende Dauer | Task.RemainingDuration | remain_drtn_hr_cnt | RemainingDuration | Arbeitszeit von verbleibendem Anfangsdatum bis zum Ende. |
Dauer bei Fertigstellung | - | AtCompletionDuration | Kann berechnet werden als Task.ActualDuration + Task.RemainingDuration. | |
Tatsächliche Arbeitsstunden (Personal) | Task.ActualWork, Task.PrimaveraProperties.ActualLaborUnits | act_work_qty | ActualLaborUnits | Tatsächliche Einheiten für alle zugewiesenen Personalressourcen. |
Verbleibende Arbeitsstunden (Personal) | Task.RemainingWork | remain_work_qty | RemainingLaborUnits | Verbleibende Einheiten für Personalressourcen. |
Geplante Arbeitsstunden (Personal) | Task.Work | target_work_qty | PlannedLaborUnits | Geplante Einheiten für Personalressourcen. |
Arbeitsstunden bei Fertigstellung | - | - | AtCompletionLaborUnits | Berechenbar als Task.RemainingWork + Task.ActualWork. |
Tatsächliche Einheiten (Nicht-Personal) | Task.PrimaveraProperties.ActualNonLaborUnits | act_equip_qty | ActualNonLaborUnits | Tatsächliche Einheiten für Nicht-Personalressourcen. |
Verbleibende Einheiten (Nicht-Personal) | Task.PrimaveraProperties.RemainingNonLaborUnits | remain_equip_qty | RemainingNonLaborUnits | Verbleibende Einheiten für Nicht-Personalressourcen. |
Tatsächliche Gesamtkosten | Task.ActualCost | - | - | Summe der tatsächlichen Kosten aller Zuweisungen. |
Verbleibende Gesamtkosten | Task.RemainingCost | - | - | Summe der verbleibenden Kosten aller Zuweisungen. |
Geplante Gesamtkosten | Task.Cost | - | - | Summe der budgetierten Kosten aller Zuweisungen. |
Gesamtkosten bei Fertigstellung | - | - | - | Summe von Task.ActualCost und Task.RemainingCost. |
Tatsächliche Ausgabenkosten | Task.PrimaveraProperties.ActualExpenseCost | - | - | Summe tatsächlicher Kosten der Ausgabenposten. |
Verbleibende Ausgabenkosten | Task.PrimaveraProperties.RemainingExpenseCost | - | - | Summe verbleibender Kosten der Ausgabenposten. |
Ausgabenkosten bei Fertigstellung | - | - | - | Summe aus tatsächlichen und verbleibenden Ausgabenkosten. |
Eigenschaften der Ressourcenzuweisung
Die ResourceAssignment
-Entität in Aspose.Tasks verfügt über eine PrimaveraProperties
-Eigenschaft, die Primavera-spezifische Werte enthält. Diese sind schreibgeschützt und werden beim Einlesen aus dem Primavera-Format (XER oder P6XML) befüllt. Sie werden im Projektverlauf nicht verändert.
Im Gegensatz dazu werden die zugeordneten Eigenschaften entsprechend der Microsoft Project-Logik während des Projektverlaufes neu berechnet.
Name in Primavera P6 | Aspose.Tasks for .NET Eigenschaft | Name in XER-Datei | Name in Primavera XML-Datei | Kommentar |
---|---|---|---|---|
Geplanter Anfang | ResourceAssignment.Start | target_start_date | PlannedStartDate | Geplantes Startdatum der Ressource auf der Aufgabe. |
Geplantes Ende | ResourceAssignment.Finish | target_end_date | PlannedFinishDate | Geplantes Enddatum der Ressource auf der Aufgabe. |
Tatsächlicher Anfang | ResourceAssignment.ActualStart | act_start_date | ActualStartDate | Tatsächlicher Start der Ressource. |
Tatsächliches Ende | ResourceAssignment.ActualFinish | act_end_date | ActualFinishDate | Tatsächliches Ende der Ressourcentätigkeit. |
Geplante Verzögerung | ResourceAssignment.Delay | target_lag_drtn_hr_cnt | PlannedLag | Zeitverzögerung zwischen geplanten Task-Start und Ressourceneinsatz. |
Verbleibende Einheiten/Zeit | ResourceAssignment.Units | remain_qty_per_hr | RemainingUnitsPerTime | Einheiten/Zeit für verbleibende Arbeit. |
Tatsächliche Überstundeneinheiten | ResourceAssignment.ActualOvertimeWork | act_ot_qty | ActualOvertimeUnits | Tatsächliche Überstunden der Ressource. |
Tatsächliche Normaleinheiten | - | act_reg_qty | ActualRegularUnits | Tatsächliche Normaleinheiten (berechenbar). |
Tatsächliche Einheiten | ResourceAssignment.ActualWork | - | ActualUnits | Summe aus Normal- und Überstundeneinheiten. |
Verbleibende Einheiten | ResourceAssignment.RemainingWork | remain_qty | RemainingUnits | Verbleibende Arbeitseinheiten der Ressource. |
Geplante Einheiten | ResourceAssignment.Work | target_qty | PlannedUnits | Geplante Arbeitseinheiten der Ressource. |
Einheiten bei Fertigstellung | - | - | AtCompletionUnits | Berechenbar als tatsächliche + verbleibende Arbeit. |
Tatsächliche Normalkosten | - | act_reg_cost | ActualRegularCost | Berechenbar als tatsächliche Kosten minus Überstundenkosten. |
Tatsächliche Kosten | ResourceAssignment.ActualCost | - | ActualCost | Gesamte tatsächliche Kosten (normal + Überstunden). |
Tatsächliche Überstundenkosten | ResourceAssignment.ActualOvertimeCost | act_ot_cost | ActualOvertimeCost | Überstundenkosten der Ressource. |
Verbleibende Kosten | ResourceAssignment.RemainingCost | remain_cost | RemainingCost | Verbleibende Kosten der Ressourcenzuweisung. |
Geplante Kosten | ResourceAssignment.Cost | target_cost | PlannedCost | Budgetierte Kosten für die Ressourcenzuweisung. |
Kosten bei Fertigstellung | - | - | AtCompletionCost | Berechenbar als tatsächliche + verbleibende Kosten. |
Fazit
Beim Arbeiten mit Primavera P6-Dateien in Aspose.Tasks for .NET ist es wichtig zu verstehen, dass einige Eigenschaften direkt zugeordnet und während des Projektverlaufs aktualisiert werden, während andere nur in den Containern PrimaveraProperties
von Task und ResourceAssignment erhalten bleiben.
Zuordnungen folgen der Logik von Microsoft Project, während PrimaveraProperties
unverändert bleiben und die Originalwerte aus XER- oder P6XML-Dateien widerspiegeln.
Bei der Entwicklung von Konvertierungstools oder Analysefunktionen sollten Sie:
- Neu berechnete Eigenschaften (Start, Finish, Work usw.) für projektlogische Operationen nutzen,
- Auf
PrimaveraProperties
zugreifen, wenn originale Primavera-Daten erforderlich sind (z. B. Berichte, Migration).