编写业务流程脚本

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 2015 更新 可以使您能够使用客户端对象与您脚本中的业务流程进行交互。 扩展 Xrm.Page.data 命名空间,以根据 Xrm.Page.data.process 包含方法。 扩展 Xrm.Page.ui 命名空间,以根据 Xrm.Page.ui.process 包含方法。

在本主题中

业务流程结构。

采用自动化的操作

业务流程事件

业务流程结构。

业务流程包含一系列阶段,每个阶段包含大量步骤。 只有一阶段为活动阶段。 当完成每个阶段中的必要步骤时,流程可以移动到下一阶段,并变为活动阶段。 可以根据业务流程中的条件定义下一步为哪个阶段,如以下关系图所示。

业务流程对象

阶段可以与特定相关实体关联,因此业务流程可以跨多个实体。 流程业务保持相同,并会引导用户获得所需结论。详细信息:TechNet: 业务流程

采用自动化的操作

通常,沿业务流程的进程取决于用户输入。 作为开发人员,您可以在窗体脚本以编程方式执行相同操作。

  • 当有多个流程可用于实体时,更改此流程。
    使用 Xrm.Page.data.process. getEnabledProcesses 检索用户可以为实体选择的启用流程相关信息。 然后,使用 Xrm.Page.data.process. setActiveProcess 以使其中一个已启用流程变为活动流程。

  • 当完成所有必要步骤时,移动到下一阶段以使其变为当前活动阶段。
    使用Xrm.Page.data.process. moveNext

  • 移至上一阶段并使其为当前活动阶段。
    使用Xrm.Page.data.process. movePrevious

  • 选择某个阶段,以显示该阶段中步骤的状态。
    使用 Xrm.Page.data.process. getActivePath 检索已完成阶段、当前活动阶段和当前活动阶段中有效阶段的相关信息。 检查阶段中包含的步骤,并比较相应的窗体属性值,以确定是否完成。

  • 完成一个步骤
    当在窗体中输入相应的数据后,完成步骤。 您可以通过使用步骤 getAttribute 方法来确定属性。 这将返回属性的逻辑名称。 使用 Xrm.Page.getAttributeXrm.Page.data.entity.attributes 集合检索属性,然后使用属性 setValue 方法设置值。

  • 检测是否需要此步骤
    使用步骤 isRequired 方法确定是否为业务流程的必需步骤。

  • 展开或折叠业务流程控件
    使用Xrm.Page.ui.process.setDisplayState

开发人员还可以执行一些用户无法执行的操作。

  • 隐藏流程控件
    使用 Xrm.Page.ui.process. 1468bab0-f6b3-4320-a60c-a88c9d4fcf1f#BKMK_setVisible,您可以控制是否显示业务流程控件。

  • 跳过有效的已完成阶段。
    使用 Xrm.Page.data.process.setActiveStage 设置当前实体的有效已完成阶段之一。

  • 查询包括阶段的流程定义当前不可见
    使用 Xrm.Page.data.process.getActiveProcess 查询业务流程的定义,包括由于流程中的分支逻辑而可能不可见的阶段。

业务流程事件

您可以使用业务流程与窗体提供的所有事件交互,但是,两个新事件仅允许您针对业务流程控件执行基于事件的代码。 当更改业务流程的活动阶段时 (OnStageChange 事件),或选定某个阶段时 (OnStageSelected 事件),您可以执行代码。

两新事件均不提供用户界面来注册您的事件处理程序。 在窗体 OnLoad 事件中,您必须使用提供的方法添加或删除这些事件的处理程序。详细信息:业务流程控件事件

另请参阅

使用 Xrm.Page 对象模型
Xrm.Page.data.process(客户端引用)
示例:Xrm.Page.data.process.getEnabledProcesses
Sample: Xrm.Page.data.process.getActivePath
业务流程控件事件
TechNet:业务流程

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