스크립트 사용 사례 예약

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 3분
  • 비즈니스 규칙 스크립트는 비즈니스 규칙이 수행하는 작업을 지정합니다. 일반적으로 스크립트에는 현재 기록과 같은 시스템의 항목을 참조하는 미리 정의된 전역 변수가 포함됩니다. 전역 변수는 모든 비즈니스 규칙에 사용할 수 있습니다.

    경고:
    여기서 설명하는 사용자 지정은 특정 인스턴스에서 사용하도록 개발되었으며, Now Support에서 지원되지 않습니다. 이 메서드는 있는 그대로 제공되며 구현 전에 철저히 테스트되어야 합니다. 이 사용자 지정에 대한 모든 질문과 의견을 커뮤니티 포럼에 게시합니다.

    일정에 따라 기간 계산

    유형: 비즈니스 규칙 업데이트/삽입 전.

    설명: 업무 기간은 특정 생성 및 사용 일정을 기반으로 인시던트의 열기부터 종결까지의 기간을 계산합니다. 지정된 일정이 없으면 스크립트는 쿼리에서 반환된 첫 번째 일정만 사용합니다.

    스크립트 예:

    아래 예시에서는 인시던트 상태가 해결됨으로 이동할 때 해결 기간을 설정합니다.
    var gr_rec = new GlideRecord('incident');
    gr_rec.get('ed92e8d173d023002728660c4cf6a7bc');
    if (gr_rec.incident_state == 6) {
    var dur = calcDurationSchedule(gr_rec.opened_at, gr_rec.sys_updated_on);
    }
     
    function calcDurationSchedule(start, end){ 
      // Get the user   
      var usr = new GlideRecord('sys_user');
      usr.get(gs.getUserID());
      // Create schedule - pass in the sys_id of your standard work day schedule and pass in the users timezone
      var sched = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae',usr.time_zone);
      // Get duration based on schedule/timezone 
      return(sched.duration(start.getGlideObject(), end.getGlideObject()));
    }

    예정된 종료 날짜 확인

    유형: 예약된 스크립트.

    설명: 이 스크립트는 계약 기간 필드에 따라 90일, 50일 또는 10일 후에 예정된 계약의 종료 날짜를 야간에 확인합니다.

    스크립트 예:

    function contractNoticeDue(){
      var now_GR = new GlideRecord("contract");
      now_GR.addQuery("u_contract_status","Active");
      now_GR.query();
      while(now_GR.next()){
        if((now_GR.u_termination_date<= gs.daysAgo(-90))&&(now_GR.u_contract_duration=="Long")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date<= gs.daysAgo(-50))&&(now_GR.u_contract_duration=="Medium")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date <= gs.daysAgo(-10))&&(now_GR.u_contract_duration=="Short")){
          now_GR.u_contract_status="In review";}
        now_GR.update();
      }
    }
    비즈니스 규칙의 스크립트를 사용하여 다음과 같은 일반적인 작업을 수행할 수 있습니다.
    • 두 날짜 필드를 비교합니다.
    • XML 페이로드 구문 분석
    • 비즈니스 규칙에서 데이터베이스 작업을 중단하는 경우.
    스크립트를 사용하여 다음을 수행할 수도 있습니다.
    • 비즈니스 규칙을 트리거하는 작업을 지정합니다.
    • 표시 비즈니스 규칙이 있는 스크래치패드를 사용하여 사용자가 양식을 로드하기 직전에 양식 값을 변경합니다.
    • 조건 작성기에서와 같이 OR 조건을 사용합니다.

    서버 측 스크립트에 사용할 수 있는 시스템의 스크립팅 기능을 활용할 수도 있습니다.

    스크립트를 작성할 필요 없이 비즈니스 규칙 양식의 옵션을 사용하여 조건을 작성하고, 필드 값을 설정하고, 경보 메시지를 표시할 수 있습니다.