使用更新执行专业化操作

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

发布之前,需要专用消息来更新某些实体属性值。 在此发布中,UpdateRequest 现在可以用于设置这些属性。 下表确定专用的弃用消息请求,以及可以使用 UpdateRequest 更新的相关消息属性。

弃用消息请求

要更新的属性

AssignRequest

<entity>.OwnerId*

SetStateRequest

<entity>.StateCode*

重要

对于SLARoutingRule 实体,单个 Update 消息调用中不支持更改 OwnerIdStateCode,因此将导致出现异常。

SetParentSystemUserRequest

SystemUser.ParentSystemUserId

SetParentTeamRequest

Team.BusinessUnitId

SetParentBusinessUnitRequest

BusinessUnit.ParentBusinessUnitId

SetBusinessEquipmentRequest

Equipment.BusinessUnitId

SetBusinessSystemUserRequest

SystemUser.BusinessUnitId

*<entity> 引用提供该属性的任何实体。

备注

对于 Microsoft Dynamics CRM Online 组织,只有当您的组织更新到 Dynamics CRM Online 2015 更新 1 时才可以使用此功能。 此功能不适用于 Dynamics CRM(本地)。

这些专用消息将继续使用 2011 终结点。 但是,建议在可能设置这些属性时使用 UpdateRequestUpdate 方法。Update 消息简化 SDK API,使其更易于为用于 Dynamics CRM 的标准数据集成工具编码。 此外,为单个 Update 消息而不是多个专用消息编码和注册要执行的插件更加方便。 以上所列属性的 AttributeMetadata.IsValidForUpdate 属性已在此发布中被更改为 true 以启用此功能。

您可以继续在代码中使用 2011 终结点的这些专用消息。 但是,Web API 最终将为这些操作类型替换仅支持 Update 消息的 2011 终结点。 如果想要提前开始更改代码以与 Web API 保持一致,则可以现在就开始。 有关详细信息,请参阅 Web API 预览

此更改对插件的影响

如果处理的请求同时包括由业务部门负责的实体的负责人字段以及其他标准字段,为管道阶段 20 和/或阶段 40 中的 Update 消息注册的插件将为所有非负责人字段执行一次,然后为负责人字段执行一次。 负责人字段的示例将是 businessunitmanager(对于 SystemUser 实体)。 由业务部门负责的实体的示例包括 SystemUserBusinessUnitEquipmentTeam

如果处理的请求同时包括由业务部门负责的实体的状态字段以及其他标准字段,为管道阶段 20 和/或阶段 40 中的 Update 消息注册的插件将为所有非状态字段执行一次,然后为状态字段执行一次。

为使插件代码可以完整接收更新的数据更改,您必须在阶段 10 中注册该插件,然后将相关信息存储在插件上下文的 SharedVariables 中,以供以后的插件(在管道中)使用。

此更改对工作流的影响

如果处理的请求同时包括由业务部门负责的实体的负责人字段以及其他标准字段,为 Update 消息注册的工作流将为所有非负责人字段执行一次,然后为负责人字段执行一次。 用户为 Assign 消息注册的工作流继续由对负责人字段的更新触发。

如果处理的请求同时包括由业务部门负责的实体的状态字段以及其他标准字段,为 Update 消息注册的工作流将为所有非状态字段执行一次,然后为状态字段执行一次。 为“更改状态”步骤注册的工作流继续由对状态字段的更新触发。

另请参阅

编写插件以扩展业务流程
编写将业务流程自动化的工作流

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