다음을 통해 공유


Xrm.Mobile.offline(클라이언트 쪽 참조)

 

게시 날짜: 2017년 1월

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

Xrm.Mobile.offline 네임스페이스는 오프라인 모드에서 작업할 때 Dynamics 365 모바일 클라이언트(휴대폰용 Dynamics 365 및 태블릿용 Dynamics 365)에서 레코드를 만들고 관리하는 방법을 제공합니다.

참고

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

Xrm.Mobile.offline 네임스페이스 아래의 이러한 새로운 클라이언트 API은 오프라인 모드에서만 사용할 수 있으며 Mobile offline 동기화를 사용하도록 설정된 엔터티에 대해서만 사용할 수 있습니다.추가 정보:도움말 및 교육: 태블릿 및 휴대폰용 CRM에 대한 Mobile offline 동기화 구성

중요

오프라인 모드에서 레코드를 만들거나 업데이트하는 동안 입력 데이터에 대해 기본 유효성 검사만 수행됩니다. 기본 유효성 검사에는 지정된 엔터티 특성 이름이 소문자이며 해당 엔터티에 대해 존재하는지 확인, 지정된 특성값에 대해 데이터 유형 불일치 확인, 레코드가 동일한 GUID값으로 생성되는 것 방지, 관련 엔터티 레코드를 검색할 때 관련된 엔터티가 오프라인에서 사용하도록 설정되었는지 확인, 검색, 업데이트, 또는 삭제하려는 레코드가 오프라인 데이터 저장소에 실제로 존재하는지 확인 등이 포함됩니다. 비즈니스 수준 유효성 검사는 Dynamics 365 서버에 연결되고 데이터가 동기화될 때만 수행됩니다. 레코드는 입력 데이터가 완전히 유효한 경우에만 Dynamics 365에서 생성되거나 업데이트됩니다.

이 항목의 내용

isOfflineEnabled

createRecord

retrieveRecord

retrieveMultipleRecords

updateRecord

deleteRecord

isOfflineEnabled

엔터티가 오프라인에서 사용될지 여부를 반환합니다.

Xrm.Mobile.offline.isOfflineEnabled("entityType")
  • 매개 변수
    유형:: 문자열.Dynamics 365의 엔터티 유형. 예: "account".Dynamics 365의 엔터티 유형에 대한 자세한 내용은 Web API EntityType Reference를 참조하십시오.

  • 반환 값
    유형:: 부울. 엔터티가 오프라인에서 사용하도록 설정된 경우 True. 그렇지 않으면 false.

createRecord

오프라인 모드에서 작업하는 동안 Dynamics 365 모바일 클라이언트에서 엔터티 레코드를 만듭니다.

Xrm.Mobile.offline.createRecord(entityType, data).then(successCallback, errorCallback)

retrieveRecord

오프라인 모드에서 작업하는 동안 Dynamics 365 모바일 클라이언트에서 엔터티 레코드를 검색합니다.

Xrm.Mobile.offline.retrieveRecord(entityType, id, options).then(successCallback, errorCallback)
  • 매개 변수

    이름

    유형

    필수 참석자

    설명

    entityType

    문자열

    지원

    Dynamics 365에서 레코드를 검색하려는 엔터티 유형입니다. 예: "account".Dynamics 365의 엔터티 유형에 대한 자세한 내용은 Web API EntityType Reference를 참조하십시오.

    ID

    문자열

    지원

    검색할 레코드의 GUID를 선택합니다.

    options

    문자열

    No

    데이터를 검색할 OData 시스템 쿼리 옵션입니다.$select$expand 시스템 쿼리 옵션이 지원됩니다.

    • $expand를 사용하는 경우 관련된 엔터티도 오프라인으로 설정되어야 합니다. 예를 들어 거래처 레코드와 관련된 연락처를 검색하려면 거래처와 연락처 엔터티가 오프라인으로 설정되어야 합니다.

    • ?로 시작하는 쿼리 옵션을 지정합니다. 여러 쿼리 옵션을 지정하는 경우 &를 사용하여 쿼리 옵션을 구분합니다. 예를 들면 다음과 같습니다.

      ?$select=name&$expand=primarycontactid($select=contactid,fullname)

    최적의 성능을 위해 $select 쿼리 옵션을 사용하여 검색할 속성의 개수를 제한합니다. 그렇지 않으면 모든 속성이 검색됩니다.

    또한 $expand 옵션을 사용하여 관련 엔터티 속성을 검색하는 동안 단순히 탐색 속성의 이름을 포함시키면 관련된 레코드의 속성이 반환됩니다.$expand의 탐색 속성 이름 뒤 괄호 안의 $select 시스템 쿼리 옵션을 사용하여 관련 레코드에 대해 반환되는 속성을 제한할 수 있습니다. 추가 정보: 탐색 속성을 확장하여 엔터티에 대한 관련 엔터티 검색

    successCallback

    함수

    No

    레코드를 검색할 때 호출할 함수입니다. 검색된 레코드를 식별하기 위해 다음 속성의 개체가 전달됩니다.

    • id: 문자열. 검색된 레코드의 GUID.

    • logicalName: 문자열. 엔터티의 논리적 이름.

    errorCallback

    함수

    No

    작업에 실패할 때 호출하는 함수입니다. 다음 속성을 가진 개체를 전달합니다.

    • errorCode: 숫자. 오류 코드입니다.

    • message: 문자열. 이 문제를 설명하는 오류 메시지.

    • debugMessage: 문자열. 이 문제에 대한 추가 정보를 포함할 수 있는 내부 오류 메시지입니다.

  • 제한 사항

    • $select 옵션만 $expand에서 지정할 수 있습니다.

    • 오프라인 모드에서는 BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, 및 UniqueIdentifier의 특성 유형에 대해서만 레코드를 검색할 수 있습니다.

