다음을 통해 공유


실행 컨텍스트(클라이언트 쪽 참조)

 

게시 날짜: 2017년 1월

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

이 옵션 컨텍스트는 이벤트 처리기를 통해 JavaScript 라이브러리 함수에 전달할 수 있는 옵션 매개 변수입니다. 이 옵션은 함수의 이름을 지정할 때 처리기 속성 대화 상자에 표시됩니다. 이 옵션은 passExecutionContext 특성을 사용하여 <Handler> (FormXml) 요소에 대해 설정됩니다.

실행 컨텍스트는 Xrm.Page.data.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave 및 Xrm.Page.data.entityAttribute.6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange 및 Xrm.Page.uiControl.51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch 메서드를 사용하여 설정된 함수로 자동 전달됩니다.

실행 컨텍스트 메서드

  • getContext
    클라이언트 쪽 컨텍스트(클라이언트 쪽 참조) 개체를 반환하는 메서드입니다.

  • getDepth
    이 처리기가 실행되는 순서를 나타내는 값을 반환하는 메서드입니다.

  • getEventArgs
    Save 이벤트를 관리하는 메서드가 있는 개체를 반환하는 메서드입니다.

  • getEventSource
    이벤트가 발생한 개체에 대한 참조를 반환하는 메서드입니다.

  • getFormContext
    메서드가 호출된 위치에 따라 양식 또는 편집 가능한 표에 대한 참조를 반환 하는 메서드입니다.

  • 공유 변수
    공유 변수를 사용하면 변수를 같은 이벤트의 다른 처리기와 공유할 수 있습니다.setSharedVariable 및 getSharedVariable 메서드를 사용하여 공유 변수를 공유합니다.

getContext

클라이언트 쪽 컨텍스트(클라이언트 쪽 참조) 개체를 반환하는 메서드입니다.

ExecutionContextObj.getContext()
  • 반환 값
    유형: 개체

getDepth

이 처리기가 실행되는 순서를 나타내는 값을 반환하는 메서드입니다.

  • 반환 값
    유형: 숫자

    순서는 0부터 시작합니다.

getEventArgs

Save 이벤트를 관리하는 메서드가 있는 개체를 반환하는 메서드입니다.

참고

이 메서드는 Save이벤트와는 다른 모든 이벤트에 대해 null을 반환합니다.

ExecutionContextObj.getEventArgs()

getEventSource

이벤트가 발생한 개체에 대한 참조를 반환하는 메서드입니다.

ExecutionContextObj.getEventSource()
  • 반환 값
    유형: 개체

    이 메서드는 HTMLDOM 개체가 아닌 이벤트의 소스인 Xrm.Page 개체 모델의 개체를 반환합니다. 예를 들어, OnChange 이벤트에서 이 메서드는 변경된 특성을 나타내는 Xrm.Page.data.entity 특성 개체를 반환합니다.

getFormContext

메서드가 호출된 위치에 따라 양식(Xrm.Page) 또는 편집 가능한 표에 대한 참조를 반환 하는 메서드입니다.

ExecutionContextObj.getFormContext()
  • 반환 값
    유형: 개체

    이 메서드는 메서드가 호출된 위치에 따라 Xrm.Page 개체 모델로부터의 개체 또는 편집 가능한 표에서 dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_GridRow 개체에 대한 참조를 반환합니다. 이 메서드를 사용하면 호출된 위치에 따라 양식 또는 편집 가능한 표에서 작동할 수 있는 공통 이벤트 처리기를 만들 수 있습니다.

    추가 정보: Xrm.Page 개체 모델 사용편집 가능한 표 개체 및 메서드(클라이언트 쪽 참조)

    참고

    이 메서드는 Dynamics 365용 2016년 12월 업데이트(온라인 및 온-프레미스)에서 소개되었습니다.

  • 예제
    다음 코드 예제는 스크립트를 등록한 위치에 따라 양식 필드 또는 편집 가능한 표 셀의 알림을 설정하는 메서드를 만드는 방법을 보여 줍니다(d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_FieldOnChangeEvent 또는 편집 가능한 표 dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_OnChange 이벤트).

    function commonEventHandler(executionContext) {
        var entityObject = executionContext.getFormContext().data.entity;
        var telephoneAttr = entityObject.attributes.getByName('telephone1');
        var isNumberWithCountryCode = telephoneAttr.getValue().substring(0,1) === '+';
    
        // telephoneField will be an Xrm.Page control if invoked from a form OnChange event;
        // telephoneField will be a editable grid GridCell object if invoked from editable grid OnChange event.
        var telephoneField = telephoneAttr.controls.getByIndex(0);
    
        if (!isNumberWithCountryCode) {
            telephoneField.setNotification('Please include the country code beginning with ‘+’.', 'countryCodeNotification');
        }
        else {
            telephoneField.clearNotification('countryCodeNotification');
        }
    }
    

공유 변수

공유 변수를 사용하면 변수를 같은 이벤트의 다른 처리기와 공유할 수 있습니다.setSharedVariable 및 getSharedVariable 메서드를 사용하여 함수 간 변수를 전달합니다.

setSharedVariable

현재 처리기가 완료된 후 처리기에서 사용할 변수의 값을 설정합니다.

ExecutionContextObj.setSharedVariable(key, value)
  • 인수
    String: 변수의 이름입니다.

    Object: 설정할 값입니다.

getSharedVariable

setSharedVariable을 사용하여 변수 집합을 검색합니다.

ExecutionContextObj.getSharedVariable(key)
  • 인수
    String: 변수의 이름입니다.

  • 반환 값
    유형: 개체

    특성 형식은 값 개체가 무엇인지에 따라 달라집니다.

참고 항목

클라이언트 쪽 프로그래밍 참조

Microsoft Dynamics 365

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