Tâches et calendriers
Dans Microsoft Project, il est possible d’associer des calendriers spécifiques à des tâches individuelles. Aspose.Tasks pour .NET offre la même fonctionnalité via la Tsk.Calendar propriété, qui lie une tâche à un calendrier particulier.
Tâches avec des calendriers
La
Tsk classe expose la Calendar
champ utilisé pour définir ou obtenir le calendrier associé à une tâche. Cette propriété accepte ou renvoie un objet Aspose.Tasks.Calendar.
Pour créer un calendrier pour une tâche dans Microsoft Project :
- Ouvrez le fichier de projet.
- Dans le Project menu, sélectionnez Modifier les heures de travail → Créer un nouveau calendrier.
- Pour affecter le calendrier, double-cliquez sur une tâche dans le formulaire de saisie de tâche et sélectionnez le calendrier dans les propriétés de la tâche.
Exemple : affectation d’un calendrier à une tâche
Le code suivant montre comment créer un calendrier, ajouter une tâche et lui affecter ce calendrier :
1Project project = new Project();
2
3// Add task
4Task task = project.RootTask.Children.Add("Task1");
5
6// Create calendar and assign to task
7Calendar cal = project.Calendars.Add("TaskCal1");
8task.Set(Tsk.Calendar, cal);
Exemple : lecture du calendrier d’une tâche
Vous pouvez également parcourir les tâches d’un projet et lire leurs calendriers associés :
1Project project = new Project("New Project.mpp");
2
3// Declare ChildTasksCollector class object
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Use TaskUtils to get all children tasks in RootTask
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Parse all the recursive children
10foreach (Task task in collector.Tasks)
11{
12 Calendar cal = task.Get(Tsk.Calendar);
13 Console.WriteLine("Task calendar name: {0}", cal == null ? "None" : cal.Name);
14}
Points clés
- Les calendriers de tâche priment sur le calendrier du projet pour la planification de cette tâche spécifique.
- Si une tâche n’a pas son propre calendrier, elle hérite du calendrier par défaut du projet.
- Les calendriers peuvent inclure les heures de travail, les exceptions et les jours fériés, offrant un contrôle précis sur la planification des tâches.
- Fonctionne de manière cohérente dans les deux formats MPP et XML formats.
FAQ
Q : Une tâche peut-elle avoir plus d’un calendrier ?
- Non. Chaque tâche ne peut se voir attribuer qu’un seul calendrier.
Q : Que se passe-t-il si le calendrier d’une tâche est en conflit avec le calendrier du projet ?
- Le calendrier de la tâche prime pour cette tâche.
Q : Comment puis-je supprimer un calendrier d’une tâche ?
- Définissez la
Calendar
propriété ànull
pour qu’elle utilise de nouveau le calendrier du projet.
Q : Les calendriers des ressources sont-ils pris en compte lors de l’affectation des calendriers de tâches ?
- Oui. Le calendrier final est calculé en combinant les calendriers de tâches, les calendriers des ressources et le calendrier du projet.