참조 필드에 대한 자동 완성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기9분
  • 기본적으로 참조 필드는 사용자가 필드에 입력하면 자동으로 완성됩니다.

    관리자는 추가 자동 완성 옵션을 구성할 수 있습니다. 자동 완성 기능을 사용하려면 사용자가 참조된 테이블에 대한 테이블 수준 읽기 권한이 있어야 옵션을 표시할 수 있습니다.
    그림 1. 자동 완성
    사용자가 joe를 입력하면 자동 완성 기능이 해당 필드에 Joe Employee를 제안합니다.

    참조 필드의 자동 완성을 위한 딕셔너리 속성

    참조 필드에만 해당되며 자동 완성 동작을 결정하는 딕셔너리 속성이 있습니다.

    표 1. 참조 필드 자동 완성 딕셔너리 속성
    속성 설명
    ref_auto_completer 드롭다운 자동 완성 선택 항목을 만드는 클라이언트 측 JavaScript 클래스의 이름을 지정합니다. 유효한 클래스 값은 다음과 같습니다.
    • AJAXReferenceCompleter: 일치하는 자동 완성 선택 항목을 드롭다운 선택 목록으로 표시합니다. 목록에는 참조 테이블의 표시 값 열만 표시됩니다. 지정된 다른 자동 완성 클래스가 없는 경우 참조 필드에서 이 클래스를 자동으로 사용합니다.
    • AJAXTableCompleter: 일치하는 자동 완성 선택 항목을 테이블의 행으로 표시합니다. 테이블에는 참조 테이블의 표시 값 열과 속성에 나열된 ref_ac_columns 열이 표시됩니다.
    • AJAXReferenceChoice: 일치하는 자동 완성 선택 사항을 드롭다운 선택 목록으로 표시합니다. 목록에는 참조 테이블의 표시 값 열만 표시됩니다. 또한 목록에는 일치하는 선택 항목이 최대 25개까지 표시됩니다. 자동 완성 선택 항목이 25개를 넘으면 참조 필드는 AJAXTableCompleter 클래스를 대신 사용하여 선택 항목을 표시합니다.
    ref_ac_columns 표시할 참조 테이블 열 목록을 지정합니다. 열 이름은 세미콜론으로 구분합니다. 예를 들어 ref_ac_columns=user_name;email;sys_created_on 자동 완성 기능을 user_name, 이메일 및 sys_created_on 열의 텍스트와 일치시킬 수 있습니다.
    ref_ac_order_by 자동 완성 선택 항목을 정렬하는 참조 테이블 열을 지정합니다. 예를 들어, ref_ac_order_by=name 자동 완성 선택 항목을 이름순으로 사전순으로 정렬합니다.

    자동 완성 UI 기능

    AJAX 테이블 완성자 클래스에는 여러 가지 UI 개선 사항이 있습니다.

    • 테이블 완성기는 항상 자동 완성 쿼리가 찾는 기록 수를 표시합니다.
    • 테이블 완성기는 배경과 텍스트의 색상을 변경하여 선택한 전체 행을 강조 표시합니다.
    • 테이블 완료자는 모든 열의 값을 나열합니다.
      • 값이 열에 처음 나타나면 테이블 완료자가 해당 값을 검은색 텍스트로 표시합니다.
      • 테이블 완성기는 후속 중복 값을 회색 텍스트로 표시합니다. 이전에는 테이블 완료자가 중복 값이 포함된 열에 빈 셀을 표시했습니다.
    그림 2. 선택한 행 강조 표시

    ref_auto_completer=AJAXTableCompleter 이러한 개선 사항을 사용하도록 dictionary 속성을 설정합니다.

    테이블에 대한 모든 참조에 대한 자동 완성 속성 정의

    필드에 동일한 속성에 대한 자체 값이 없는 경우 필드는 참조 테이블의 자동 완성 속성을 상속하고 사용합니다. 테이블 참조에 대한 속성을 정의할 수 있으며 이는 해당 테이블을 참조하는 모든 양식에 영향을 줍니다.

    시작하기 전에

    필요한 역할: personalize_dictionary

    이 태스크 정보

    필드 수준 속성은 같은 이름의 테이블 수준 속성을 재정의합니다. 필드가 참조 테이블에 대해 정의된 것과 다른 참조 속성을 사용하는 경우, 필드는 두 속성 집합을 모두 사용합니다.

    이러한 단계를 사용하여 아직 자체 자동 완성 속성이 없는 테이블의 모든 필드에 대한 자동 완성 속성을 정의합니다. 이 예에서는 사용자 [sys_user] 테이블에 대한 모든 참조에 대한 자동 완성 속성을 정의하는 방법을 설명합니다.
    주:
    필드의 자동 완성 속성 값은 테이블의 자동 완성 속성 값을 대체합니다. 즉, 자동 완성 속성에 대한 기존 필드 수준 값은 관리자가 참조 테이블의 자동 완성 속성에 적용하는 모든 값을 대체합니다.

    프로시저

    1. 다음과 같은 대상 테이블 목록으로 이동합니다. 모두 > 사용자 관리 > 사용자.
    2. 목록 버전에 적절한 작업을 수행합니다.
      버전작업
      목록 v2 열 헤더를 마우스 오른쪽 버튼으로 클릭하고 구성 > 딕셔너리.
      목록 v3 목록 제목 메뉴를 열고 구성을 클릭한 다음 사전을 클릭합니다.
    3. 열 이름을 나열하지 않는 행을 선택합니다.
      이 행은 일반적으로 목록의 첫 번째 행입니다. 예를 들어 첫 번째 sys_user 링크를 선택합니다.
    4. 관련 링크에서 고급 보기를 클릭합니다.
    5. 테이블의 모든 필드에 적용하려는 자동 완성 속성의 쉼표로 구분된 목록을 속성 필드에 입력합니다.
      예를 들어, sys_user 테이블에 대한 모든 참조와 함께 사용자의 부서를 표시하려면 다음과 같이 입력합니다.
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department
    6. 업데이트를 클릭합니다.

    다음에 수행할 작업

    새 자동 완성 속성을 테스트하려면 미결 인시던트와 같은 사용자 [sys_user] 테이블을 참조하는 양식을 엽니다. 할당 대상 필드에 단일 문자를 입력합니다. 이제 자동 완성 옵션에 사용자 이름과 부서가 모두 포함됩니다.
    자동 완성 목록

    표시 값 열 제거

    속성을 false로 설정하면 ref_ac_display_value 참조 필드에서 표시 값 열을 제거할 수 있습니다.

    시작하기 전에

    필요한 역할: personalize_dictionary

    이 태스크 정보

    이렇게 하면 참조 필드가 표시 값 열을 제거하고 속성에 나열된 ref_ac_columns 열만 표시합니다. 이 기능을 사용하려면 AJAXTableCompleter 클래스와 ref_ac_columns, ref_ac_columns_search, 및 ref_ac_display_value 특성을 사용해야 합니다.
    주:
    참조 필드가 UI 매크로의 제품인 경우 자동 완성은 ui_reference 추가 열의 텍스트와 일치시킬 수 없습니다. 즉, 가장 사용자 목록과 같은 선택기에 대한 자동 완성 작업은 표시 값에 대한 텍스트만 일치시킬 수 있습니다.

    이 예제에서는 사용자 [sys_user] 테이블에 대한 참조에서 표시 값 열을 제거하고 first_name 및 last_name 열에 대한 참조로 바꾸는 방법을 설명합니다.

    프로시저

    1. 다음과 같은 대상 테이블 목록으로 이동합니다. 모두 > 사용자 관리 > 사용자.
    2. 목록 버전에 적절한 작업을 수행합니다.
      버전작업
      목록 v2 열 헤더를 마우스 오른쪽 버튼으로 클릭하고 구성 > 딕셔너리.
      목록 v3 목록 제목 메뉴를 열고 구성을 클릭한 다음 사전을 클릭합니다.
    3. 열 이름을 나열하지 않는 행을 선택합니다.
      이 행은 일반적으로 목록의 첫 번째 행입니다. 예를 들어 첫 번째 sys_user 링크를 선택합니다.
    4. 관련 링크에서 고급 보기를 클릭합니다.
    5. 속성 필드에 , ref_ac_columns,ref_ac_columns_search , 및 ref_ac_display_value 속성을 추가합니다ref_auto_completer.
      예를 들어 표시 값 열을 숨기고 사용자의 이름과 성만 표시하려면 다음을 입력합니다.
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=first_name;last_name,ref_ac_columns_search=true,ref_ac_display_value=false
    6. 업데이트를 클릭합니다.

    다음에 수행할 작업

    새 자동 완성 속성을 테스트하려면 미결 인시던트와 같은 사용자 [sys_user] 테이블을 참조하는 양식을 엽니다. 할당 대상 필드에 단일 문자를 입력합니다. 이제 자동 완성 옵션은 표시 값 열(user_name)을 숨기고 first_name 및 last_name 열만 표시합니다.

    자동 완성 표시 값 없음

    자동 완성 쿼리 개선

    기본적으로 모든 참조 필드는 다음으로 시작 쿼리를 사용하여 참조 테이블에서 일치하는 텍스트를 검색합니다. 이렇게 하면 사용자가 참조 필드를 검색할 때마다 자동 완성 기능이 비효율적인 포함 쿼리를 실행할 수 없습니다. 모든 참조 필드에 다음으로 시작 쿼리를 사용하도록 요구할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    다음 예에서는 contains 쿼리를 보여 줍니다. 문자 "d"는 사용자의 이름 또는 성의 아무 곳에나 나타납니다.
    자동 완성에 쿼리 포함

    이 절차에서는 항상 쿼리를 사용하도록 starts with 시스템 속성을 변경하는 glide.ui.ref_ac.startswith 방법을 설명합니다.

    프로시저

    1. 탐색 필터에 sys_properties.list 를 입력하고 Enter 키를 누릅니다.
    2. glide.ui.ref_ac.startswith 속성을 선택합니다.
      속성을 검색하려면 이름 열의 검색 필터로 이동*startswith를 입력합니다.
    3. 필드에서 falsetrue로 바꿉니다.
      주:
      glide.ui.ref_ac.startswith 시스템 속성을 true로 설정하면 사용자 및 시스템 수준 기본 설정의 기존 autocomplete.contains 설정이 모두 무효화됩니다. 이 속성은 기본 설정에 관계없이 모든 사용자에 대해 자동 완성 쿼리 방법을 변경합니다.
    4. 업데이트를 클릭합니다.
    5. 아래 예시와 같이 참조 필드가 있는 기록을 열고 그 안에 문자를 입력하여 변경을 테스트합니다.
      쿼리로 자동 완성 시작

    참조 필드의 텍스트와 일치하도록 자동 완성 구성

    기본적으로 자동 완성은 표시 값 열의 텍스트와만 일치합니다. 참조 필드가 표시하는 추가 열의 텍스트와 일치하도록 참조 필드를 구성할 수 있습니다.

    시작하기 전에

    필요한 역할: personalize_dictionary

    이 태스크 정보

    속성에 나열된 열의 텍스트와 일치하도록 자동 완성을 활성화하는 속성을 추가할 ref_ac_columns_search 수 있습니다 ref_ac_columns . 모든 참조 필드 열의 텍스트와 ref_ac_columns_search 일치하도록 속성을 로 설정합니다. 기본적으로(또는 이 속성이 false인 경우) 자동 완성은 표시 값 열의 텍스트와만 일치합니다.

    프로시저

    1. 참조 필드의 레이블을 마우스 오른쪽 버튼으로 클릭합니다.
    2. 선택 목록에서 딕셔너리 구성을 선택합니다.
    3. 관련 링크에서 고급 보기를 클릭합니다.
    4. 속성 필드에 원하는 자동 완성 속성을 추가합니다.
      예를 들어 다음 속성은 호출자 목록에 부서 필드를 추가하고 부서별로 호출자를 정렬합니다.
      ref_auto_completer=AJAXTableCompleter,ref_ac_columns=department,ref_ac_order_by=department,ref_ac_columns_search=true 
      그림 3. 자동 완성 속성
      이름과 부서가 있는 호출자 목록
    5. 업데이트를 클릭합니다.

    다음 예에서는 구성 항목 [cmdb_ci] 테이블에 대한 자동 완성 선택 사항의 CI 클래스 이름을 구성 항목 필드에 표시하는 방법을 설명합니다.
    ref_auto_completer=AJAXTableCompleter ,ref_ac_columns =sys_class_name ,ref_ac_order_by =sys_class_name ,ref_contributions =task_show_ci_map ;ci_show_incidents
    주:
    ref_contributions 속성은 참조 필드 옆에 나타나는 아이콘을 제어합니다.

    추가 CI 속성

    자동 완성 검색 포함 사용

    기본적으로 참조 자동 완성은 다음으로 시작 검색을 사용합니다. 포함 검색을 구현하기 위해 사용자 기본 설정을 생성할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. 시스템 속성을 비활성화합니다 glide.ui.ref_ac.startswith .
      자세한 내용은 자동 완성 쿼리 개선 문서를 참조하십시오.
      주:
      glide.ui.ref_ac.startswith 시스템 속성을 true로 설정하면 사용자 및 시스템 수준 기본 설정 모두의 기존 "autocomplete.contains" 설정이 무효화됩니다. 이 속성은 기본 설정에 관계없이 모든 사용자에 대해 자동 완성 쿼리 방법을 변경합니다.
    2. 다음으로 이동 사용자 관리 > 사용자 기본 설정.
    3. 기본 설정 ""<참조된 테이블>.autocomplete.contains""를 선택합니다.
    4. 필드를 true로 설정합니다.
      자동 완성 사용자 기본 설정이 true로 설정됨
    5. 업데이트를 클릭합니다.

    다음에 수행할 작업

    로그아웃했다가 다시 로그인하면 업데이트된 검색이 표시됩니다.

    참조 자동 완성의 와일드카드

    와일드카드 검색은 자동 완성 기능을 사용합니다.

    와일드카드 검색을 위해 참조 필드에 별표를 사용합니다.

    그림 4. 별표 한 개 와일드카드 검색

    두 개의 별표를 입력하면 사용 가능한 기록 목록이 자동 완성 제안에 표시됩니다.

    그림 5. 별표 두 개, 와일드카드 검색