Xrm.Page.ui 컨트롤(클라이언트 쪽 참조)

 

게시 날짜: 2017년 1월

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

control 개체는 컨트롤의 프레젠테이션이나 동작을 변경하는 메서드를 제공하고 해당 특성을 식별합니다.

다음 모음을 사용하여 컨트롤에 액세스합니다. Xrm.Page.ui.제어, Xrm.Page.ui Section.제어 또는 Xrm.Page.data.entity Attribute.제어.Xrm.Page.getControl 메서드는 Xrm.Page.ui.controls.get에 액세스하는 바로 가기 메서드입니다.

이 항목에서 구문 예제는 컨트롤에 액세스하는 Xrm.Page.getControl 메서드의 사용을 보여줍니다. 메서드에 전달되는 인수에 따라 컨트롤이 달라집니다. 단일 컨트롤에 액세스하는 args 매개 변수는 컨트롤 또는 색인의 이름이어야 합니다.

양식에 머리글에 있는 비즈니스 프로세스 흐름 컨트롤이 표시되면 비즈니스 프로세스 흐름에 표시되는 각 특성에 대해 추가 컨트롤이 추가됩니다. 이러한 컨트롤에는 header_process_<attribute name> 같은 고유한 이름이 있습니다.

참고

비즈니스 프로세스 흐름의 활성 스테이지에 있는 컨트롤만 이런 식으로 이름으로 액세스할 수 있습니다.

양식 머리글에 표시되는 컨트롤은 액세스 가능하며 header_<attribute name> 같은 고유한 이름이 있습니다.

특성에 바인딩되는 컨트롤의 경우 Xrm.Page.data.entity Attribute.제어 모음을 통해 컨트롤에 액세스하는 것이 일반적입니다.

Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)용의 사용자 지정 컨트롤은 자동 완성 메서드, getValue, Keypress 메서드 및 조회 컨트롤 메서드 및 이벤트를 제외한 모든 컨트롤 속성과 메서드를 지원합니다.

Microsoft Dynamics CRM Online 2016 업데이트 1 및 Microsoft Dynamics CRM 2016 서비스 팩 1(온-프레미스) 릴리스에서는 새로운 양식 렌더링 엔진("터보 양식"이라고도 함)에서 타이머 컨트롤에 대해 다음의 방법이 지원됩니다. getControlType, getName, getParent, 레이블 방법, refresh, 및 표시 방법

컨트롤 속성 및 메서드

  • 자동 완성 메서드
    Dynamics 365 양식의 텍스트 컨트롤에 자동 완성 환경을 구성합니다. 이러한 메서드는 Dynamics 365에 소개되었습니다.

  • 사용 안 함
    상태를 감지하고 getDisabled 및 setDisabled 메서드를 사용하여 컨트롤을 활성화하거나 비활성화합니다.

  • getAttribute
    컨트롤이 바인딩되는 속성을 가져옵니다.

  • getControlType
    컨트롤의 형식에 대한 정보를 가져옵니다.

  • getName
    조직의 이름을 가져옵니다.

  • getParent
    컨트롤이 속해 있는 섹션 개체를 가져옵니다.

  • getValue
    특정 텍스트 또는 숫자 필드에 문자를 입력하는 사용자가 컨트롤에 대한 최신 값을 가져옵니다. 이 메서드는 Dynamics 365에서 소개되었습니다.

  • Keypress 메서드
    컨트롤에서 키를 누를 때 추가, 제거 또는 기능을 수행합니다. 이러한 메서드는 Dynamics 365에 소개되었습니다.

  • 참조 자료 검색 메서드
    이러한 메서드는 참조 자료 관리 기능이 활성화된 Dynamics 365 인스턴스에서 참조 자료 검색 컨트롤에만 사용할 수 있습니다.

    이러한 컨트롤에 대한 자세한 내용은 참조 자료 검색 컨트롤(클라이언트 쪽 참조)을 참조하십시오.

  • 레이블
    getLabel 및 setLabel 메서드를 사용하여 컨트롤에 대한 레이블을 가져오거나 변경합니다.

  • 조회 컨트롤 메서드 및 이벤트
    addCustomFilter, addCustomView, getDefaultView, setDefaultView 메서드를 사용하여 조회 컨트롤의 값을 설정할 때 사용자가 선택하도록 표시되는 결과를 제어합니다.

    addPreSearch 및 removePreSearch 메서드를 사용하여 PreSearch 이벤트의 이벤트 처리기를 추가하거나 제거할 수 있습니다.

  • 알림
    setNotification, addNotification 및 clearNotification 메서드를 사용하여 컨트롤에 대한 사용자 알림을 표시하고 제거합니다.

  • 옵션 집합 컨트롤 메서드
    addOption, clearOptions 및 removeOption 메서드를 사용하여 OptionSet 컨트롤에 표시되는 옵션을 수정합니다.

  • ShowTime
    setShowTime를 사용하여 날짜 컨트롤이 날짜의 시간 부분을 보여주어야 하는지 여부를 지정하고 getShowTime를 사용하여 날짜의 시간 부분이 현재 표시되는지 여부를 확인합니다.

  • 하위 표 컨트롤 메서드
    CRM Online 2015 업데이트 1를 사용하는 조직의 경우 하위 표 컨트롤로 작업하는 새로운 기능이 있습니다.추가 정보:표(읽기 전용) 개체 및 메서드(클라이언트 쪽 참조)

    다른 조직의 경우 refresh 메서드는 하위 표 컨트롤에 사용할 수 있는 유일한 고유 메서드입니다. 이 메서드는 하위 표에 표시되는 데이터를 새로 고칩니다.

  • 표시
    어떤 컨트롤을 표시할지 결정하고 getVisible 및 setVisible 메서드를 사용하여 표시하거나 숨깁니다.

  • 웹 리소스 및 IFRAME 컨트롤 메서드
    getData, setData, getInitialUrl, getObject, setSrc 및 getSrc 메서드를 사용하여 웹 리소스 및 IFRAME 컨트롤과 상호 작용합니다.

