다음을 통해 공유


양식 이벤트(클라이언트 쪽 참조)

 

게시 날짜: 2017년 1월

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

모든 클라이언트 코드는 이벤트에 의해 시작됩니다.Microsoft Dynamics 365에서는 특정 이벤트가 발생할 때 실행할 JavaScript 라이브러리 내의 측정 함수를 연결합니다.

모든 양식 이벤트에는 하나 이상의 이벤트 처리기를 지정하는 데 사용하는 사용자 인터페이스가 있습니다. 각 이벤트 처리기는 함수로 전달할 수 있는 JavaScript 라이브러리 및 매개 변수 내에 단일 함수를 지정합니다.

이벤트

OnLoad 이벤트

OnSave 이벤트

Field OnChange 이벤트

Tab TabStateChange 이벤트

IFRAME OnReadyStateComplete 이벤트

조회 컨트롤 PreSearch 이벤트

OnProcessStatusChange 이벤트

OnStageChange 이벤트

OnStageSelected 이벤트

참조 자료 검색 컨트롤 이벤트

읽기 전용 하위 표 OnLoad 이벤트

편집 가능한 표 이벤트

OnLoad 이벤트

OnLoad 이벤트는 양식을 로드한 후 발생합니다. 창이 로드되는 것을 막을 수 없습니다.OnLoad 이벤트를 사용하여 필드에 속성을 설정하도록 양식을 표시하는 방법에 대한 논리를 적용하고 다른 페이지 요소와 상호 작용합니다.

태블릿용 Microsoft Dynamics 365 클라이언트가 분리되면 OnLoad 이벤트가 발생하는 유일한 이벤트입니다.

참고

업데이트된 엔터티에 대한 양식은 레코드를 만드는 초기 저장 또는 차후 저장 후에 페이지를 다시 로드하지 않습니다. 따라서 양식의 초기 로드 중에만 OnLoad 이벤트가 발생합니다.

OnSave 이벤트

OnSave 이벤트는 다음과 같은 경우 발생합니다.

  • 변경된 데이터가 없어 저장할 데이터가 없는 경우에도 사용자가 양식의 오른쪽 아래에 있는 자동 저장 단추 단추를 클릭할 경우

  • 변경된 데이터가 없어 저장할 데이터가 없는 경우에도 코드에서 Xrm.Page.data.entity.저장 메서드를 실행할 경우

  • 사용자가 양식을 벗어나고 양식에 저장되지 않은 데이터가 있을 경우

  • 자동 저장이 활성화되어 있고 데이터 변경 후 30초가 자나 양식에 저장되지 않은 데이터가 있을 경우

  • 코드는 Xrm.Page.data.저장 메서드를 실행하고 양식에 저장되지 않은 데이터가 있을 경우

  • true 값을 첫 번째 매개 변수로 전달하여 코드가 Xrm.Page.data.새로 고침 메서드를 실행하고 양식에 저장되지 않은 데이터가 있을 경우

저장을 수행하기 위해 어떤 버튼을 클릭했는지 확인하려면 getSaveMode 메서드를 사용합니다.

이벤트 인수 개체 내에서 preventDefault 메서드를 사용하여 저장 작업을 취소할 수 있습니다. 실행 컨텍스트에 속하는 getEventArgs 메서드를 사용하여 액세스할 수 있는 preventDefault 메서드입니다. 양식 이벤트 처리기를 구성하여 실행 컨텍스트에서 전달해야 합니다. 자세한 내용은 실행 컨텍스트 및 양식 이벤트 파이프라인 사용을 참조하십시오.

Field OnChange 이벤트

양식 필드의 데이터가 변경되고 포커스가 손실되면 OnChange 이벤트가 항상 발생합니다.

참고

리본 단추 또는 확인란을 사용하도록 서식이 지정된 두 개 옵션(부울) 필드에 적용되는 이 동작에 대한 예외가 있습니다. 이러한 경우 이벤트가 즉시 발생합니다.

이 이벤트는 레코드를 저장한 후와 같이 양식을 새로 고칠 때 필드를 업데이트하기 위해 서버의 데이터 변경을 검색할 때 발생합니다.

Xrm.Page.data.entity 특성.fireOnChange 메서드를 사용하는 경우에도 이 이벤트가 발생합니다.

필드가 setValue 메서드를 사용하여 프로그래밍 방식으로 변경되면 OnChange 이벤트가 발생하지 않습니다. 값을 설정한 후 OnChange 이벤트에 대한 이벤트 처리기를 실행하려면 코드에서 Xrm.Page.data.entity 특성.fireOnChange 메서드를 사용해야 합니다.

모든 필드는 OnChange 이벤트를 지원합니다. OnChange 이벤트 전과 후에 필드 데이터의 유효성이 검사됩니다.

참고

Status 필드는 OnChange 이벤트를 지원하지만 사용자 상호 작용을 통해 이벤트가 발생할 수 없도록 양식의 필드는 읽기 전용입니다. 다른 스크립트는 필드에 있는 fireOnChange 메서드를 사용하여 이벤트가 발생하도록 할 수 있습니다.

Tab TabStateChange 이벤트

TabStateChange 이벤트는 탭의 DisplayState가 사용자 상호 작용으로 인해 변경되거나 setDisplayState 메서드가 코드에 적용될 때 발생합니다. 원하는 경우 이 이벤트를 사용하여 탭 내에서 IFRAME의 src 속성을 변경합니다.

참고

탭을 확장하거나 축소할 수 없기 때문에 이 이벤트는 Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)에는 지원되지 않습니다.

Dynamics 365 모바일 클라이언트에서와 마찬가지로 대화형 서비스 허브의 탭은 확장하거나 축소할 수 없지만 사용자가 대화형 서비스 허브에서 한 탭에서 다른 탭으로 이동하면 TabStateChange 이벤트가 발생합니다.

