이벤트 생성

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기4분
  • 적합한 기존 이벤트를 찾지 못한 경우 직접 생성할 수 있습니다.

    시작하기 전에

    필요한 역할: 관리자

    이 태스크 정보

    gs. EventQueue 함수는 백엔드와 직접 작동하므로 gs에 의해 호출되는 비즈니스 규칙과 함께 작동합니다. EventQueue()는 호출되지 않습니다.

    프로시저

    1. 다음으로 이동 모두 > 시스템 정책 > 이벤트 > 레지스트리을 클릭한 다음 새로 만들기를 선택합니다.
    2. 양식의 필드에 내용을 입력합니다.
      표 1. 이벤트 등록 양식 작성
      필드 설명
      이벤트 이름 새 이벤트의 이름입니다.
      테이블 이 이벤트의 데이터베이스 테이블입니다.
      주:
      이벤트와 같은 범위에 있는 테이블 및 데이터베이스 뷰만 목록에 나타납니다.
      트리거될 때 이벤트가 배치되는 큐의 이름입니다.

      소문자만 사용하고, 공백을 사용하지 않으며, 밑줄(_)을 제외한 특수 문자를 사용하지 마십시오. 예를 들어 my_queue. Using custom queues to process events 문서를 참조하십시오.

      우선순위 메시지가 처리되는 순서입니다. 값이 낮을수록 우선 순위가 높습니다.
      주:
      com.glide.sysevent.priority.enabled 시스템 속성은 기본적으로 활성화되어 있습니다. 이 기능을 사용하지 않도록 설정하면 이벤트 처리가 우선순위에 따라 수행되지 않습니다.
      호출자 접근 제한된 호출자 접근 설정입니다.
      • 호출자 제한: 자원에 대한 호출을 수동으로 승인해야 합니다.
      • 호출자 추적: 자원에 대한 호출이 자동으로 승인됩니다.
      실행한 사람 이벤트를 실행하는 비즈니스 규칙의 이름입니다. 이 필드는 참조용으로만 사용되며 어떤 프로세스에서도 사용되지 않습니다. 이벤트를 다시 찾을 수 있는 충분한 정보가 있는지 확인합니다.
      설명 이벤트 목적에 대한 짧은 설명입니다.
    3. 비즈니스 규칙 관련 링크를 클릭합니다.
    4. 기본 시스템 테이블에 대한 이벤트를 생성하는 경우 테이블에 대한 기존 이벤트 비즈니스 규칙을 선택합니다.
      예를 들어, 비즈니스 규칙을 선택하여 sc request events 사용자 지정 요청 이벤트를 생성합니다.
    5. 기존 이벤트 비즈니스 규칙을 업데이트하는 경우 스크립트에 새 조건을 추가합니다.
      다음 샘플 스크립트는 사용자의 Sys ID가 parm1이고 사용자의 사용자 이름이 parm2인 이벤트를 추가합니다 request.commented .
      if (current.operation() != 'insert' && current.comments.changes()) {
      gs.eventQueue('request.commented', current, gs.getUserID(), gs.getUserName());
      }
    6. 사용자 지정 테이블에 대한 이벤트를 생성하는 경우 데이터베이스 운영 후 실행되는 새 비즈니스 규칙을 생성합니다.
      예를 들어, 이 비즈니스 규칙은 마케팅 이벤트라는 사용자 지정 애플리케이션에 대한 여러 이벤트를 정의합니다.
      표 2. 샘플 이벤트 비즈니스 규칙
      필드
      이름 참석자 이벤트
      테이블 참석자 [x_snc_marketing_ev_attendee]
      애플리케이션 마케팅 이벤트
      고급 선택됨
      시기 다음 날짜 후
      삽입 선택됨
      업데이트 선택됨
      삭제 선택됨
      스크립트
      다음과 같은 사용자 지정 스크립트를 추가합니다.
      • 현재 기록에서 하나 이상의 조건을 확인합니다.
      • gs.eventQueue() 메서드를 호출하고 이벤트 이름을 지정합니다.

      코드 샘플을 참조하세요.

      주:
      필터 조건, 역할 조건 또는 조건 값을 추가하는 경우 예상되는 시간에 비즈니스 규칙이 실행되는지 확인합니다.
      (function executeRule(current, previous /*null when async*/) {
         //This function will be automatically called when this rule is processed.
              //Add event when attendee inserted
              if(current.operation() == 'insert' && current.marketing_event.changes()) {
                      gs.eventQueue('x_snc_marketing_ev.attendee.added', current,
      current.marketing_event, current.email);
              }
              //Add event when marketing event changes
              if(current.operation() == 'update' && current.marketing_event.changes()) {
                      gs.eventQueue('x_snc_marketing_ev.attendee.deleted', previous,
      previous.marketing_event, previous.email);
                      gs.eventQueue('x_snc_marketing_ev.attendee.added', current,
      current.marketing_event, current.email);
              }
              //Add event when attendee deleted
              if(current.operation() == 'delete') {
                      gs.eventQueue('x_snc_marketing_ev.attendee.deleted', current,
                    current.marketing_event, current.email);
      }
      })(current, previous);
    7. 이벤트를 등록합니다.

    다음에 수행할 작업

    이벤트를 처리할 스크립트 작업 또는 알림을 생성합니다.