자동 완성 메서드

showAutoComplete 및 hideAutoComplete 메서드를 사용하여 양식의 텍스트 컨트롤에 자동 완성 환경을 구성합니다.

자동 완성 기능을 보여주는 샘플 JavaScript 코드는 샘플: Dynamics 365 컨트롤의 자동 완성를 참조하십시오.

참고

이 메서드는 Dynamics 365모바일 클라이언트(휴대폰 또는 태블릿)와 대화형 서비스 허브를 지원하지 않습니다. 이러한 메서드는 업데이트된 엔터티에만 사용할 수 있습니다.

showAutoComplete

사용자가 CRM에서 특정 텍스트 필드에 문자를 입력하기 위해 키를 누를 때 드롭다운 목록에서 최대 10개의 일치하는 문자열을 표시하는 데 사용합니다. 또한 드롭다운 목록 아래쪽의 아이콘을 사용하여 사용자 지정 명령을 추가할 수 있습니다. 드롭다운 목록에서 항목을 선택하면 선택한 항목에 변경 내용 텍스트 필드에 있는 값의 드롭다운 목록이 사라지고 텍스트 필드에 대한 OnChange 이벤트이 호출됩니다.

Xrm.Page.getControl(arg).showAutoComplete(object)
  • 매개 변수
    종류: 결과를 정의하는 개체 집합, 포함하는 resultscommands, 자동 완성이 드롭다운 목록에 표시됩니다.

    설명:addOnKeyPress 메서드를 사용하여 추가한 기능에서 이 메서드를 호출하여 keypress 이벤트를 실행합니다.

    예: 다음 예제에서는 showAutoComplete 메서드에 전달되는 개체의 정의를 보여줍니다.

    var resultset = { 
       results: [{ 
             id: <value1>, 
             icon: <url>, 
             fields: [<fieldValue1>]}, 
    
             {...}, 
    
             { 
             id: <valueN>, 
             icon: <url>, 
             fields: [<fieldValue1, fieldValue2,..., fieldValueN>]}],
       commands:{ 
             id: <value>, 
             icon: <url>, 
             label: <value>, 
             action: <function reference> 
       } 
    }
    

hideAutoComplete

특정 텍스트 필드에 대해 구성한 자동 완성 드롭다운 목록을 숨기는 데 사용합니다.

Xrm.Page.getControl(arg).hideAutoComplete()

참고

기본적으로 드롭다운 목록은 사용자가 아무 곳이나 클릭하거나 새 드롭다운 목록이 표시되면 자동으로 숨겨지므로 hideAutoComplete 메서드를 명시적으로 사용할 필요가 없습니다. 이 기능은 개발자가 명시적으로 사용자 정의 시나리오를 처리하기 위해 자동 완성 드롭다운 목록을 숨겨야 하는 경우 사용할 수 있습니다.

사용 안 함

getDisabled 및 setDisabled를 사용하여 컨트롤이 비활성화되었는지 또는 컨트롤을 활성화하거나 비활성화할지 여부를 감지합니다.

컨트롤 형식: 표준, 조회, 옵션 집합.

getDisabled

컨트롤을 사용할 수 없는지 여부를 반환합니다.

Xrm.Page.getControl(arg).getDisabled()
  • 반환 값
    유형: 부울. 컨트롤을 사용할 수 없으면 True, 그렇지 않으면 false입니다.

setDisabled

컨트롤을 사용할 수 없는지 여부를 설정합니다.

