기록 접근 제한

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • 데이터베이스 쿼리 전에 실행되는 쿼리 비즈니스 규칙을 사용하여 사용자가 특정 기록에 액세스하지 못하도록 할 수 있습니다.

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

    인시던트 기록에 대한 액세스를 제한하는 기본 비즈니스 규칙의 다음 예를 생각해 보십시오.

    표 1. 기본 비즈니스 규칙은 인시던트 기록에 대한 액세스를 제한합니다.
    이름 테이블 시기
    인시던트 쿼리 인시던트 이전, 쿼리

    기록 접근 제한

    다음 예에서 사용자는 itil 역할이 있고 호출자 또는 시작한 사람 필드에 나열되지 않는 한 인시던트 기록에 액세스할 수 없습니다. 셀프 서비스 사용자가 인시던트 목록을 열면 제출한 인시던트만 볼 수 있습니다.
    if (!gs.hasRole("itil")&& gs.isInteractive()) {
      var u = gs.getUserID();
      var qc = current.addQuery("caller_id", u).addOrCondition("opened_by", u).addOrCondition("watch_list","CONTAINS", u);
      gs.print("query restricted to user: " + u);}
    주:
    접근 제어를 사용하여 사용자가 볼 수 있는 기록을 제한할 수도 있습니다. 자세한 내용은 Access Control List Rules 문서를 참조하십시오.

    평일에 대한 일정 스크립트

    유형: 비즈니스 규칙/클라이언트 스크립트

    이 스크립트는 스크립트를 평일에 예약합니다. "여기 스크립트"라고 적혀 있는 스크립트를 삽입합니다.
    var go ='false';
    var now =new Date(); 
     
    // Correct time zone, which is by default GMT -7 
    now.setHours(now.getHours()+8);
    var day = now.getDay(); 
     
    // No go on Saturday or Sunday 
    if(day !=0&& day !=6){
     
    // (your script here)
     
    }

    현재 날짜에 따라 날짜 필드 설정

    이 스크립트는 현재 요일에 따라 날짜 필드를 설정합니다. 이 예에서는 요일이 월요일부터 수요일이면 날짜를 다음 월요일로 설정합니다. 그렇지 않으면 날짜 필드가 다음 월요일로 설정됩니다.
    function setCabDate(){
    var today = new Date();
    var thisDay = today.getDay();
    
    //returns 0 for Sunday, 1 for Monday, through 6 for Saturday.
    var thisMon = new GlideDateTime();
    thisMon.setDisplayValue(gs.beginningOfThisWeek());
    var nextMon = thisMon.getNumericValue();
    nextMon +=(1000*60*60*24*7);
     
    if((thisDay <4)&&(thisDay >0))
      //if today is Mon thru Wed (thisDay = 1, 2, or 3), set cab to this coming Monday.
      current.u_req_cab_rev_date.setDateNumericValue(thisMon.getNumericValue());
    else if((thisDay >=4)||(thisDay ==0))
      //if today is Thurs thru Sun (thisDay = 4, 5, 6, or 0), set cab to next Monday.
      current.u_req_cab_rev_date.setDateNumericValue(nextMon);
    }

    모든 날짜/시간 필드의 입력을 확인하려면 확인 스크립트(시스템 정의 > 확인 스크립트). 이 스크립트에서는 날짜/시간 형식이 하드 코딩되어 있기 때문에 인스턴스의 날짜/시간 형식과 일치해야 합니다. 인스턴스의 날짜/시간 형식이 변경되면 확인 스크립트를 업데이트해야 합니다.

    확인 스크립트의 유형을 날짜/시간으로 설정합니다. 그런 다음 이 확인 스크립트를 사용하여 사용자가 날짜/시간 필드에 잘못된 형식을 입력하면 오류 메시지가 표시됩니다.
    function validate(value){
    // empty fields are still valid dates 
    if(!value) 
        return true; 
     
    // We "should" have the global date format defined always defined. But there's always that edge case. 
    if(typeof g_user_date_time_format !=='undefined')
        return isDate(value, g_user_date_time_format); 
     
    // if we don't have that defined, we can always try guessing 
    return parseDate(value)!==null;}
    자세한 내용은 확인 스크립트 사용 사례 - 날짜 및 시간 문서를 참조하십시오.