使用更新执行专业化操作

  发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

在 Microsoft Dynamics CRM Online 2015 更新 1 之前,需要专用消息来更新某些实体属性值。 现在,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> 引用提供该属性的任何实体。

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

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

此更改对插件的影响

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

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

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

此更改对工作流的影响

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

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

另请参阅

编写插件以扩展业务流程
使用Dynamics 365 流程自动化业务流程

Microsoft Dynamics 365

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