Xrm.Page.getControl(arg).setDisabled(bool)
  • 인수
    유형: 부울. 컨트롤을 사용할 수 없어야 하면 True, 그렇지 않으면 false입니다.

getAttribute

컨트롤이 바인딩되는 속성을 반환합니다.

컨트롤 형식: 표준, 조회, 옵션 집합.

Xrm.Page.getControl(arg).getAttribute()

참고

특성(subgrid, 웹 리소스 및 IFRAME)에 바인딩되지 않는 컨트롤에는 이 메서드가 없습니다. 이러한 컨트롤 중 하나에서 이 메서드를 사용하려고 하면 오류가 throw됩니다.

  • 반환 값
    유형: 개체: 특성.

설명

빠른 보기 컨트롤 내에 있는 구성원 컨트롤은 컨트롤 모음에 포함되며 이러한 컨트롤에는 getAttribute 메서드가 있습니다. 그러나, 특성은 엔터티에 대한 특성 모음의 일부가 아닙니다.getValue를 사용하여 해당 특성에 대한 값을 검색하고 setValue를 사용하여 값을 변경할 수 있지만 변경 내용은 엔터티와 함께 저장되지 않습니다.

다음 코드는 contactQuickForm라는 빠른 보기 컨트롤을 사용하여 거래처 엔터티 양식에 표시될 때 연락처 mobilephone 특성의 값 사용을 보여줍니다. 이 코드는 특성의 값이 null일 때 컨트롤을 숨깁니다.

var quickViewMobilePhoneControl = Xrm.Page.getControl("contactQuickForm_contactQuickForm_contact_mobilephone");
 if (quickViewMobilePhoneControl.getAttribute().getValue() == null)
 {
  quickViewMobilePhoneControl.setVisible(false);
 }

getControlType

컨트롤을 분류하는 값을 반환합니다.

컨트롤 형식: 모두.

Xrm.Page.getControl(arg).getControlType()
  • 반환 값
    유형: 문자열

    getControlType의 가능한 반환 값:

    반환 값

    설명

    standard

    표준 컨트롤입니다.

    iframe

    IFRAME 컨트롤

    lookup

    조회 컨트롤입니다.

    optionset

    옵션 집합 컨트롤입니다.

    subgrid

    하위 표 컨트롤입니다.

    webresource

    웹 리소스 컨트롤입니다.

    notes

    메모 컨트롤입니다.

    timercontrol

    타이머 컨트롤입니다.

    kbsearch

    참조 자료 검색 컨트롤입니다.

    customcontrol: <namespace>.<name>

    Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)에 대한 사용자 지정 컨트롤.

    customsubgrid:<namespace>.<name>

    Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)에 대한 사용자 지정 데이터세트 컨트롤.

getName

컨트롤에 할당된 이름을 반환합니다.

참고

양식이 로드될 때까지 컨트롤에 할당된 이름이 결정되지 않습니다. 양식의 변경 내용이 지정된 컨트롤에 할당된 이름을 변경할 수 있습니다.

컨트롤 형식: 모두.

Xrm.Page.getControl(arg).getName()
  • 반환 값
    유형: 문자열. 컨트롤의 이름입니다.

getParent

컨트롤이 들어 있는 섹션 개체에 대한 참조를 반환합니다.

컨트롤 형식: 모두.

Xrm.Page.getControl(arg).getParent()

getValue

특정 텍스트 또는 숫자 필드에 문자를 입력하는 사용자가 컨트롤에 대한 최신 값을 가져옵니다. 이 메서드를 사용하면 데이터 유효성 검사 및 컨트롤에 문자를 입력할 때 사용자에게 경고하는 상호 작용 환경을 만들 수 있습니다.

getValue 메서드는 컨트롤 메서드가 사용자가 필드를 커밋(저장)한 후에 값을 검색하는 특성 getValue 메서드와 반대로 사용자가 컨트롤에 입력할 때 컨트롤로부터 값을 검색하기 때문에 특성 getValue 메서드와 다릅니다.

참고

이 메서드는 Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)에는 지원되지 않고 업데이트된 엔터티에만 사용할 수 있습니다.

getValue 메서드가 자동 완성 환경을 구성하기 위해 사용하는 샘플 JavaScript 코드는 샘플: Dynamics 365 컨트롤의 자동 완성를 참조하십시오.

Xrm.Page.getControl(arg).getValue()
  • 반환 값
    유형: 문자열. 컨트롤에 대한 최신 데이터 값입니다.

Keypress 메서드

addOnKeyPress, removeOnKeyPress 및 fireOnKeyPress 메서드를 사용하여 즉시 피드백을 제공하거나 사용자가 컨트롤에 입력할 때 작업을 수행합니다. 이러한 메서드를 사용하면 양식에서 값을 커밋(저장)하기 전에도 컨트롤에서 데이터 유효성 검사를 수행할 수 있습니다.

