クロスプロジェクトタスクを特定します
Contents
[
Hide
Show
]クロスプロジェクトタスクを識別する方法
あるプロジェクトからタスクを他のプロジェクトのタスクにリンクした場合、タスクのIDとUIDは、以下の画像でわかるように、元のプロジェクトと外部プロジェクトで異なります。
Microsoftプロジェクトの内部および外部ID
タスククラスによって公開された外部IRDプロパティは、外部タスクの元のIDを見つけるために使用されます。 IDプロパティは、外部プロジェクトの外部タスクのIDを返しますが、外部のプロパティはoriginalプロジェクトの外部タスクのIDを返します。
以下に示すコードの例は、タスクの元のIDと外部IDを見つけます。
1// Create project instance and access task
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"External.mpp");
4System::SharedPtr<Task> externalTask = project1->get_RootTask()->get_Children()->GetByUid(1);
5
6// Show ID of the task in the external project
7System::Console::WriteLine(System::Convert::ToString(externalTask->Get<int32_t>(Tsk::Id())));
8
9// Show ID of the task in the original project
10System::Console::WriteLine(System::Convert::ToString(externalTask->Get<int32_t>(Tsk::ExternalId())));