retrieveMultipleRecords

오프라인 모드에서 작업하는 동안 Dynamics 365 모바일 클라이언트에서 엔터티 레코드 모음을 검색합니다.

Xrm.Mobile.offline.retrieveMultipleRecords(entityType, options, maxPageSize).then(successCallback, errorCallback)
  • 매개 변수

    이름

    유형

    필수 참석자

    설명

    entityType

    문자열

    지원

    Dynamics 365에서 레코드를 검색하려는 엔터티 유형입니다. 예: "account".Dynamics 365의 엔터티 유형에 대한 자세한 내용은 Web API EntityType Reference를 참조하십시오.

    options

    문자열

    No

    데이터를 검색할 OData 시스템 쿼리 옵션 또는 FetchXML 쿼리입니다.$select, $top, $filter, $expand, $orderby 시스템 쿼리 옵션이 지원됩니다.

    • $filter의 경우 필터 결과 섹션 아래에 언급된 표준 필터 연사자만은 지원되지 않습니다. 즉, 표준 쿼리 함수가 지원되지 않습니다.

    • $expand를 사용하는 경우 관련된 엔터티도 오프라인으로 설정되어야 합니다. 예를 들어 거래처 레코드의 연락처를 검색하려면 거래처와 연락처 엔터티가 오프라인으로 설정되어야 합니다. 관련 엔터티를 얻기 위한 엔터티에 대해 컬렉션 값 탐색 속성을 확장하면 관련 엔터티에 대해[탐색속성이름]@odata.nextLink 속성이 반환됩니다. 예를 들어 primarycontactid 탐색 속성을 확장하면 primarycontactid@odata.nextLink가 반환됩니다. 새 GET 요청과 함께 primarycontactid@odata.nextLink 속성의 값을 사용하여 필요한 데이터를 반환하는 것이 좋습니다.

    • ?로 시작하는 쿼리 옵션을 지정합니다. 여러 쿼리 옵션을 지정하는 경우 &를 사용하여 쿼리 옵션을 구분합니다. 예를 들면 다음과 같습니다.

      ?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname)

      FetchXML 쿼리를 지정하려면 fetchXml 매개 변수를 사용하여 쿼리를 지정합니다.

      ?fetchXml=<FetchXML>

      FetchXml을 사용하면 기본 엔터티 특성만 검색할 수 있습니다.

    예를 들어, 다음은 쿼리 옵션을 사용하는 여러 검색 호출의 예제입니다.

    Xrm.Mobile.offline.retrieveMultipleRecords("account", "?select=name,revenue,&$orderby=revenue&$filter=revenue ne '60000.00'", null)

    maxPageSize

    정수

    No

    페이지당 반환할 엔터티 레코드 개수를 나타내는 양수를 지정합니다. 이 매개 변수를 지정하지 않으면 5000이 기본값으로 전달됩니다.

    검색되는 레코드 수가 maxPageSize보다 많으면, @odata.nextLink 속성이 반환되며 다음 레코드 집합을 반환하기 위해 @odata.nextLink 속성 값을 새 GET 요청과 함께 사용할 수 있습니다. 추가 정보: 페이지에 반환할 엔터티 수를 지정합니다.

    successCallback

    함수

    No

    레코드를 검색할 때 호출할 함수입니다. 데이터의 key : value 쌍을 포함하는 사전이 검색된 레코드를 식별하기 위해 전달됩니다.

    errorCallback

    함수

    No

    작업에 실패할 때 호출하는 함수입니다. 다음 속성을 가진 개체를 전달합니다.

    • errorCode: 숫자. 오류 코드입니다.

    • message: 문자열. 이 문제를 설명하는 오류 메시지.

    • debugMessage: 문자열. 이 문제에 대한 추가 정보를 포함할 수 있는 내부 오류 메시지입니다.

  • 제한 사항

    • $expand를 사용하는 경우 최대 5000 건의 관련된 레코드를 검색할 수 있습니다.

    • $select 옵션만 $expand에서 지정할 수 있습니다.

    • $skip 쿼리 옵션은 지원되지 않습니다.

    • 오프라인 모드에서는 BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, 및 UniqueIdentifier의 특성 유형에 대해서만 레코드를 검색할 수 있습니다.