참고

이러한 메서드는 Dynamics 365 모바일 클라이언트(휴대폰 및 태블릿)에는 지원되지 않고 업데이트된 엔터티에만 사용할 수 있습니다.

addOnKeyPress

특정 텍스트 또는 숫자 필드에서 문자를 입력할 때 함수가 호출되도록 키 누름 이벤트에 대한 이벤트 처리기 역할을 하는 함수를 추가하는 데 사용합니다.

addOnKeyPress 메서드가 자동 완성 환경을 구성하기 위해 사용하는 샘플 JavaScript 코드는 샘플: Dynamics 365 컨트롤의 자동 완성를 참조하십시오.

Xrm.Page.getControl(arg).addOnKeyPress([function reference])
  • 매개 변수
    유형: 함수 참조

    설명: 함수는 이벤트 처리기 파이프라인의 맨 아래에 추가됩니다. 실행 컨텍스트는 이 메서드를 사용하여 설정된 이벤트 처리기에 전달된 첫 번째 매개 변수로 전달되도록 자동 설정됩니다.추가 정보:실행 컨텍스트(클라이언트 쪽 참조)

    나중에 필드에 대한 이벤트 처리기를 제거하려는 경우 익명의 함수 대신 명명된 함수에 대한 참조를 사용해야 합니다.

removeOnKeyPress

addOnKeyPress을 사용하여 추가된 텍스트나 숫자 필드에 대한 이벤트 처리기를 제거하는 데 사용합니다.

Xrm.Page.getControl(arg).removeOnKeyPress([function reference])
  • 매개 변수
    유형: 함수 참조

    설명: 익명의 함수가 addOnKeyPress를 사용하여 설정된 경우 이 메서드를 사용하여 제거할 수 없습니다.

fireOnKeyPress

keypress 이벤트 발생 시 실행할 특정 텍스트 또는 숫자 필드에 대해 만든 이벤트 처리기를 수동으로 호출하는 데 사용합니다.

Xrm.Page.getControl(arg).fireOnKeyPress()

참조 자료 검색 메서드

이러한 메서드는 Dynamics 365 조직에 참조 자료 관리 기능이 활성화되었을 때 사용할 수 있는 참조 자료 검색 컨트롤에만 사용할 수 있습니다. 이러한 컨트롤에 대한 자세한 내용은 참조 자료 검색 컨트롤(클라이언트 쪽 참조)을 참조하십시오.

레이블

getLabel 및 setLabel 메서드를 사용하여 컨트롤에 대한 레이블을 가져오거나 변경합니다.

컨트롤 형식: 모두.

getLabel

컨트롤의 레이블을 반환합니다.

Xrm.Page.getControl(arg).getLabel()
  • 반환 값
    유형: 문자열. 컨트롤의 레이블입니다.

setLabel

컨트롤의 레이블을 설정합니다.

Xrm.Page.getControl(arg).setLabel(label)
  • 인수
    유형: 문자열. 컨트롤의 새 레이블입니다.

조회 컨트롤 메서드 및 이벤트

addCustomFilter, addCustomView, getDefaultView 및 setDefaultView 메서드를 사용하여 조회 컨트롤의 값을 설정할 때 사용자가 선택하도록 표시되는 결과를 제어합니다.Lookup 컨트롤은 PreSearch 이벤트를 노출하므로 addPreSearch 및 removePreSearch 메서드를 사용하여 이벤트 처리기를 프로그램 방식으로 추가할 수 있습니다.

컨트롤 형식: 조회.

addCustomFilter

조회에서 표시되는 결과에 필터를 추가하려면 사용합니다. 각 필터는 “AND” 조건으로 이전에 추가된 필터를 사용하여 결합됩니다.

Xrm.Page.getControl(arg).addCustomFilter(filter, entityLogicaName)
  • 인수

    • filterXml
      종류: 문자열: 적용할 fetchXml 필터 요소. 예를 들면 다음과 같습니다.

      <filter type="and">
       <condition attribute="address1_city" operator="eq" value="Redmond" />
      </filter>
      
    • entityLogicalName
      종류: 문자열: (옵션)이 옵션이 설정되어 있으면 필터는 엔터티 형식에만 적용됩니다. 그렇지 않으면 반환되는 모든 엔터티 형식에 적용됩니다.

  • 설명
    추가 정보:FetchXML schema.

    이 메서드는 업데이트된 엔터티에만 사용할 수 있습니다.

    이 메서드는 조회 컨트롤 PreSearch 이벤트에 대한 이벤트 처리기에 있는 함수에서만 사용할 수 있습니다.

    다음 코드 샘플은 영업 기회 양식 거래처(parentaccountid) 조회용입니다.Sdk.setParentAccountIdFilter 함수가 양식 Onload 이벤트 처리기에 설정되면 Sdk.filterCustomAccounts 함수는 해당 조회를 위해 PreSearch 이벤트에 추가됩니다. 결과적으로 선호 고객 (1)의 범주(accountcategorycode) 값을 갖는 거래처만 반환됩니다.

    var Sdk = window.Sdk || {};
    
    Sdk.filterCustomerAccounts = function () {
        //Only show accounts with the type 'Preferred Customer'
        var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
        Xrm.Page.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
    }
    //set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
    Sdk.setParentAccountIdFilter = function () {
        Xrm.Page.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
    }
    

