다음을 통해 공유


양식 및 필드 이벤트 사용

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

양식에 대해 OnLoadOnSave 이벤트에 대한 스크립트를 추가하고 각 필드에 대해 OnChange 이벤트에 대한 스크립트를 추가할 수 있습니다. 탭에는 TabStateChange 이벤트가 있고 IFRAMES에는 OnReadyStateComplete 이벤트가 있습니다.PreSearch 이벤트 및 비즈니스 프로세스 흐름 제어에서 발생하는 이벤트에 대한 처리기는 해당 컨트롤에 대한 메서드를 사용해야 추가하고 제거할 수 있습니다.

참고

양식의 이벤트는 대량 편집 양식에서는 비활성화됩니다. 대량 편집 양식은 목록의 여러 레코드를 편집할 때 표시됩니다.

이 항목의 내용

OnLoad 이벤트

OnSave 이벤트

OnChange 이벤트

TabStateChange 이벤트

OnReadyStateComplete 이벤트

PreSearch 이벤트

비즈니스 프로세스 흐름 제어 이벤트

OnLoad 이벤트

OnLoad 이벤트는 양식을 로드한 후 발생합니다. 창이 로드되는 것을 막을 수 없습니다.OnLoad 이벤트를 사용하여 사용할 양식의 데이터를 준비합니다.OnLoad 이벤트를 사용하여 수행할 수 있는 작업은 다음과 같습니다.

  • 변경 값에 따라 계산을 수행합니다.

  • 사용자에게 상황을 알립니다.

  • 업데이트해서는 안 되는 필드를 비활성화합니다.

추가 정보:OnLoad 이벤트

OnSave 이벤트

OnSave 이벤트는 표준 OnSubmit 이벤트에 해당하지 않습니다.OnSave 이벤트는 다음과 같은 경우 발생합니다.

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

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

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

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

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

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

279ca720-e304-4e51-b99f-91722431c2c8#BKMK_GetEventArgs 메서드 실행 컨텍스트에서 검색한 저장 이벤트 인수에서 getSaveMode 메서드를 사용하여 양식을 저장하기 위해 수행한 작업을 검색할 수 있습니다. 저장되지 않은 데이터가 있는 데 양식에서 벗어나는 것은 업데이트되지 않은 엔터티에 대해 양식에서 찾은 "저장 후 닫기" 동작에 해당합니다.

OnSave 이벤트는 데이터가 저장되지 않는 것을 막기 위해 취소될 수 있습니다. 따라서 데이터 유효성을 검사하기 위해 OnSave 이벤트를 사용하는 것은 매우 일반적입니다.

추가 정보:OnSave 이벤트

OnChange 이벤트

OnChange 이벤트는 모든 필드에서 사용할 수 있습니다. 일반적으로 OnChange 이벤트에는 true가 되는 두 가지 조건이 필요합니다.

  • 필드의 데이터를 변경해야 합니다.

  • 필드는 포커스를 잃어야 합니다.

참고

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

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

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

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

이벤트 후 필드의 데이터의 유효성을 다시 검사해야 합니다. 즉, 잘못된 데이터를 입력하는 이벤트를 사용할 수 없습니다.

OnChange를 사용하여 수행할 수 있는 작업은 다음과 같습니다.

  • 변경 값에 따라 다른 필드를 변경하는 계산을 수행합니다.

  • 전화 번호와 같은 필드의 서식을 변경합니다.

  • 종속 옵션 집합을 구현합니다. 예제를 보려면 샘플: 종속 OptionSets(선택 목록) 만들기을 참조하십시오.

추가 정보:Field OnChange 이벤트

TabStateChange 이벤트

이 이벤트는 탭이 확장되거나 축소될 때 발생합니다. 탭이 확장될 때까지 코드의 실행을 지연하는 것이 좋습니다.

참고

해당 클라이언트의 탭이 축소되지 않으므로 이 이벤트는 태블릿용 Microsoft Dynamics CRM에서 발생하지 않습니다.

이 이벤트는 스크립트를 사용하여 IFRAME 컨트롤의 src 속성을 수정할 경우 중요합니다. 탭이 확장되면 IFRAME이 새로 고쳐집니다.src 속성의 변경 내용은 모두 제거됩니다. IFRAME의 src 속성과 상호 작용할 경우 Onload 이벤트 대신 TabStateChange 이벤트에 이 코드를 항상 포함해야 합니다.

추가 정보:Tab TabStateChange 이벤트

OnReadyStateComplete 이벤트

IFRAME과 상호 작용하는 스크립트는 IFRAME의 내용을 완전히 로드하지 않으면 실패합니다. 이 이벤트는 IFRAME의 내용을 완전히 로드하는 즉시 실행하는 스크립트를 포함하는 위치를 제공합니다.

참고

IFRAMEs이 표시되지 않으므로 이 이벤트는 태블릿용 Microsoft Dynamics CRM에서 발생하지 않습니다.

추가 정보:IFRAME OnReadyStateComplete 이벤트

PreSearch 이벤트

addPreSearch 메서드를 사용하여 이벤트 처리기를 조회 특성에 대한 컨트롤에 추가합니다. 이벤트 처리기를 수동으로 추가할 사용자 인터페이스가 없습니다.addCustomFilter, addCustomViewsetDefaultView 메서드와 함께 이 이벤트를 사용하여 사람들이 조회 필드의 값으로 설정된 레코드를 검색할 때 보기가 열려 있도록 제어합니다.

추가 정보:조회 컨트롤 PreSearch 이벤트

비즈니스 프로세스 흐름 제어 이벤트

Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트는 비즈니스 프로세스 흐름 제어를 사용하여 사용자 상호 작용을 위한 이벤트를 제공합니다.

이러한 이벤트에 대한 스크립트를 등록할 UI가 없습니다. 양식 OnLoad 이벤트에 등록된 함수에서 다음 메서드를 사용하여 이러한 이벤트에 대한 함수를 등록합니다.

이러한 각 메서드는 이벤트 처리기에 추가하거나 제거할 매개 변수로 함수를 적용합니다.추가 정보:이벤트 처리기를 관리하는 방법.

참고 항목

Microsoft Dynamics CRM 2015 양식용 코드 작성
Xrm.Page 개체 모델 사용
양식 스크립팅 빠른 참조
Microsoft Dynamics CRM 2015에서 JavaScript 사용
클라이언트 쪽 프로그래밍 참조
양식 이벤트(클라이언트 쪽 참조)
<events> (FormXml)

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