상대 기간을 구현하는 방법

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • cmn_relative_duration 테이블 및 DurationCalculator 스크립트 포함을 만들어 상대 기간을 구현할 수 있습니다.

    시작하기 전에

    필요한 역할: admin

    프로시저

    1. cmn_relative_duration 테이블을 생성합니다.
    2. DurationCalculator 스크립트 포함을 만듭니다.
    3. 상대 기간 샘플 항목(예: "다음 영업일 오후 4시까지")을 만듭니다.
    4. 상대 기간을 지원하는 데 필요한 필드를 SLA 테이블에 추가합니다.
    5. SLA에 대한 기간 계산을 수정합니다.
    6. SLA에 대한 SLA 백분율 타이머 계산을 수정합니다(work_seconds를 사용해야 함).
    7. 워크플로우에 일정 필드 추가: 일정 및 시간대(워크플로우 테이블의 필드에 따라 선택됨).
    8. 워크플로우 작업 활동에 기간 지원 필드를 추가합니다.
    9. 작업 활동에 대한 기간 계산 스크립트를 구현합니다.

    상대 기간 테이블 및 DurationCalculator 메서드

    cmn_relative_duration 테이블은 기한을 기간 또는 상대적 기간으로 정의할 수 있도록 지원합니다.

    이 테이블은 "name"과 "script"라는 두 개의 필드로 구성됩니다. "script" 필드에는 상대 기간 계산 스크립트가 포함되어 있습니다. 이 스크립트에는 기한을 계산하는 데 사용되는 "calculator" 변수가 포함되어 있습니다.

    DurationCalculator 스크립트 포함을 사용하여 기간 계산을 수행할 수 있습니다. 다음은 이 스크립트 포함에서 사용할 수 있는 메서드입니다.

    표 1. DurationCalculator 스크립트 포함 테이블
    방법 설명
    setSchedule (문자열 schedID, [문자열 시간대]) 기한 계산에 사용할 일정과 시간대를 설정합니다.
    setStartDateTime(GlideDateTime 시작) 기간 계산의 시작 시간을 설정합니다. "start"가 공백이면 현재 날짜/시간을 사용합니다.
    calcDuration(int 초) 종료 날짜와 시간을 계산합니다. 완료되면 this.endDateTime 및 this.seconds 속성이 계산 결과를 나타내도록 설정됩니다.
    calcRelativeDuration(문자열 relativeDurationID) 지정된 상대 기간 스크립트를 사용하여 기간을 계산합니다. 완료되면 this.endDateTime 및 this.seconds 속성이 계산 결과를 나타내도록 설정됩니다.
    getEndDateTime()을 호출합니다. 지속 시간의 종료 날짜와 시간을 나타내는 calcDuration/calcRelativeDuration에 의해 설정된 this.endDateTime 속성을 가져옵니다.
    getSeconds()를 호출합니다. calcDuration/calcRelativeDuration에 의해 설정된 this.seconds 속성을 가져오며, 해당 기간 동안 수행할 작업의 총 시간(초)을 나타냅니다.
    주:
    시작 시간과 종료 시간 사이의 총 시간이 아니라 총 작업 시간이며 작업 시간의 백분율을 결정하는 데 사용할 수 있습니다
    getTotalSeconds()를 호출합니다. 기간의 시작 시간과 종료 시간 사이의 총 시간(초)을 나타내는 calcDuration/calcRelativeDuration에 의해 설정된 this.totalSeconds 속성을 가져옵니다.

    상대 기간 스크립트에서 사용되는 함수는 다음과 같습니다.

    표 2. 상대 기간 스크립트 함수
    기능 설명
    부울 isAfter(GlideDateTime dt, 문자열 시간) '시간'은 'dt'로 지정된 시간 이후입니까? DT가 비어 있으면 현재 날짜/시간이 사용됩니다. 시간은 24시간 형식의 "hh:mm:ss"입니다.
    calcRelativeDueDate(GlideDateTime 시작, int 일, 문자열 endTime) "시작"에서 시작하여 일정과 시간대를 사용하여 "일"을 더한 기한을 계산합니다. 작업 마감일을 찾으면 시간을 해당 날짜의 'endTime'으로 설정합니다. 완료되면 this.endDateTime 및 this.seconds 속성이 계산 결과를 나타내도록 설정됩니다. endTime이 비어 있으면 종료 근무일의 종료를 사용합니다.