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:

Para ver el porcentaje físico completo en el proyecto Microsoft:

  1. En el formulario de entrada de tarea, en el menú Insertar, seleccione Columna.
  2. Agregue la columna.

Para ver el porcentaje completado en el proyecto de Microsoft:

  1. 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);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.