Trabajar con las propiedades reales de la tarea
Contents
[
Hide
Show
]Las propiedades reales se utilizan para averiguar cuánto tiempo o dinero se ha enviado en una tarea hasta la fecha.
Trabajar con propiedades reales
El TSK de clase estática expone una serie de propiedades para determinar las propiedades reales de una tarea:
- Realcost: el costo real de una tarea (doble).
- RealOvertimecost: el costo de tiempo extra real de una tarea (doble).
- RealOvertimework: el tiempo extra real funcionó en una tarea (Timespan).
- Duración real: la duración real de una tarea (Timespan).
- RealStart: la fecha y la hora que realmente comenzó una tarea (DateTime).
- RealFinish: la fecha y la hora que realmente terminó una tarea (fecha de fecha).
- ACWP: El costo real del trabajo realizado en una tarea (doble).
La clase ChildTaskScollector recolecta todas las tareas infantiles de un Roottask determinado cuando Taskutils lo usa.
Propiedades reales en el proyecto Microsoft
Para acceder a estas propiedades en el proyecto Microsoft:
- En el menú Ver, seleccione más vistas y luego Entrada de tareas.
- En el menú Insertar, seleccione columna y agregue las columnas deseadas al formulario de entrada de tarea.
Obtener propiedades reales con Aspose.Tasks
Se pueden obtener las propiedades reales de una tarea atravesando las tareas en un proyecto. La muestra de código que se proporciona a continuación escribe las propiedades reales para todas las tareas que se encuentran en un proyecto a una ventana de consola.
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}