사용자 정의 이벤트 만들기

 

게시 날짜: 2016년 11월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Unified Service Desk는 호스팅된 컨트롤의 유형을 기준으로 호스팅된 컨트롤에 대한 미리 정의된 이벤트를 제공합니다. 이러한 미리 정의된 이벤트와 별도로 Unified Service Desk에서 사용자 정의 이벤트라고 하는 자체 이벤트를 만들 수도 있습니다.FireEvent 작업 또는 이벤트 모니커를 사용하여 사용자 정의 이벤트를 실행할 수 있습니다.

이 항목의 내용

FireEvent 작업 사용

이벤트 모니커 사용

FireEvent 작업 사용

모든 미리 정의된 사용자 지정 Unified Service Desk 호스팅된 컨트롤 유형에는 CCA 호스팅형 응용 프로그램을 제외하고 FireEvent라는 특별한 UII 작업이 있습니다. 이 작업을 호출하여 해당 컨트롤에서 사용자 정의 이벤트를 시작할 수 있습니다. 이는 여러 작업 호출을 단일 호출로 그룹화하여 Unified Service Desk 내에서 기능을 효과적으로 만드는 편리한 방법입니다. 배포하기 전에 이벤트와 해당 작업 순서를 테스트하는 합리적인 방법이기도 합니다.

FireEvent의 첫 번째 매개 변수는 이벤트의 이름입니다.

name=MyEvent

이후의 모든 이름/값 쌍은 이벤트의 매개 변수가 되므로 결과로 호출되는 작업 내에서 대체 매개 변수로 사용될 수 있습니다. 예를 들어 다음과 같은 매개 변수 목록을 전달하는 경우:

name=MyEvent
var1=[[account.name]]

그러면 사용자 지정 이벤트 MyEvent 이벤트가 실행되어 var1 매개 변수를 다은과 같이 사용하는 작업 호출을 만들 수 있습니다.

Hosted Control=Some Hosted Control
UII Action=Some action on the Hosted Control
Data=[[var1]]

이것은 호스팅된 컨트롤 작업에 데이터 매개 변수로 이벤트 매개 변수를 전달합니다. 이 예제에서 호스팅된 컨트롤에 대한 데이터 매개 변수는 세션의 account.name 값이 됩니다.

이벤트 모니커 사용

호스팅된 컨트롤에 대해 사용자 지정 이벤트를 만든 후 다음 이벤트 모니커를 사용하여 호출할 수 있습니다.

http://event/?EventName=<EVENT_NAME>&key=value&key=value&…

구문에서 key=value 쌍을 지정하여 이벤트가 트리거될 때 사용할 매개 변수 목록을 전달합니다.

Dynamics 365에서 서비스 케이스 양식의 케이스 제목이 변경될 때마다 사용자 정의 이벤트가 발생하도록 하려는 예를 생각해 보십시오. 작업:

  1. Microsoft Dynamics 365에서 문제 호스팅된 컨트롤에 대해 TitleChanged라는 새 이벤트를 만듭니다.

  2. 다음 값을 사용하여 Action Call for Title Change라는 작업 호출을 만듭니다.

    필드

    이름

    Action Call for Title Change

    호스팅된 컨트롤

    문제

    작업

    RunXrmCommand

    데이터

    function titleChangeReaction() 
    { 
       window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue()));
    }
    Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
  3. 사용자가 만든 새 작업 호출을 문제 호스팅된 컨트롤의 BrowserDocumentComplete 이벤트에 추가합니다.추가 정보:작업 호출을 이벤트에 추가

    TitleChanged 이벤트가 트리거되면 다음 요청이 발생합니다. http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>

    그러면 NewTitle=<NEW_TITLE> 데이터 매개 변수를 사용하여 TitleChanged 이벤트가 트리거됩니다.

Dynamics 365에서 JavaScript를 사용하여 이벤트 모니커를 사용하는 Unified Service Desk에서 이벤트를 호출하면(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…), window.IsUSD 속성을 사용하여 이벤트가 호출될 때 Unified Service Desk에서 JavaScript 코드가 실행 중인지 여부를 확인할 수 있습니다. 다음 코드 샘플은 JavaScript 코드에 포함시켜 JavaScript 호출이 Unified Service Desk 내에서 실행될 때만 이벤트가 호출되도록 할 수 있습니다.

if ((window.IsUSD != null) && (window.IsUSD == true))
{
   window.open(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…);
}

참고 항목

이벤트
호스팅된 컨트롤 유형 및 동작/이벤트 참조
호스팅된 컨트롤, 동작 및 이벤트 관리
MSDN: Microsoft Dynamics CRM에서 JavaScript 사용

Unified Service Desk 2.0

© 2017 Microsoft. All rights reserved. 저작권 정보