Prozentuale vollständige Berechnungen
Das Microsoft -Projekt zeigt den Prozentsatz einer Aufgabe, die erledigt wurde. Der Prozentsatz kann manuell von einem Projektmanager oder automatisch von der Anwendung berechnet werden. Aspose.Tasks für C ++ unterstützt mehrere prozentuale Berechnungen im Zusammenhang mit Aufgaben.
Prozentsätze
Die TSK -Klasse enthält eine Reihe von Eigenschaften, die zur Berechnung der Prozentsätze verwendet werden:
- ProzentComplete repräsentiert den abgeschlossenen Prozentsatz der Dauer einer Aufgabe (Ganzzahl).
- ProzentworkComplete repräsentiert den abgeschlossenen Prozentsatz der Arbeit einer Aufgabe (Ganzzahl).
- PhysicalpercentComplete repräsentiert den abgeschlossenen Prozentsatz, der von einem Projektmanager (Ganzzahl) eingegeben wurde.
Um den physischen Prozentsatz im Microsoft -Projekt vollständig zu sehen:
- Wählen Sie im Menü einfügen Spalten im Task -Eintragsformular aus.
- Fügen Sie die Spalte hinzu.
Um den abgeschlossenen Prozentsatz im Microsoft -Projekt zu sehen:
- Doppelklicken Sie im Aufgaben-Eintragsformular auf die gewünschte Spalte.
Prozentsätze
Das folgende Codebeispiel zeigt, wie Sie die Prozentsätze der Arbeit in Bezug auf Aufgaben erhalten.
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);