Arbeiten mit den tatsächlichen Eigenschaften der Aufgaben
Die tatsächlichen Eigenschaften werden verwendet, um herauszufinden, wie viel Zeit oder Geld bisher bei einer Aufgabe gesendet wurde.
Mit tatsächlichen Eigenschaften arbeiten
Die statische Klasse TSK enthält eine Reihe von Eigenschaften, um die tatsächlichen Eigenschaften einer Aufgabe zu bestimmen:
- Aktuelle COST: Die tatsächlichen Kosten einer Aufgabe (doppelt).
- Tatsächliche OvertimeCost: Die tatsächlichen Überstundenkosten einer Aufgabe (doppelt).
- TatsalOverTimeWork: Die tatsächliche Überstunden hat an einer Aufgabe (Timesspan) gearbeitet.
- Tatsächliche Duration: Die tatsächliche Dauer einer Aufgabe (Timesspan).
- TRIFTSTART: Das Datum und die Uhrzeit, die eine Aufgabe tatsächlich begann (DateTime).
- TatsächlichFinish: Das Datum und die Uhrzeit, die eine Aufgabe tatsächlich abgeschlossen hat (DateTime).
- ACWP: Die tatsächlichen Kosten für die Arbeiten einer Aufgabe (doppelt).
Die ChildTaskScollector -Klasse sammelt alle Kinderaufgaben aus einem bestimmten Roottask, wenn sie von Taskutils verwendet werden.
Tatsächliche Eigenschaften im Microsoft -Projekt
Um auf diese Eigenschaften im Microsoft -Projekt zuzugreifen:
- Wählen Sie im Menü Ansicht Wählen Sie Weitere Ansichten und dann Aufgabeneintrag.
- Wählen Sie im Menü einfügen Spalten Spalten und fügen Sie die gewünschten Spalten zum Aufgabeneintragsformular hinzu.
Tatsächliche Eigenschaften mit Aspose.Tasks erhalten
Die tatsächlichen Eigenschaften der Aufgaben können durch Durchqueren der Aufgaben in einem Projekt erhalten werden. Die nachstehend angegebene Code -Probe schreibt die tatsächlichen Eigenschaften für alle Aufgaben, die in einem Projekt in ein Konsolenfenster gefunden wurden.
1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3
4// Create Project instance
5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"ActualTaskProperties.mpp");
6
7// Create a ChildTasksCollector instance
8System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>();
9
10// Collect all the tasks from RootTask using TaskUtils
11TaskUtils::Apply(project->get_RootTask(), collector, 0);
12
13// Parse through all the collected tasks
14
15{
16 auto task_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(task_enumerator->get_Current()) task;
18 while (task_enumerator->MoveNext() && (task = task_enumerator->get_Current(), true))
19 {
20 System::Console::WriteLine(System::String(u"Task Name : ") + task->Get(Tsk::Name()));
21 System::Console::WriteLine(System::String(u"Actual Start: ") + task->Get<System::DateTime>(Tsk::ActualStart()).ToLongDateString());
22 System::Console::WriteLine(System::String(u"Actual Finish: ") + task->Get<System::DateTime>(Tsk::ActualFinish()).ToLongDateString());
23 System::Console::WriteLine(System::String(u"Actual Duration: ") + System::Convert::ToString(task->Get<Duration>(Tsk::ActualDuration()).get_TimeSpan().get_Hours()));
24 System::Console::WriteLine(System::String(u"Actual Cost: ") + System::Convert::ToString(task->Get<System::Decimal>(Tsk::ActualCost())));
25 System::Console::WriteLine(u"---------------------------------------------");
26 }
27}