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。 保留所有权利。 版权