Eine Aufgabe stoppen und wieder aufnehmen

Ein Stoppdatum eines Aufgaben ist das Datum, an dem es enden sollte (oder erledigte). Manchmal muss eine Aufgabe vorübergehend gestoppt und später wieder aufgenommen werden. Das Microsoft -Projekt kann Stoppdaten berechnen oder Benutzer sie manuell eingeben lassen.

Arbeiten mit gestoppten und wieder aufgenommenen Aufgaben

Die von der TSK Klasse aufgedeckten STOP- und Lebenslauf -Eigenschaften werden verwendet, um das Stop- und Lebenslaufdatum einer Aufgabe zu lesen oder zu schreiben:

Microsoft -Projektansicht von Stop and Resume -Daten

Um den Stop- und Wiederaufnahme von Daten einer Aufgabe zu sehen:

  1. Wählen Sie im Menü Einfügen Spalte im Menü Einstieg aus.
  2. Fügen Sie die STOP- und Lebenslaufspalten hinzu.

Stop- und Wiederaufnahmedaten

Die Stop- und Lebenslaufdaten sind na, wenn die Aufgabe nie aufgehört hat. Für die Datumswerte, die NA entspricht, nimmt Aspose.Tasks für C ++ API den Wert “1/1/2000”, wenn Sie die Bewertungsversion verwenden. Bei vollständig lizenzierter Lizenz verwendet Aspose.Tasks für C ++ - API datetime.minValue für NA -Werte. Das folgende Codebeispiel zeigt die Stop- und Lebenslaufdaten für alle Aufgaben in einem Projekt.

 1// Read project from file stream
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"StopResumeDates.mpp", System::IO::FileMode::Open);
 4System::SharedPtr<Project> prj = System::MakeObject<Project>(fs);
 5fs->Close();
 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(prj->get_RootTask(), collector, 0);
12    
13// Check Stop and Resume dates for all tasks
14    
15{
16    auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator();
17    decltype(tsk1_enumerator->get_Current()) tsk1;
18    while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
19    {
20        if (tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString() == u"1/1/2000")
21        {
22            System::Console::WriteLine(u"Stop: NA");
23        }
24        else
25        {
26            System::Console::WriteLine(System::String(u"Stop: ") + tsk1->Get<System::DateTime>(Tsk::Stop()).ToShortDateString());
27        }
28        
29        if (tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString() == u"1/1/2000")
30        {
31            System::Console::WriteLine(u"Resume: NA");
32        }
33        else
34        {
35            System::Console::WriteLine(System::String(u"Resume: ") + tsk1->Get<System::DateTime>(Tsk::Resume()).ToShortDateString());
36        }
37    }
38}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.