Porcentaje de cálculos completos
El proyecto de Microsoft muestra el porcentaje de una tarea que se ha completado. El porcentaje puede ser agregado manualmente, por un gerente de proyecto, o calculado automáticamente por la aplicación. Aspose. Las tareas para C ++ admiten varios cálculos porcentuales relacionados con tareas.
Porcentajes
La clase TSK expone una serie de propiedades utilizadas para calcular los porcentajes:
- PorcentComplete representa el porcentaje completado de la duración de una tarea (entero).
- PorcentworkComplete representa el porcentaje completado del trabajo de una tarea (entero).
- PhysicalPortComplete representa el porcentaje completado ingresado por un gerente de proyecto (entero).
Para ver el porcentaje físico completo en el proyecto Microsoft:
- En el formulario de entrada de tarea, en el menú Insertar, seleccione Columna.
- Agregue la columna.
Para ver el porcentaje completado en el proyecto de Microsoft:
- En el formulario de entrada de tarea, haga doble clic en la columna deseada.
Obtener porcentajes
El siguiente ejemplo de código demuestra cómo obtener los porcentajes de trabajo relacionados con las tareas.
1// Create project instance
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"TaskPercentageCompletion.mpp");
4
5// Access tasks and display percentage completion
6auto tasks = project1->get_RootTask()->get_Children();
7
8{
9 auto tsk1_enumerator = (tasks)->GetEnumerator();
10 decltype(tsk1_enumerator->get_Current()) tsk1;
11 while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
12 {
13 System::Console::WriteLine(tsk1->Get<int32_t>(Tsk::PercentComplete()));
14 System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PercentWorkComplete())));
15 System::Console::WriteLine(System::Convert::ToString(tsk1->Get<int32_t>(Tsk::PhysicalPercentComplete())));
16 }
17}
Changing Task Progress
Aspose.Tasks for C++ API supports changing a task’s progress in terms of its percentage completion through the Task class’ SetPercentComplete() method. This method takes an integer argument as input for the percentage work completed.
The following piece of code shows how to change the progress of a task.
1System::SharedPtr<Project> project = System::MakeObject<Project>();
2System::Console::WriteLine(u"Project Calculation mode is Automatic: {0}", System::ObjectExt::Box<bool>(System::ObjectExt::Equals(project->get_CalculationMode(), Aspose::Tasks::CalculationMode::Automatic)));
3
4System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task");
5task->Set<Duration>(Tsk::Duration(), project->GetDuration(2));
6task->Set<int32_t>(Tsk::PercentComplete(), 50);