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:
- STOP: Das Datum, an dem eine Aufgabe gestoppt wird (DateTime).
- Lebenslauf: Datum und Uhrzeit starten eine Aufgabe (DateTime).
Microsoft -Projektansicht von Stop and Resume -Daten
Um den Stop- und Wiederaufnahme von Daten einer Aufgabe zu sehen:
- Wählen Sie im Menü Einfügen Spalte im Menü Einstieg aus.
- 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}