작업 다루기

때때로 작업을 예정대로 완료할 수 없어서 두 개 이상의 부분으로 분할해야 할 때가 있습니다. Microsoft Project는 작업 분할을 지원하며 Aspose.Tasks for .NET은 동일한 기능을 프로그래밍 방식으로 제공합니다.

작업 분할

해당 SplitParts 속성은 Task 클래스에서 작업의 분할 부분을 결정하는 데 사용되는 반면, SplitTask 메서드는 ResourceAssignment 클래스는 단일 작업을 여러 부분으로 분할하는 데 사용됩니다. SplitParts는 분할 부분의 컬렉션을 반환하는 반면 SplitTask 메서드는 작업을 분할하기 위해 시작 날짜, 완료 날짜 및 캘린더 인수를 받습니다.

Microsoft Project에서의 작업 분할 및 보기

Microsoft Project에서 작업을 다음과 같이 분할할 수 있습니다:

  1. 나누고자 하는 긴 작업을 선택합니다.
  2. Task 탭의 Schedule 그룹에서 Split Task.
  3. 분할이 발생하기를 원하는 작업 표시줄의 지점을 클릭합니다.

분할된 작업은 Gantt Chart 보기에서 표시되며 점선으로 연결됩니다.

예제: 작업 생성 및 분할

다음 예제에서는 프로젝트를 생성하고 작업을 추가하고 리소스를 할당한 다음 프로그램적으로 작업을 분할하는 방법을 보여줍니다:

 1// Create new project
 2Project splitTaskProject = new Project();
 3
 4// Get a standard calendar
 5Calendar calendar = splitTaskProject.Get(Prj.Calendar);
 6
 7// Set project's calendar settings
 8splitTaskProject.Set(Prj.StartDate, new DateTime(2000, 3, 15, 8, 0, 0));
 9splitTaskProject.Set(Prj.FinishDate, new DateTime(2000, 4, 21, 17, 0, 0));
10
11// Add a new task to root task
12Task rootTask = splitTaskProject.RootTask;
13rootTask.Set(Tsk.Name, "Root");
14Task taskToSplit = rootTask.Children.Add("Task1");
15taskToSplit.Set(Tsk.Duration, splitTaskProject.GetDuration(3));
16
17// Create a new resource assignment and generate timephased data
18ResourceAssignment splitResourceAssignment = splitTaskProject.ResourceAssignments.Add(taskToSplit, null);
19splitResourceAssignment.TimephasedDataFromTaskDuration(calendar);
20
21// Split the task into 3 parts.
22// Provide start date and finish date arguments to SplitTask method which will be used for split
23splitResourceAssignment.SplitTask(new DateTime(2000, 3, 16, 8, 0, 0), new DateTime(2000, 3, 16, 17, 0, 0), calendar);
24splitResourceAssignment.SplitTask(new DateTime(2000, 3, 18, 8, 0, 0), new DateTime(2000, 3, 18, 17, 0, 0), calendar);
25splitResourceAssignment.Set(Asn.WorkContour, WorkContourType.Contoured);
26
27splitTaskProject.Save("CreateSplitTasks_out.xml", SaveFileFormat.XML);

예제: 분할된 작업 보기

다음 예제는 프로젝트에서 분할된 작업을 식별하고 그 세부 정보를 콘솔에 출력하는 방법을 보여줍니다:

 1Project project = new Project("New Project.mpp");
 2
 3// Access task 
 4Task splitTask = project.RootTask.Children.GetById(4);
 5
 6// Display split parts of task
 7SplitPartCollection collection = splitTask.SplitParts;
 8foreach (SplitPart splitPart in collection)
 9{
10    Console.WriteLine("Index: " + splitPart.Index + " Start: " + splitPart.Start + " Finish: " + splitPart.Finish);
11}

주요 참고 사항

자주 묻는 질문

질문: 작업이 두 번 이상 분할될 수 있나요?

질문: 분할이 작업 기간에 영향을 주나요?

질문: 분할된 작업을 다시 병합할 수 있나요?

질문: 이 기능이 반복 작업에 대해 지원되나요?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.