addCustomView

조회 대화 상자에 새 보기를 추가합니다.

Xrm.Page.getControl(arg).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, isDefault)
  • 인수

    • viewId
      종류:문자열: 보기에 대한 GUID의 문자열 표현입니다.

      참고

      이 값은 저장되지 않으며 조회를 위한 다른 사용 가능한 보기에서만 고유해야 합니다. 유효하지 않은 GUID 문자열이 작동합니다. 예를 들어, “{00000000-0000-0000-0000-000000000001}”입니다.guidgen.exe 같은 도구를 사용하여 유효한 GUID를 생성하는 것이 좋습니다.guidgen.exe 도구는 Windows SDK에 포함되어 있습니다.

    • entityName
      유형: 문자열: 엔터티의 이름입니다.

    • viewDisplayName
      유형: 문자열: 보기의 이름입니다.

    • fetchXml
      문자열: 보기에 대한 fetchXml 쿼리.

    • layoutXml
      유형:문자열: 보기의 레이아웃을 정의하는 XML.

    • 기본 여부
      유형:부울: 보기가 기본 보기여야 하는지 여부.

  • 설명
    이 메서드는 담당자 조회에서는 작동 하지 않습니다. 담당자 조회는 사용자 담당 레코드를 할당하는 데 사용됩니다.

DefaultView

사용자가 조회에서 레코드를 선택할 수 있도록 표시할 때 어떤 보기가 기본 보기인지 감지하고 getDefaultView 및 setDefaultView를 사용하여 기본 보기를 변경할 수 있습니다.

getDefaultView

기본 조회 대화 상자 보기의 ID 값을 반환합니다.

Xrm.Page.getControl(arg).getDefaultView()
  • 반환 값
    유형: 문자열. 기본 보기의 ID 값입니다.

setDefaultView

조회 컨트롤 대화 상자에 대한 기본 보기를 설정합니다.

Xrm.Page.getControl(arg).setDefaultView(viewGuid)
  • 인수
    유형: 문자열. 기본 보기로 설정할 보기의 ID입니다.

예제: 이 setDefaultViewSample 기능은 account 엔터티 양식 기본 연락처 조회 기본 보기를 내 활성 연락처 보기로 설정합니다.

function setDefaultViewSample() {
    Xrm.Page.getControl("primarycontactid").setDefaultView("{00000000-0000-0000-00AA-000010001003}");
}​

PreSearch 이벤트

addPreSearch 및 removePreSearch 메서드를 사용하여 조회 컨트롤 PreSearch 이벤트의 이벤트 처리기를 추가하거나 제거할 수 있습니다.

PreSearch 이벤트를 사용하여 사용자가 레코드 검색을 시작할 때 최신의 양식 데이터를 사용하여 컨트롤에 대해 어떤 결과를 표시할지 제어합니다.

두 메서드 모두 첫 번째 매개 변수로 실행 컨텍스트(클라이언트 쪽 참조)를 전달했습니다.

addPreSearch

이 메서드를 사용하여 사용자가 조회에 대한 결과를 보려고 할 때 최신 값을 기반으로 조회에 변경 내용을 적용합니다.

Xrm.Page.getControl(arg).addPreSearch(handler)

인수는 조회에 대한 결과를 제공하기 위해 검색이 발생하기 직전에 실행할 함수입니다. 이 처리기를 사용하여 다른 조회 컨트롤 함수 중 하나를 호출하고 조회에 표시할 결과를 개선할 수 있습니다.

removePreSearch

이 메서드를 사용하여 PreSearch 이벤트에 대해 이전에 설정된 이벤트 처리기 함수를 제거합니다.

Xrm.Page.getControl(arg).removePreSearch(handler)

알림

이러한 메서드를 사용하여 컨트롤에 대한 알림을 표시하고 지웁니다.

setNotification

