Microsoft Dynamics CRM 2015용 JavaScript 라이브러리
게시 날짜: 2016년 11월
적용 대상: Dynamics CRM 2015
JavaScript 라이브러리는 다음과 같은 작업에 사용할 수 있는 함수가 포함된 스크립트(JScript) 웹 리소스입니다.
양식 및 필드 이벤트를 처리합니다.
리본에 구성된 컨트롤에 대한 작업을 수행합니다.
기타 함수를 지원합니다.
JScript 라이브러리 사용
웹 응용 프로그램의 JavaScript 라이브러리를 사용하는 것처럼 많이 JavaScript 라이브러리를 사용할 수 있습니다.
양식 및 필드 이벤트로 함수 연결
엔터티 양식으로 로드할 수 있도록 스크립트 웹 리소스를 최대 50개까지 연결할 수 있습니다.
양식에 라이브러리를 추가한 후 양식의 모든 이벤트에 사용할 수 있습니다. 모든 이벤트에 대해 이벤트 처리기로 사용할 함수를 결정할 수 있습니다. 모든 이벤트에 대해 이벤트 처리기로 최대 50개까지 함수를 지정할 수 있습니다.
런타임에 함수를 연결
OnChange 특성, 양식 OnSave 및 조회 컨트롤 PreSearch 이벤트에 런타임에 Xrm.Page.data.entity attribute.addOnChange, Xrm.Page.data.entity.addOnSave 및 조회 컨트롤 addPreSearch 메서드를 사용하여 함수를 추가할 수 있습니다. 이러한 메서드를 사용하면 함수가 이벤트 처리기 파이프라인의 맨 아래에 추가되고 실행 컨텍스트를 첫 번째 매개 변수로 받습니다. 해당 removeOnChange,removeOnSave 및 removePreSearch 메서드를 사용하여 이런 방식으로 추가된 함수를 제거할 수 있습니다.
실행 컨텍스트
각 이벤트 처리기는 실행 컨텍스트 개체를 첫 번째 매개 변수로 허용하도록 구성할 수 있습니다. 실행 컨텍스트에는 확인하기 위해 호출할 수 있는 함수가 포함됩니다.
수준: 이 처리기가 실행되는 상대 순서입니다.
이벤트 원본: 이벤트를 시작한 개체에 대한 참조입니다.
이 기능은 여러 다른 양식 또는 필드 이벤트에서 이벤트에 응답할 수 있는 함수를 만들 때 중요합니다.
공유 변수: 다른 이벤트 처리기에서 액세스할 수 있는 키/값 쌍으로 함수의 변수를 설정할 수 있습니다.
추가 정보:실행 컨텍스트(클라이언트 쪽 참조)
처리기 속성 대화 상자에서 함수로 전달되는 쉼표로 구분되는 문자열 값 목록에 입력할 수 있습니다. 따라서 코드를 변경하지 않고도 함수 동작을 변경하는 데 유용할 수 있습니다.
명령 모음(리본) 명령으로 함수 연결
명령 모음 또는 리본의 각 컨트롤은 하나 이상의 작업이 포함된 <Actions> (RibbonDiffXml) 요소가 있는 <CommandUIDefinition> (RibbonDiffXml)에 연결되어 있습니다.<JavaScriptFunction> (RibbonDiffXml)는 사용 가능한 작업 중 하나입니다.JavaScriptFunction 요소에는 라이브러리와 해당 라이브러리의 함수에 대한 참조가 필요합니다.
스크립트 개발 및 테스트
양식 라이브러리와 이벤트 처리기를 구성할 수 있는 웹 리소스 양식 또는 이벤트 탭에서 스크립트를 편집할 수 있습니다.
또는 즐겨 사용하는 스크립트 편집 도구를 사용하고 스크립트 웹 리소스를 업데이트하여 변경 내용을 업로드할 수 있습니다. 변경한 후에는 웹 리소스를 게시해야 합니다.
스크립트 라이브러리 만들기
JScript 라이브러리에 사용할 함수를 디자인하면 다른 JScript 라이브러리를 사용하는 양식에 함수를 로드할 수 있습니다. 다른 라이브러리에 제공하는 함수와 이름이 같은 함수가 있으면 마지막으로 로드한 함수가 페이지에 대해 정의됩니다. 다른 라이브러리의 함수로 사용자 함수를 덮어쓰지 않으려면 함수 이름이 고유한지 확인해야 합니다.
함수 이름이 고유한지 확인하는 데 사용할 수 있는 전략 두 가지는 다음과 같습니다.
고유 함수 접두사
다음 예제와 같이 고유한 명명 규칙이 포함된 일관된 이름과 함께 표준 구문을 사용하여 각 함수를 정의합니다.function MyUniqueName_performMyAction() { // Code to perform your action. }
네임스페이스 라이브러리 이름
다음 예제와 같이 각 함수를 JScript 개체에 연결하여 함수를 호출할 때 사용할 일종의 네임스페이스를 만듭니다.//If the MyUniqueName namespace object isn’t defined, create it. if (typeof (MyUniqueName) == "undefined") { MyUniqueName = {}; } // Create Namespace container for functions in this library; MyUniqueName.MyFunctions = { performMyAction: function(){ // Code to perform your action. //Call another function in your library this.anotherAction(); }, anotherAction: function(){ // Code in another function } };
그런 다음 함수를 사용하면 전체 이름을 지정할 수 있습니다. 다음 예제는 이를 보여 줍니다.
MyUniqueName.MyFunctions.performMyAction();
다른 함수 내 함수를 호출하면 this 키워드를 두 함수가 모두 포함된 개체에 대한 바로 가기로 사용할 수 있습니다. 하지만 함수가 이벤트 처리기로 사용될 경우 this 키워드는 이벤트가 발생하는 개체를 참조합니다.
스크립트 디버깅
각 브라우저에는 고유한 개발자 도구 집합이 있습니다. 다음 지침에서는 Internet Explorer 사용에 대해 설명합니다.
Microsoft Dynamics CRM 양식의 스크립트 디버깅
F12 키를 눌러 개발자 도구를 엽니다.
스크립트 탭에서 디버깅 시작 단추 바로 옆의 드롭다운 목록을 사용하여 JScript 라이브러리를 찾습니다.
함수의 왼쪽 여백을 클릭하여 중단점을 설정합니다.
디버깅 시작을 클릭합니다.
스크립트가 Onload 이벤트에 있을 경우 Microsoft Dynamics 365 창을 선택하고 F5 키를 눌러 창을 다시 로드해야 할 수 있습니다.
자세한 내용은 개발자 도구로 스크립트 디버깅을 참조하십시오.
참고 항목
Microsoft Dynamics CRM 2015에서 JavaScript 사용
Microsoft Dynamics CRM 2015용 사용자 지정에 대한 개발자 가이드
클라이언트 응용 프로그램 확장 작성
스크립트(JScript) 웹 리소스
Microsoft Dynamics CRM 2015 양식용 코드 작성
엔터티 양식 사용자 지정
리본 동작 정의
샘플: 웹 리소스로 파일 가져오기
샘플: 웹 리소스 유틸리티
© 2017 Microsoft. All rights reserved. 저작권 정보