참조 한정자
참조 한정자를 사용하여 참조 필드에 대해 반환되는 데이터를 필터링합니다.
참조 필드는 다른 테이블의 필드에 대한 링크(참조)를 저장하여 참조 필드를 포함하는 양식에서 참조된 테이블의 기록/필드를 사용할 수 있도록 합니다.
예를 들어, 인시던트 테이블의 할당 대상 필드는 사용자 [sys_user] 테이블에 대한 참조입니다. 기본적으로 참조되는 필드의 모든 값은 참조 조회 에 나타나며 참조 필드(자동 완성)를 통해 직접 액세스할 수 있습니다. 이전 예제를 확장하여 참조 한정자가 정의되지 않은 경우 사용자 테이블의 모든 사용자가 참조 조회에 나타납니다. 비활성 사용자도 포함됩니다. 경우에 따라 이것이 원하는 기능일 수 있습니다. 그러나 다른 경우에는 사용 가능한 값의 하위 집합만 필요할 수 있습니다. 이 경우 참조 한정자를 만들어 사용 가능한 데이터를 필터링하여 원하는 값만 반환되고 양식에서 사용할 수 있도록 합니다. 예를 들어, 활성 사용자 또는 특정 역할을 가진 사용자만 해당됩니다. 참조 한정자는 강력하며 단순 AND/OR 조건, 인라인 JavaScript 또는 복합 스크립트 포함으로 구성될 수 있습니다.
다음 방법 중 하나를 사용하여 참조 한정자를 정의할 수 있습니다.
단순 참조 한정자
단순 참조 한정자는 AND/OR 문(조건)을 사용하여 단순 필터를 만듭니다. 회사가 활성 상태인지, 사용자에게 특정 역할이 있는지, 호출자가 특정 시간대에 있는지 등의 조건으로 필터링할 때 단순 참조 한정자를 사용합니다. 단순 참조 한정자에는 최대 13개의 참조 한정자 조건이 있을 수 있습니다. 조건 작성기를 사용하는 방법에 대한 자세한 내용은 을 참조하십시오 Condition builder.
동적 참조 한정자
동적 참조 한정자를 사용하면 동적 필터 작성 옵션을 사용하여 참조 필드에 대한 쿼리를 실행하여 반환된 데이터 세트를 필터링할 수 있습니다. 동적 필터 옵션은 인코딩된 쿼리 문자열, JavaScript 또는 스크립트 포함을 포함할 수 있는 저장된 필터이며 여러 동적 참조 한정자에 사용될 수 있습니다. 동적 필터 옵션에 대한 변경 내용은 동일한 동적 필터 옵션을 사용하는 모든 참조 한정자에 자동으로 적용됩니다. 여러 양식에 동일한 필터를 사용하거나 "코드에 익숙하지 않은" 구현자에게 필터 기능을 제공하려는 경우 이 형식의 참조 한정자를 사용합니다.
기본 인스턴스는 몇 가지 OOB 동적 필터 옵션을 제공합니다. 요구 사항을 충족하는 동적 필터 옵션이 없는 경우 요구 사항과 관련된 새 동적 필터 옵션을 만들 수 있습니다. OOB 동적 필터 옵션의 예로는 컴퓨터 양식과 같은 구성 항목 양식의 모델 ID 필드에 있는 참조 한정자를 들 수 있습니다. 참조 한정자가 CI 모델 한정자 동적 필터 옵션을 호출하고, 이 옵션이 ModelAndCategoryFilters 스크립트 포함을 호출합니다. 이 스크립트 포함은 CI의 클래스를 기반으로 데이터 세트를 필터링합니다. 모델 ID에 대한 유일한 옵션은 현재 CI와 동일한 클래스에 속하는 옵션입니다. 예를 들어, 컴퓨터 클래스에 속한 CI만 컴퓨터 양식의 모델 ID 필드에서 사용할 수 있습니다.
고급 참조 한정자
vendor=true가 있으며, 이는 공급업체로 지정된 모든 회사를 반환합니다. 이 문자열을 입력하는 것은 단순 참조 한정자에 대한 예제와 같이 조건 작성기를 사용하는 것과 같습니다. 유효한 인코딩된 쿼리 문자열 구문 및 예제에 대한 자세한 내용은 인코딩된 쿼리 문자열을 참조하세요.javascript:new myScriptInclude().my_refqual()입니다. 이 코드는 스크립트 포함 myScriptInclude()에서 my_refqual() 함수를 호출합니다. 함수는 참조 필드에서 사용할 수 있는 옵션을 필터링할 수 있는 쿼리 문자열을 반환해야 합니다.javascript:'u_active=true^' + "u_hr_service="+current.hr_service 와 같이 인코딩된 JavaScript 필터를 사용할 수도 있습니다.return "company=" + current.company;javascript:"company=" + current.company특정 그룹의 사용자만 표시하도록 참조 필드를 구성하는 또 다른 예는 지식베이스에서 특정 그룹의 사용자만 참조 필드로 선택하는 방법[KB0831564] 문서를 Now Support 참조하십시오
.관련 목록 및 참조 한정자
// Advanced reference qualifier on the CI Relationship Child field that takes into account
// the related list that we are editing the child field on, if the field is being edited
// from a tagged related list.
cmdb_rel_ci_child_refQual:function(){
if(listEditRefQualTag =="application") return "sys_class_name = cmdb_ci_appl";
if(listEditRefQualTag =="database") return "sys_class_name = cmdb_ci_database"
}참조 한정자에 Javascript 현재 구문 사용
current 는 활성(현재) 기록의 필드와 필드 값을 포함하는 JavaScript 객체입니다. 양식의 경우 양식에 표시되는(로드되는) 기록입니다. 고급 및 동적 참조 한정자 내에서 JavaScript 현재 개체를 사용하여 javascript:"company=" + current.company와 같은 필터를 정의할 수 있습니다.
이 JavaScript는 참조 한정자 내에서 현재 기록의 회사 필드 값과 동일한 참조된 테이블의 기록만 반환합니다. 따라서 회사 필드에 나타나는 값이 Acme인 경우 JavaScript는 회사 값이 Acme(company="Acme")와 같은 모든 참조 필드 레코드를 반환합니다. 그런 다음 회사 값이 "ViewRite"인 레코드를 가져오면 JavaScript는 company="ViewRite"로 확인됩니다.
현재 로드된 양식(테이블) 내의 모든 필드를 현재 객체와 함께 사용할 수 있습니다. 닷워킹을 사용하여 참조된 테이블을 포함한 테이블의 값에 액세스합니다. 예를 들어 인시던트 양식에서 할당 대상 필드는 사용자 테이블을 참조합니다. 사용자의 이메일 주소에 액세스하려면 javascript:"emailAddress=" + current.assigned_to.email 구문을 사용합니다.