컨트롤에 대해 데이터가 잘못되었음을 나타내는 오류 메시지를 표시합니다. 이 메서드가 사용되면 빨간색 "X" 아이콘이 컨트롤 옆에 나타납니다.Dynamics 365 모바일 클라이언트에서 아이콘을 누르면 메시지가 표시됩니다.

Xrm.Page.getControl(arg).setNotification(message,uniqueId)

설명

컨트롤에서 오류 알림을 설정하면 양식을 저장할 수 없게 됩니다.

이 메서드는 업데이트된 엔터티에만 사용할 수 있습니다.

인수

  • 메시지
    유형: 문자열: 표시할 메시지.

  • uniqueId
    유형: 문자열: clearNotification을 사용할 때 이 메시지만 지우는 데 사용할 ID. 선택 사항.

반환 값

유형: 부울: 메서드가 성공했는지 여부를 나타냅니다.

addNotification

컨트롤에 대해 오류 또는 추천 알림을 표시하고 알림에 대해 실행할 작업을 지정할 수 있습니다. 알림의 오류 유형을 지정하면 컨트롤 옆에 빨간색 "X" 아이콘이 나타납니다. 알림의 추천 유형을 지정하면 컨트롤 옆에 "i" 아이콘이 나타납니다.Dynamics 365 모바일 클라이언트에서 아이콘을 누르면 메시지가 표시되며 적용 단추를 눌러 구성된 작업을 수행하거나 메시지를 없앨 수 있습니다.

Xrm.Page.getControl(arg).addNotification(object)

설명

양식을 저장하는 컨트롤 블록에서 오류 알림 설정. 추천 알림을 설정해도 양식 저장은 차단되지 않습니다.

이 메서드는 Dynamics 365용 2016년 12월 업데이트(온라인 및 온-프레미스)에서 소개되었으며 업데이트된 엔터티에만 사용할 수 있습니다.

인수

메서드는 다음과 같은 특성이 있는 개체를 허용합니다.

Attribute(특성)

데이터 형식

필수 참석자

설명

messages

배열

지원

알림에 표시할 메시지입니다. 현재 릴리스에서는 이 배열에 지정된 첫 번째 메시지만 표시됩니다. 여기에서 지정하는 문자열이 알림에 굵은 텍스트로 표시되며 일반적으로 알림의 제목 또는 주제로 사용됩니다. 최적의 사용자 경험을 위해 메시지 길이를 50자로 제한해야 합니다.

notificationLevel

문자열

No

알림의 형식을 정의합니다. 유효한 값은 ERROR 또는 RECOMMENDATION입니다. 개체 정의에 이 특성을 지정하지 않으면 기본적으로 ERROR로 설정됩니다.

uniqueId

문자열

No

clearNotification을 사용할 때 이 알림을 지우기 위해 사용할 ID.

actions

객체 배열

No

다음과 같은 특성을 지닌 개체 모음입니다.

  • message: 문자열. 사용자에게 표시할 알림의 부수 또는 본문 메시지. 최적의 사용자 경험을 위해 메시지 길이를 100자로 제한하십시오.

  • actions: 배열. 메시지에 해당하는 작업.

현재 릴리스에서는 단일 본문 메시지 및 관련 작업만 지원됩니다. 그러나 작업 블록의 JavaScript 코드를 사용하여 수행할 여러 작업을 정의할 수 있습니다.

참고

addNotification 메서드는 지정한 메시지와 적용지우기의 두 개의 표준 단추가 있는 알림을 표시합니다.적용을 클릭하면 정의한 작업이 실행됩니다. 지우기를 클릭하면 알림 메시지가 닫힙니다.

반환 값

유형: 부울: 메서드가 성공했는지 여부를 나타냅니다.

예제

다음 코드 예제는 거래처 이름 필드에 "Microsoft"가 포함된 경우 주식 종목 코드로 설정할 거래처 양식의 거래처 이름에 대한 알림을 표시합니다. 알림에서 적용을 클릭하면 주식 종목 코드 필드가 "MSFT"로 설정됩니다.

function addTickerSymbolRecommendation() {
    var myControl = Xrm.Page.getControl('name');
    var accountName = Xrm.Page.data.entity.attributes.get('name');
    var tickerSymbol = Xrm.Page.data.entity.attributes.get('tickersymbol');

    if (accountName.getValue('Microsoft') && tickerSymbol.getValue() != 'MSFT') {
        var actionCollection = {
            message: 'Set the Ticker Symbol to MSFT?',
            actions: null
        };

        actionCollection.actions = [function () {
            tickerSymbol.setValue('MSFT');
            myControl.clearNotification('my_unique_id');
        }];

        myControl.addNotification({
            messages: ['Set Ticker Symbol'],
            notificationLevel: 'RECOMMENDATION',
            uniqueId: 'my_unique_id',
            actions: [actionCollection]
        });
    }
    else
        console.log("Notification not set");
}