축소된 탭 내에서 IFRAME에 대한OnLoad 이벤트에서 IFrame. src 속성을 설정하는 경우 탭이 확장되면 값을 덮어씁니다.

IFRAME OnReadyStateComplete 이벤트

OnReadyStateComplete 이벤트는 IFRAME의 내용이 로드되고 코드에서 액세스할 수 있음을 나타냅니다. 스크립트 내에서 IFRAME 컨트롤을 참조할 때 이 이벤트를 사용합니다.

참고

이 이벤트는 휴대폰용 Dynamics 365 및 대화형 서비스 허브를 지원하지 않습니다.

조회 컨트롤 PreSearch 이벤트

조회 컨트롤에는 컨트롤이 레코드를 검색하는 대화 상자를 시작하기 직전에 발생하는 PreSearch 이벤트가 있습니다. 이 이벤트에 대한 이벤트 처리기를 설정하는 UI가 없습니다. 조회 컨트롤에서 addPreSearchremovePreSearch 메서드를 사용하여 이 이벤트에 대한 이벤트 처리기를 추가하거나 제거해야 합니다.

이 이벤트를 다른 조회 컨트롤 메서드 및 이벤트와 함께 사용하여 조회 컨트롤이 사용자가 선택하도록 검색 결과를 보여주기 직전에 양식 데이터를 기반으로 하는 조회에 표시된 결과를 변경합니다.

OnProcessStatusChange 이벤트

이 이벤트는 프로세스 인스턴스 상태가 변경될 때 발생합니다.Xrm.Page.data.process.addOnProcessStatusChange 메서드를 사용하여 이 이벤트에 대한 이벤트 처리기를 추가하고 Xrm.Page.data.process.removeOnProcessStatusChange 메서드를 사용하여 제거합니다.추가 정보:비즈니스 프로세스 흐름에 대한 스크립트 작성

참고

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

OnStageChange 이벤트

이 이벤트는 비즈니스 프로세스 흐름 제어의 스테이지가 변경될 때 발생합니다. 이 이벤트는 사용자가 사용자 인터페이스에서 다음 스테이지 또는 이전 스테이지로 이동 단추를 클릭하거나 개발자가 Xrm.Page.data.process.moveNext 또는 Xrm.Page.data.process.movePrevious 메서드를 사용할 때 발생합니다. 이 이벤트에 대한 처리기에서 코드를 사용하여 스테이지 변경 내용을 취소할 수 없습니다.

실행 컨텍스트 개체는 이 이벤트에 대한 이벤트 처리기로 전달됩니다.getEventArgs 함수를 사용하여 다음 메서드가 있는 개체를 검색할 수 있습니다.

  • getDirection
    “next” 또는 “previous”인 문자열을 반환하여 스테이지 변경 방향을 보여줍니다.

  • getStage
    스테이지 개체를 반환합니다. 탐색이 새로운 엔터티로 이동할 때를 제외하고 반환된 스테이지는 대상 스테이지 개체, 즉 다음 활성 스테이지를 나타냅니다. 탐색이 새로운 엔터티로 이동하면 이 스테이지는 탐색을 시작한 스테이지, 즉 이전 활성 스테이지 개체입니다.추가 정보:스테이지 메서드

Xrm.Page.data.process.addOnStageChange 메서드를 사용하여 이 이벤트에 대한 이벤트 처리기를 추가하고 Xrm.Page.data.process.removeOnStageChange 메서드를 사용하여 제거합니다.추가 정보:비즈니스 프로세스 흐름에 대한 스크립트 작성

OnStageSelected 이벤트

이 이벤트는 비즈니스 프로세스 흐름 제어의 스테이지가 선택될 때 발생합니다. 이 이벤트에 대한 처리기에서 코드를 사용하여 스테이지 선택 내용을 취소할 수 없습니다.

실행 컨텍스트 개체는 이 이벤트에 대한 이벤트 처리기로 전달됩니다.getEventArgs 함수를 사용하여 다음 메서드가 있는 개체를 검색할 수 있습니다.

  • getStage
    선택한 스테이지를 나타내는 스테이지 개체를 반환합니다.추가 정보:스테이지 메서드

Xrm.Page.data.process.addOnStageSelected 메서드를 사용하여 이 이벤트에 대한 이벤트 처리기를 추가하고 Xrm.Page.data.process.removeOnStageSelected 메서드를 사용하여 제거합니다.추가 정보:비즈니스 프로세스 흐름에 대한 스크립트 작성

참조 자료 검색 컨트롤 이벤트

참조 자료 검색 컨트롤은 참조 자료 관리 기능이 활성화된 조직의 경우에만 양식에 추가할 수 있습니다. 이 컨트롤에는 개발자가 프로그램 방식으로 이벤트 처리기를 할당할 수 있는 두 가지 이벤트(OnResultOpenedOnSelection)가 있습니다.추가 정보:참조 자료 검색 컨트롤(클라이언트 쪽 참조)

읽기 전용 하위 표 OnLoad 이벤트

이벤트 처리기를 하위 표의 OnLoad 이벤트에 첨부합니다.추가 정보:하위 표를 위한 스크립트 작성

편집 가능한 표 이벤트

이벤트 처리기를 편집 가능한 표 이벤트에 첨부합니다.추가 정보:편집 가능한 표 개체 및 메서드(클라이언트 쪽 참조)

참고 항목

양식 스크립팅 빠른 참조
Microsoft Dynamics 365 양식용 코드 작성
Xrm.Page 개체 모델 사용
클라이언트 쪽 프로그래밍 참조
비즈니스 프로세스 흐름에 대한 스크립트 작성

Microsoft Dynamics 365

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