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)
  • 参数

    名称

    类型

    必填

    说明

    entityType

    字符串

    您想要为其创建记录的 Dynamics 365 的实体类型。 例如:“account”。 有关 Dynamics 365 中实体类型的信息,请参阅 Web API EntityType Reference

    数据

    对象

    包含 key : value 对的词典对象,其中 key 是实体集的属性,value 是要用于创建实体记录的属性的值。 例如,定义以下对象来创建帐户:

      var myAccount = {};
      myAccount.name = "Sample Account Name";
      myAccount.accountid = "2724A2AF-697E-E611-80DB-00155DB412B4";
      myAccount.parentaccountid = {
      "logicalname": "account",
      "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
      };
      myAccount.revenue = "60000.00";
      myAccount.primarycontactid = {
      "logicalname": "contact",
      "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
      };
      myAccount.new_customdate = new Date("September 29, 2016 12:00:00");
    

    有关 Dynamics 365 中实体类型及其他属性的信息,请参阅 Web API EntityType Reference

    successCallback

    作用

    在创建记录时调用的函数。 将传送具有以下属性的对象以确定新记录:

    • id:字符串。 创建的记录的 GUID。

    • logicalName:字符串。 实体的逻辑名称。

    errorCallback

    作用

    当操作失败时调用的函数。 将传递具有以下属性的对象:

    • errorCode:数字。 错误代码。

    • message:字符串。 描述问题的错误消息。

    • debugMessage:字符串。 可能包含有关问题的其他详细信息的内部错误消息。

  • 限制

    • 不能创建相交和活动方实体。

    • 在脱机模式下创建记录时仅支持以下属性类型:BigInt、Boolean、Customer、DateTime、Decimal、Double、EntityName、Integer、Lookup、Memo、Money、Owner、Picklist、String、State、Status 和 UniqueIdentifier。

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。

    选项

    字符串

    检索数据的 OData 系统查询选项。 不支持以下系统查询选项:$select$expand

    • 为使用 $expand,相关的实体也必须处于脱机状态。 例如,若要检索与客户记录相关的联系人,客户和联系人实体均必须处于脱机模式。

    • 指定以 ? 开头的查询选项。 要指定多个查询选项,使用 & 分隔查询选项。 例如:

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

    提示

    作为性能最佳实践,使用 $select 查询选项限制您检索的属性数。 否则,将检索所有属性。

    此外,使用 $expand 选项检索相关实体属性名称时,只包括导航属性的名称将返回的相关记录的所有属性。 您可以在 $expand 中导航属性名称后的括号中使用 $select 系统查询选项来限制相关记录返回的属性。 更多信息:通过扩展导航属性检索实体的相关实体

    successCallback

    作用

    在检索记录时调用的函数。 将传送具有以下属性的对象以确定检索的记录:

    • id:字符串。 检索的记录的 GUID。

    • logicalName:字符串。 实体的逻辑名称。

    errorCallback

    作用

    当操作失败时调用的函数。 将传递具有以下属性的对象:

    • 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

    选项

    字符串

    检索数据的 OData 系统查询选项或 FetchXML 查询。 支持以下系统查询选项:$select$top$filter$expand$orderby

    • 对于 $filter,仅支持筛选结果部分提到的标准筛选器运算符;不支持标准查询函数

    • 为使用 $expand,相关的实体也必须处于脱机状态。 例如,要检索客户记录的联系人,客户和联系人实体必须都处于脱机模式。 如果您展开实体的集合值导航属性来检索相关实体,[NavigationPropertyName]@odata.nextLink 属性将为相关实体返回。 例如,如果展开 primarycontactid 导航属性,将返回 primarycontactid@odata.nextLink。 您应该将 primarycontactid@odata.nextLink 属性的值与新的 GET 请求一起使用以返回所需数据。

    • 指定以 ? 开头的查询选项。 要指定多个查询选项,使用 & 分隔查询选项。 例如:

      ?$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

    整数

    指定表示每页将返回的实体记录数的一个正数。 如果不指定此参数,传递的默认值为 5000。

    如果检索的记录数大于 maxPageSize@odata.nextLink 属性将返回,您可以使用具有新 GET 请求的 @odata.nextLink 属性的值返回下一组记录。 更多信息:指定在一个页面中返回的实体数

    successCallback

    作用

    在检索记录时调用的函数。 将传送包含检索的数据的 key : value 对的词典来确定检索的记录。

    errorCallback

    作用

    当操作失败时调用的函数。 将传递具有以下属性的对象:

    • 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

    作用

    在更新记录时调用的函数。 将传送具有以下属性的对象以确定更新的记录:

    • id:字符串。 更新的记录的 GUID。

    • logicalName:字符串。 实体的逻辑名称。

    errorCallback

    作用

    当操作失败时调用的函数。 将传递具有以下属性的对象:

    • 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

    作用

    在删除记录时调用的函数。 将传送具有以下属性的对象以确定删除的记录:

    • id:字符串。 删除的记录的 GUID。

    • logicalName:字符串。 实体的逻辑名称。

    errorCallback

    作用

    当操作失败时调用的函数。 将传递具有以下属性的对象:

    • errorCode:数字。 错误代码。

    • message:字符串。 描述问题的错误消息。

    • debugMessage:字符串。 可能包含有关问题的其他详细信息的内部错误消息。

  • 限制
    不能删除相交和活动方实体。

另请参阅

编写和调试适用于手机和平板电脑的 Dynamics 365 的脚本
客户端编程引用

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权