clearNotification

컨트롤에 이미 표시된 메시지를 제거합니다.

Xrm.Page.getControl(arg).clearNotification(uniqueId)

인수

  • uniqueId
    유형: 문자열: setNotification 또는 addNotification을 사용하여 설정된 특정 메시지를 지우는 데 사용할 ID.

    uniqueId 매개 변수를 지정하지 않는 경우 현재 표시된 알림이 제거됩니다.

설명

이 메서드는 업데이트된 엔터티에만 사용할 수 있습니다.

반환 값

유형: 부울: 메서드가 성공했는지 여부를 나타냅니다.

옵션 집합 컨트롤 메서드

addOption, clearOptions 및 removeOption 메서드를 사용하여 OptionSet 컨트롤에 사용할 수 있는 옵션을 조작합니다.

addOption

옵션 집합 컨트롤에 옵션을 추가합니다.

Xrm.Page.getControl(arg).addOption(option, [index])

중요

이 메서드는 추가하는 옵션 내의 값이 유효한 지 확인하지 않습니다. 잘못된 옵션을 추가하는 경우 올바르게 작동하지 않습니다. 컨트롤이 바인딩되는 특정 옵션 집합 특성에 대해 정의된 옵션만 추가해야 합니다. 특성 getOptions 또는 getOption 메서드를 사용하여 이 메서드를 사용하여 추가할 유효한 옵션 개체를 가져옵니다.

  • 인수

    • 옵션
      유형: 개체: OptionSet에 추가할 옵션 개체입니다.

    • 색인
      유형: 숫자: (옵션) 새 옵션을 배치할 색인 위치. 제공되지 않은 경우 옵션은 끝에 추가됩니다.

clearOptions

옵션 집합 컨트롤에서 옵션을 모두 지웁니다.

Xrm.Page.getControl(arg).clearOptions()

removeOption

옵션 집합 컨트롤에서 옵션을 제거합니다.

Xrm.Page.getControl(arg).removeOption(number)
  • 인수
    유형: 숫자: 제거하려는 옵션의 값입니다.

setFocus

컨트롤에 대한 포커스를 설정합니다.

Xrm.Page.getControl(arg).setFocus()

ShowTime

setShowTime를 사용하여 날짜 컨트롤이 날짜의 시간 부분을 보여주어야 하는지 여부를 지정하고 getShowTime를 사용하여 날짜의 시간 부분이 현재 표시되는지 여부를 확인합니다.

getShowTime

날짜 컨트롤에 날짜의 시간 부분을 표시할지 여부를 가져옵니다.

컨트롤 형식:datetime 특성에 대한 표준 컨트롤입니다.

var showsTime = Xrm.Page.getControl(arg).getShowTime();

설명

이 메서드는 Microsoft Dynamics CRM Online 2015 업데이트 1에서 소개되었습니다.

setShowTime

날짜 컨트롤에 날짜의 시간 부분을 표시할지 여부를 지정합니다.

컨트롤 형식:datetime 특성에 대한 표준 컨트롤입니다.

Xrm.Page.getControl(arg).setShowTime(bool)

설명

이 메서드는 업데이트된 엔터티에만 사용할 수 있습니다. 이 메서드는 특성이 DateAndTime 형식을 사용하는 날짜 컨트롤의 시간 구성 요소를 표시하거나 숨깁니다. 이 메서드는 DateOnly 형식을 사용할 때 아무런 효과가 없습니다.

하위 표 컨트롤 메서드

Microsoft Dynamics CRM Online 2015 업데이트 1 이전 릴리스의 경우 하위 표 컨트롤에 사용할 수 있는 유일한 메서드가 refresh입니다.CRM Online 2015 업데이트 1를 사용하면 새로운 기능을 사용할 수 있습니다.추가 정보:표(읽기 전용) 개체 및 메서드(클라이언트 쪽 참조)

refresh

하위 표에 표시되는 데이터를 새로 고칩니다.

Xrm.Page.getControl(arg).refresh()

참고

refresh 메서드는 하위 표가 비동기적으로 로드되기 때문에 OnLoad 이벤트 양식에서는 사용할 수 없습니다.CRM Online 2015 업데이트 1에서 도입된 하위 표 OnLoad 이벤트를 사용하면 이제 하위 표가 로드될 때를 감지하고 이 메서드를 해당 이벤트의 이벤트 처리기와 함께 사용할 수 있습니다.

표시

어떤 컨트롤을 표시할지 결정하고 getVisible 및 setVisible 메서드를 사용하여 표시하거나 숨깁니다.

getVisible

컨트롤이 현재 표시되는지 여부를 나타내는 값을 반환합니다.

참고

