탐색 처리기

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기2분
  • 탐색 처리기는 스크립팅된 뷰 규칙으로, 지정된 테이블의 데이터가 양식 뷰에서 요청될 때마다 실행됩니다.

    탐색 처리기 만들기

    탐색 핸들러 [sys_navigator] 테이블에는 인스턴스의 탐색 핸들러가 포함되어 있습니다. 필터 탐색기에 sys_navigator.list 를 입력하여 이 테이블에 액세스합니다. 탐색 핸들러 기록에는 탐색 핸들러가 적용되는 테이블을 지정하는 테이블 필드와 스크립팅된 뷰 규칙이 포함된 스크립트 필드가 포함되어 있습니다.

    다음 스크립트는 HR 플러그인에 포함된 탐색 핸들러에서 가져온 것입니다. 이 스크립트는 테이블 필드의 테이블에 있는 기록이 역할이 없는 사용자에 대해서는 ESS 뷰를 사용하고 다른 모든 사용자에 대해서는 기본 뷰를 사용하도록 강제 적용합니다.

    var now_GR = new GlideRecord(hr.TABLE_CASE);  
    if (gr.get(g_uri.get('sys_id'))) {  
         if (!gs.getUser().hasRoles())   
              g_uri.set('sysparm_view', 'ess');  
         else  
              g_uri.set('sysparm_view', '');  
    }  
      
      
    answer =  g_uri.toString('hr_case.do'); 

    뷰 규칙 이전 또는 이후에 탐색 핸들러 실행

    glide.ui.view_rule.check_after_nav_handler 시스템 속성을 사용하여 뷰 규칙과 탐색 처리기가 적용되는 순서를 제어합니다. 속성 값을 True 로 설정하여 탐색 핸들러 이후의 뷰 규칙을 처리합니다. 시스템 속성이 인스턴스에 없으면 탐색 처리기가 항상 우선합니다.

    시스템 속성은 탐색 처리기 스크립트 기능이 답변을 반환하지 않는 경우에만 탐색 처리기를 재정의합니다. 위의 예시 스크립트에서는 속성이 적용되지 않습니다. 이는 이 탐색 처리기가 응답 줄이 if 문 외부에 있기 때문에 항상 응답을 반환하기 때문입니다.

    앞의 예제의 탐색 처리기 스크립트가 뷰 규칙을 따르도록 하려면 다음 단계를 수행합니다.
    1. glide.ui.view_rule.check_after_nav_handler 시스템 속성을 생성합니다.
    2. 속성 값을 true로 설정합니다.
    3. 뷰를 변경하거나 강제 적용해야 하는 경우에만 답변을 반환하도록 탐색 핸들러 스크립트를 업데이트합니다.

    이 예제는 이전 스크립트의 수정된 버전입니다. 이 경우 답변 라인은 사용자에게 역할이 없는 경우에만 발생합니다. 사용자에게 역할이 있는 경우 답변 에 도달하지 않으며 동일한 테이블의 뷰 규칙이 적용됩니다(있는 경우).

    var now_GR = new GlideRecord(hr.TABLE_CASE);  
    if (gr.get(g_url.get('sys_id'))) {  
         if (!gs.getUser().hasRoles()) {  
              g_url.set('sysparm_view'),'ess');  
              answer = g_url.toString('hr_case.do');  
         }  
    }