리소스 기반 데이터를 읽습니다
Contents
[
Hide
Show
]ASPOSE.TASK의 C ++ API는 MPP (Microsoft Project) 파일에서 리소스의 TimePhepased 데이터를 읽는 것을 지원합니다.
Timephased Resource Data 읽기
TimePhevased 데이터는 Resource Object의 TimesCaledata 메소드를 사용하여 검색됩니다. *리소스 작업 *의 타임 테이블 데이터의 경우
- TimesCaledata 메소드는 리소스 작업에 대한 타임 테이블 데이터를 가져오고 프로젝트의 시작 및 마감 날짜를 입력 매개 변수로 가져옵니다.
- 리소스 비용에 대한 타임 테이블 데이터를 얻으려면 TimesCaledata 메소드는 다른 입력 매개 변수 인 Timephased Data Type을 리소스 코스트로 사용합니다.
다음 코드 예제는 리소스의 타임 테이블 데이터를 읽는 것을 보여줍니다.
1// Create project instance
2System::SharedPtr<Project> project1 = System::MakeObject<Project>(dataDir + u"ResourceTimephasedData.mpp");
3
4// Get the Resource by its ID
5System::SharedPtr<Resource> resource = project1->get_Resources()->GetByUid(1);
6
7// Print Timephased data of ResourceWork
8System::Console::WriteLine(u"Timephased data of ResourceWork");
9
10{
11 auto td_enumerator = (resource->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate())))->GetEnumerator();
12 decltype(td_enumerator->get_Current()) td;
13 while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true))
14 {
15 System::Console::Write(System::String(u"Start: ") + td->get_Start().ToShortDateString());
16 System::Console::Write(System::String(u" Work: ") + td->get_Value() + System::Environment::get_NewLine());
17 }
18}
19
20// Print Timephased data of ResourceCost
21System::Console::WriteLine(u"Timephased data of ResourceCost");
22
23{
24 auto td_enumerator = (resource->GetTimephasedData(project1->Get<System::DateTime>(Prj::StartDate()), project1->Get<System::DateTime>(Prj::FinishDate()), Aspose::Tasks::TimephasedDataType::ResourceCost))->GetEnumerator();
25 decltype(td_enumerator->get_Current()) td;
26 while (td_enumerator->MoveNext() && (td = td_enumerator->get_Current(), true))
27 {
28 System::Console::Write(System::String(u"Start: ") + td->get_Start().ToShortDateString());
29 System::Console::Write(System::String(u" Cost: ") + td->get_Value() + System::Environment::get_NewLine());
30 }
31}