이 컨트롤에 대한 포함하는 섹션 또는 탭이 표시되지 않는 경우 이 메서드는 계속 true를 반환할 수 있습니다. 컨트롤이 실제로 표시되는지 확인하려면 포함하는 요소의 가시성도 확인해야 합니다.

Xrm.Page.getControl(arg).getVisible()
  • 반환 값
    유형: 부울. 컨트롤을 볼 수 있으면 True, 그렇지 않으면 false입니다.

setVisible

컨트롤이 표시되는지 여부를 나타내는 값을 설정합니다.

Xrm.Page.getControl(arg).setVisible(bool)
  • 인수
    유형: 부울. 컨트롤을 볼 수 있어야 하면 True, 그렇지 않으면 false입니다.

참고

선택적으로 Onload 이벤트에서 실행되는 코드에 사용자에 대한 필드를 표시할 때 기본적으로 필드가 표시되지 않도록 구성한 다음 setVisible(true)을 사용하여 조건이 적절할 때 필드를 표시하도록 하는 것이 좋습니다.setVisible(false)을 사용하여 Onload 이벤트에서 필드를 숨기면 숨기기 전에 사용자에게 필드가 잠깐 나타나도록 할 수 있습니다.

setVisible(false)을 사용하여 많은 필드를 숨기는 경우 필드를 탭이나 섹션으로 그룹화하고 각각의 필드 대신 탭 또는 섹션을 숨길 수 있는지 고려하십시오. 이렇게 하면 성능을 향상 시킬 수 있습니다.

웹 리소스 및 IFRAME 컨트롤 메서드

이러한 메서드를 사용하여 웹 리소스 및 IFRAME 컨트롤과 상호 작용합니다.

데이터

웹 리소스에는 사용자 지정 데이터를 전달하는 data라는 특별한 쿼리 문자열 매개 변수가 있습니다.getData 및 setData 메서드는 양식에 추가된 Silverlight 웹 리소스에서만 작동합니다.추가 정보:양식에서 포함된 Silverlight 웹 리소스로 데이터 전달

웹 페이지(HTML) 웹 리소스의 경우 데이터 매개 변수는 getSrc 메서드에서 추출하거나 setSrc 메서드를 사용하여 설정할 수 있습니다.

참고

대화식 서비스 허브에서 getData 및 setData 메서드를 지원하지 않습니다.

getData

Silverlight 웹 리소스에 전달되는 데이터 쿼리 문자열 매개 변수의 값을 반환합니다.

Xrm.Page.getControl(arg).getData()
  • 반환 값
    유형: 문자열.Silverlight 웹 리소스에 전달되는 데이터 값입니다.

setData

Silverlight 웹 리소스에 전달되는 데이터 쿼리 문자열 매개 변수의 값을 설정합니다.

Xrm.Page.getControl(arg).setData(string)
  • 인수
    유형: 문자열.Silverlight 웹 리소스에 전달되는 데이터 값입니다.

getInitialUrl

URL 컨트롤이 표시하도록 구성된 기본 URL을 반환합니다. 이 메서드는 웹 리소스에는 사용할 수 없습니다.

Xrm.Page.getControl(arg).getInitialUrl()
  • 반환 값
    유형: 문자열. 초기 URL입니다.

getObject

I-프레임 또는 웹 리소스를 나타내는 양식으로 개체를 반환합니다.

Xrm.Page.getControl(arg).getObject()
  • 반환 값
    유형: 개체. 컨트롤 유형에 따라 개체가 달라집니다.

    IFRAME은 DOM(Document Object Model)에서 IFrame 요소를 반환합니다.

    Silverlight 웹 리소스는 포함된 Silverlight 플러그인을 나타내는 DOM에서 Object 요소를 반환합니다.

Src

IFRAME 또는 웹 리소스에는 포함된 창에 표시할 내용을 정의하는 src 속성이 있습니다.getSrc 및 setSrc 메서드를 사용하여 src 속성을 가져오거나 변경할 수 있습니다.

getSrc

IFRAME 또는 웹 리소스에 표시되는 현재 URL을 반환합니다.

Xrm.Page.getControl(arg).getSrc()
  • 반환 값
    유형: 문자열. IFRAME 또는 웹 리소스의 src 속성을 나타내는 URL입니다.

setSrc

IFRAME 또는 웹 리소스에 표시할 URL을 설정합니다.

Xrm.Page.getControl(arg).setSrc(string)
  • 인수
    유형: 문자열: URL.

참고 항목

클라이언트 쪽 프로그래밍 참조
양식 스크립팅 빠른 참조
Xrm.Page.ui(클라이언트 쪽 참조)
Microsoft Dynamics 365 양식용 코드 작성
Xrm.Page 개체 모델 사용

Microsoft Dynamics 365

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