스크립팅된 필터 생성

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 1분
  • 조건 작성기만으로는 관련 없는 테이블에 종속된 기록 세트 표시와 같은 일부 필터를 만들 수 없습니다. JavaScript를 알고 있는 경우 고급 필터에 사용할 JavaScript 함수를 만들 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. 새 스크립트 포함을 생성합니다.
      1. 다음으로 이동 모두 > 시스템 정의 > 스크립트 포함.
      2. 새로 만들기를 클릭합니다.
      3. 양식을 작성한 다음 제출을 선택합니다.
    2. 스크립트 포함을 열고 스크립트 필드에서 sys_ids 배열을 반환하는 JavaScript 함수를 만듭니다.
      • 함수가 스크립트 포함과 동일한 이름을 사용하는지 확인합니다.
      • 스크립트 포함이 활성 이고 클라이언트 호출 가능한지 확인하십시오.
    3. 조건 작성기에서 JavaScript 함수를 호출합니다.
      자세한 내용은 GlideRecord 쿼리 및 스크립트 포함을 참조하십시오.
      주:
      필터에 스크립트 포함이 있는 그룹화된 목록으로 인해 속도가 느려질 수 있습니다.

    한 회사에서 고객 그룹에 대한 집중 치료를 제공합니다. 이러한 서비스를 추적하려면 서비스 관리자에게 상위 수준의 저널과 고객이 제기하는 모든 인시던트에 대한 링크가 필요합니다.

    회사는 애플리케이션, 집중 치료 및 테이블 [u_intensive_care]을 생성합니다. 테이블에는 고객 이름에 대한 참조 필드가 포함되어 있지만 사용자 테이블로 직접 연결되는 링크는 없습니다. 따라서 관리자는 집중 치료를 받고 있는 고객에 대해서는 조건 작성기를 사용하여 인시던트 목록 필터를 설정할 수 없습니다.

    해결 방법은 아래 샘플 코드와 같이 GlideRecord 쿼리를 사용하여 [u_intensive_care] 테이블에 사용자 sys_ids 배열을 작성하는 JavaScript 함수를 작성하는 것입니다. 인시던트 테이블의 조건 작성기에서 함수를 호출합니다([Caller] [is] [javascript:myFunction()]).
    function myFunction(){ 
        var arrUsers = [];
        var gr = new GlideRecord('u_intensive_care');
        gr.query(); 
        while(gr.next()){
            arrUsers.push(gr.u_customer.toString()); 
        }
        return arrUsers;
    }