updateRecord

오프라인 모드에서 작업하는 동안 Dynamics 365 모바일 클라이언트에서 엔터티 레코드를 업데이트합니다.

Xrm.Mobile.offline.updateRecord(entityType, id, data).then(successCallback, errorCallback)
  • 매개 변수

    이름

    유형

    필수 참석자

    설명

    entityType

    문자열

    지원

    Dynamics 365에서 레코드를 업데이트하려는 엔터티 유형입니다. 예: "account".Dynamics 365의 엔터티 유형에 대한 자세한 내용은 Web API EntityType Reference를 참조하십시오.

    ID

    문자열

    지원

    업데이트할 레코드의 GUID를 선택합니다.

    데이터

    개체

    지원

    key가 업데이트하려는 속성의 논리적 이름이고 value는 속성에 대해 업데이트된 값인 key : value 쌍을 포함하는 사전 개체. 레코드에 대해 사전 개체에서 지정한 속성과 값만 업데이트됩니다. 예를 들면 다음과 같습니다.

    var myUpdatedAccount = {};
    myUpdatedAccount.name = "Changed Account Name";
    myUpdatedAccount.revenue = "60000.00";

    successCallback

    함수

    No

    레코드를 업데이트할 때 호출할 함수입니다. 업데이트된 레코드를 식별하기 위해 다음 속성의 개체가 전달됩니다.

    • id: 문자열. 업데이트된 레코드의 GUID.

    • logicalName: 문자열. 엔터티의 논리적 이름.

    errorCallback

    함수

    No

    작업에 실패할 때 호출하는 함수입니다. 다음 속성을 가진 개체를 전달합니다.

    • errorCode: 숫자. 오류 코드입니다.

    • message: 문자열. 이 문제를 설명하는 오류 메시지.

    • debugMessage: 문자열. 이 문제에 대한 추가 정보를 포함할 수 있는 내부 오류 메시지입니다.

  • 제한 사항

    • 교차 및 활동 당사자 엔터티를 업데이트할 수 없습니다.

    • 오프라인 모드에서는 BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status, 및 UniqueIdentifier의 특성 유형에 대해서만 레코드를 업데이트할 수 있습니다.

deleteRecord

오프라인 모드에서 작업하는 동안 Dynamics 365 모바일 클라이언트에서 엔터티 레코드를 삭제합니다.

Xrm.Mobile.offline.deleteRecord(entityType, id).then(successCallback, errorCallback)
  • 매개 변수

    이름

    유형

    필수 참석자

    설명

    entityType

    문자열

    지원

    Dynamics 365에서 레코드를 삭제하려는 엔터티 유형입니다. 예: "account".Dynamics 365의 엔터티 유형에 대한 자세한 내용은 Web API EntityType Reference를 참조하십시오.

    ID

    문자열

    지원

    삭제할 레코드의 GUID를 선택합니다.

    successCallback

    함수

    No

    레코드를 삭제할 때 호출할 함수입니다. 삭제된 레코드를 식별하기 위해 다음 속성의 개체가 전달됩니다.

    • id: 문자열. 삭제된 레코드의 GUID.

    • logicalName: 문자열. 엔터티의 논리적 이름.

    errorCallback

    함수

    No

    작업에 실패할 때 호출하는 함수입니다. 다음 속성을 가진 개체를 전달합니다.

    • errorCode: 숫자. 오류 코드입니다.

    • message: 문자열. 이 문제를 설명하는 오류 메시지.

    • debugMessage: 문자열. 이 문제에 대한 추가 정보를 포함할 수 있는 내부 오류 메시지입니다.

  • 제한 사항
    교차 및 활동 당사자 엔터티를 삭제할 수 없습니다.

참고 항목

휴대폰 및 태블릿용 Dynamics 365에 대한 스크립트 작성 및 디버깅
클라이언트 쪽 프로그래밍 참조

Microsoft Dynamics 365

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