Завдання та календарі

У Microsoft Project можна пов’язувати певні календарі з окремими завданнями. Aspose.Tasks for .NET надає ту саму можливість через Tsk.Calendar властивість, яка пов’язує завдання з певним календарем.

Завдання з календарями

Клас Tsk має Calendar поле, яке використовується для встановлення або отримання календаря, пов’язаного із завданням. Це поле приймає або повертає об’єкт Aspose.Tasks.Calendar.

Щоб створити календар для завдання в Microsoft Project:

  1. Відкрийте файл проекту.
  2. У меню Project виберіть Change Working TimesCreate New Calendar.
  3. Щоб призначити календар, двічі клацніть завдання у Task Entry формі та виберіть календар у властивостях завдання.

Приклад: Встановлення календаря завдання

Наведений код показує, як створити календар, додати завдання та призначити йому календар:

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);

Приклад: Зчитування календаря завдання

Також можна пройтися по завданнях у проєкті та зчитати їхні пов’язані календарі:

 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}

Ключові моменти

Поширені запитання

П: Чи може завдання мати більше ніж один календар?

П: Що відбувається, якщо календар завдання конфліктує з календарем проєкту?

П: Як видалити календар з завдання?

П: Чи враховуються календарі ресурсів при призначенні календарів завдань?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.