작업과 캘린더
Contents
[
Hide
Show
]Microsoft Project에서는 특정 캘린더를 개별 작업에 연결할 수 있습니다. Aspose.Tasks for .NET은 다음을 통해 동일한 기능을 제공합니다 Tsk.Calendar 속성으로, 작업을 특정 캘린더에 연결합니다.
캘린더가 있는 작업
다음
Tsk 클래스는 Calendar
필드를 노출하며, 이 필드는 작업과 연결된 캘린더를 설정하거나 가져오는 데 사용됩니다. 이 속성은 Aspose.Tasks.Calendar 객체를 받아들이거나 반환합니다.
Microsoft Project에서 작업용 캘린더를 만들려면:
- 프로젝트 파일을 엽니다.
- 상단의 Project 메뉴에서 Change Working Times → Create New Calendar.
- 캘린더를 할당하려면, Task Entry 양식에서 작업을 더블클릭하고 작업 속성에서 캘린더를 선택합니다.
예제: 작업 캘린더 설정
다음 코드는 캘린더를 생성하고 작업을 추가한 뒤 해당 작업에 캘린더를 할당하는 방법을 보여줍니다:
1Project project = new Project();
2
3// Add task
4Task task = project.RootTask.Children.Add("Task1");
5
6// Create calendar and assign to task
7Calendar cal = project.Calendars.Add("TaskCal1");
8task.Set(Tsk.Calendar, cal);
예제: 작업 캘린더 읽기
프로젝트에서 작업을 순회하면서 연결된 캘린더를 읽을 수도 있습니다:
1Project project = new Project("New Project.mpp");
2
3// Declare ChildTasksCollector class object
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Use TaskUtils to get all children tasks in RootTask
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Parse all the recursive children
10foreach (Task task in collector.Tasks)
11{
12 Calendar cal = task.Get(Tsk.Calendar);
13 Console.WriteLine("Task calendar name: {0}", cal == null ? "None" : cal.Name);
14}
주요 참고 사항
- 작업 캘린더는 해당 특정 작업의 일정에 대해 프로젝트 캘린더보다 우선합니다.
- 작업에 자체 캘린더가 없으면 기본 프로젝트 캘린더를 상속합니다.
- 캘린더에는 근무 시간, 예외 및 공휴일을 포함할 수 있어 작업 일정에 대해 세밀한 제어를 제공합니다.
- 다음 형식 모두에서 일관되게 작동합니다: MPP 및 XML .
자주 묻는 질문
질문: 작업이 둘 이상의 캘린더를 가질 수 있나요?
- 아니요. 각 작업에는 하나의 캘린더만 할당할 수 있습니다.
질문: 작업 캘린더가 프로젝트 캘린더와 충돌하면 어떻게 되나요?
- 해당 작업에 대해 작업 캘린더가 우선 적용됩니다.
질문: 작업에서 캘린더를 어떻게 제거하나요?
- 작업의
Calendar
속성을null
로 설정하면 다시 프로젝트 캘린더를 사용하게 됩니다.
질문: 작업 캘린더를 할당할 때 리소스 캘린더도 고려되나요?
- 예. 최종 일정은 작업 캘린더, 리소스 캘린더 및 프로젝트 캘린더를 결합하여 계산됩니다.