분할 작업 종료일 계산

Microsoft Project에서는 일정이 중단되면 작업을 분할할 수 있습니다. Aspose.Tasks for .NET을 사용하면 프로그래밍 방식으로 분할된 작업의 종료일로 보고 및 자동화를 더 쉽게 할 수 있습니다.

분할 작업이란 무엇입니까?

하나의 분할 작업 는 실행이 중단되어 두 개 이상의 구간으로 나뉘는 작업입니다(예: 자원 대기, 외부 종속성).

Microsoft Project에서는 분할 작업이 Gantt Chart 보기에서 점선으로 연결된 개별 막대로:

작업에 분할이 있는지 확인하기

종료일 계산을 위한 API

해당 Calendar 클래스는 다음 메서드를 제공합니다:

이 메서드는 캘린더 규칙작업의 중단 구간 을 고려합니다.

예제: C#에서 분할 작업 종료일 계산

다음은 C# 예제로 분할 작업의 종료일을 계산하는 방법을 보여줍니다:

 1Project project = new Project("New Project.mpp");
 2
 3// Find a split task
 4Task splitTask = project.RootTask.Children.GetByUid(4);
 5
 6// Find the project calendar
 7Calendar calendar = project.Get(Prj.Calendar);
 8
 9// Calculate task's finish date with different durations
10Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 8 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(8, 0, 0)));
11Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 16 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(16, 0, 0)));
12Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 24 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(24, 0, 0)));
13Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 28 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(28, 0, 0)));
14Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 32 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(32, 0, 0)));
15Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 46 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(46, 0, 0)));
16Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 61 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(61, 0, 0)));
17Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 75 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(75, 0, 0)));
18Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 80 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(80, 0, 0)));
19Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 120 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(120, 0, 0)));
20Console.WriteLine("Start Date: " + splitTask.Get(Tsk.Start).ToShortDateString() + "Duration 150 hours Finish Date: " + calendar.GetTaskFinishDateFromDuration(splitTask, new TimeSpan(150, 0, 0)));

주요 이점

자주 묻는 질문

Q: 분할 작업의 시작일도 계산할 수 있나요?

Q: 작업에 여러 분할이 있어도 작동하나요?

Q: 이를 사용하려면 Microsoft Project가 설치되어 있어야 하나요?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.