Завдання Загальні властивості
Завдання можна ідентифікувати за низкою загальних властивостей, таких як ім’я, ідентифікатор, почати та закінчити дату. Aspose.Tasks можна використовувати для отримання та встановлення властивостей завдань під час роботи з проектами.
Огляд
Статичний клас TSK містить усі властивості, пов’язані з завданням, і може отримати або встановити за допомогою методів GET та встановлення, що піддаються класу завдань. Деякі з часто використовуваних властивостей є наступними:
- Ім’я, використовується для встановлення та отримання імені завдання (рядок).
- Ідентифікатор, який використовується для встановлення та отримання ідентифікатора завдання (ціле число).
- UID, використовується для встановлення та отримання унікального ідентифікатора завдання (ціле число).
- Почніть, використовується для встановлення та отримання дати початку завдання (DateTime).
- Закінчіть, використовується для встановлення та отримання дати закінчення завдання (DateTime).
Для перегляду загальних властивостей завдання в Microsoft Project:
- Відкрийте проект.
- У меню Переглянути виберіть Більше переглядів, а потім Введення завдань, щоб відкрити форму запису завдання.
- У меню вставити виберіть стовпчик і додайте id та унікальний ідентифікатор.
Встановлення загальних властивостей
Наведений нижче приклад коду демонструє, як встановити загальні властивості.
1// Create project instance
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Add task and set task properties
5System::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Task1");
6task->Set(Tsk::Start(), project->get_RootTask()->Get<System::DateTime>(Tsk::Start()).AddDays(1));
7task->Set<System::String>(Tsk::Name(), u"new name");
Getting General Properties
Get a task’s properties by traversing the children of the project’s RootTask property.
1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3
4// Create project instance
5System::SharedPtr<Project> prj = System::MakeObject<Project>(dataDir + u"ReadTaskProperties.mpp");
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// Parse through all the collected tasks
14
15{
16 auto tsk_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(tsk_enumerator->get_Current()) tsk;
18 while (tsk_enumerator->MoveNext() && (tsk = tsk_enumerator->get_Current(), true))
19 {
20 System::Console::WriteLine(u"Task Id: {0}", System::ObjectExt::Box<int32_t>(tsk->Get<int32_t>(Tsk::Id())));
21 System::Console::WriteLine(u"Task Uid: {0}", System::ObjectExt::Box<int32_t>(tsk->Get<int32_t>(Tsk::Uid())));
22 System::Console::WriteLine(u"Task Name: {0}", System::ObjectExt::Box<System::String>(tsk->Get(Tsk::Name())));
23 System::Console::WriteLine(u"Task Start: {0}", System::ObjectExt::Box<System::DateTime>(tsk->Get<System::DateTime>(Tsk::Start())));
24 System::Console::WriteLine(u"Task Finish: {0}", System::ObjectExt::Box<System::DateTime>(tsk->Get<System::DateTime>(Tsk::Finish())));
25 }
26}