업데이트 된 작업 데이터를 MPP에 작성합니다

Contents
[ Hide Show ]

Aspose.Tasks를 사용하여 C ++를 위해 작업을 업데이트 한 다음 업데이트 된 데이터를 Microsoft Project MPP 파일에 다시 작성할 수 있습니다.

작업 데이터 업데이트

다음 코드 스 니펫은 프로젝트의 작업 데이터를 업데이트하여 MPP 파일에 다시 작성하는 방법을 보여줍니다. 이 활동과 관련된 단계는 다음과 같습니다.

  1. 프로젝트 클래스의 인스턴스를 만듭니다.
  2. 소스 MPP 파일을로드하십시오.
  3. 작업을 만들고 루트 작업에 추가하십시오.
  4. 마감일, Notestext 등과 같은 작업 매개 변수를 업데이트하십시오.
  5. 루트 작업에 추가 작업을 추가하십시오.
  6. 프로젝트를 저장하십시오.

다음 코드는 프로젝트에서 작업의 원본 및 외부 ID를 찾습니다.

 1// Create project instance
 2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
 3System::String newProject = u"UpdateTaskData.mpp";
 4System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + newProject);
 5        
 6// Set project start date
 7project->Set(Prj::StartDate(), System::DateTime(2012, 7, 29, 8, 0, 0));
 8        
 9// Add summary task and set its properties
10System::SharedPtr<Task> summary = project->get_RootTask()->get_Children()->Add(u"Summary task");
11System::SharedPtr<Task> task1 = summary->get_Children()->Add(u"First task");
12task1->Set<Duration>(Tsk::Duration(), project->GetDuration(3));
13task1->Set(Tsk::Deadline(), task1->Get<System::DateTime>(Tsk::Start()).AddDays(10));
14task1->Set<System::String>(Tsk::NotesText(), u"The first task.");
15task1->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::MinuteEstimated);
16task1->Set<ConstraintType>(Tsk::ConstraintType(), Aspose::Tasks::ConstraintType::FinishNoLaterThan);
17task1->Set(Tsk::ConstraintDate(), task1->Get<System::DateTime>(Tsk::Deadline()).AddDays(-1));
18        
19        
20// Create 10 new sub tasks for summary task
21for (int32_t i = 0; i < 10; i++)
22{
23    System::SharedPtr<Task> subTask = summary->get_Children()->Add(System::String::Format(u"Task{0}",i + 2));
24    subTask->Set<Duration>(Tsk::Duration(), task1->Get<Duration>(Tsk::Duration()).Add(project->GetDuration(i + 1)));
25    subTask->Set<TimeUnitType>(Tsk::DurationFormat(), Aspose::Tasks::TimeUnitType::Day);
26    subTask->Set(Tsk::Deadline(), task1->Get<System::DateTime>(Tsk::Deadline()).AddDays(i + 1));
27}
28        
29// Save the Project
30project->Save(dataDir + u"project_UpdateTaskData_updated_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.