Arrêter et reprendre une tâche

La date d’arrêt des tâches est la date à laquelle elle devrait (ou a fait) fin. Parfois, une tâche doit être arrêtée temporairement et a ensuite repris plus tard. Le projet Microsoft peut calculer les dates d’arrêt ou permettre aux utilisateurs de les saisir manuellement.

Travailler avec des tâches arrêtées et reprise

Les propriétés d’arrêt et de curriculum vitae exposées par la classe TSK sont utilisées pour lire ou rédiger la date d’arrêt d’une tâche:

View du projet Microsoft des dates d’arrêt et de curriculum vitae

Pour voir les dates d’arrêt d’une tâche:

  1. Dans le formulaire d’entrée de tâche, dans le menu INSERT, sélectionnez Colonne.
  2. Ajoutez les colonnes d’arrêt et de reprise.

Obtenir des dates d’arrêt et de reprise

Les dates d’arrêt et de curriculum vitae sont NA si la tâche ne s’est jamais arrêtée. Pour les valeurs de date égales à NA, Aspose.Tasks pour l’API C ++ prend la valeur “1/1/2000” si vous utilisez la version d’évaluation. Lorsqu’il est entièrement sous licence, Aspose.Tasks pour l’API C ++ utilise DateTime.minvalue pour les valeurs NA. L’exemple de code suivant démontre les dates d’arrêt et de curriculum vitae pour toutes les tâches d’un projet.

 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.