配置操作

 

发布日期: 2017年2月

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

您可以从工作流或对话启用自定义操作,而不必编写代码。详细信息:从工作流或对话调用自定义操作

您可能还需要创建一个操作,以便开发人员在代码中可以使用该操作;或者,您可能需要编辑以前定义的操作。 与工作流流程一样,请考虑以下事项:

  • 应执行什么操作?

  • 在什么条件下应执行操作?

与工作流流程不同,不需要设置以下选项:

  • 启动时间:当代码调用为操作生成的消息时,启动操作。

  • 范围:操作始终在发出调用的用户的上下文中运行。

  • 在后台运行:操作始终是实时工作流。

操作还有一些工作流程没有的内容 - 输入参数和输出参数。详细信息:定义流程参数

本主题内容

创建操作

编辑操作

创建操作

重要

如果要创建将包括在要分发的解决方案中的操作,请在该解决方案的上下文中创建操作。 转到“设置”>“解决方案”,并找到要包括此操作的非托管解决方案。 然后,在菜单栏中选择“新建”>“流程”。 这将确保与操作的名称关联的自定义前缀将与解决方案中的其他组件保持一致。 在创建了操作之后,将无法更改前缀。

与工作流流程一样,操作在“创建流程”对话框中有以下属性。

  • 流程名称
    在输入一个唯一流程名称后,将通过移除流程名称中的所有空格或特殊字符为其创建唯一名称。

  • 类别
    此属性确立这是一个操作流程。 保存流程后,就不能更改此属性。

  • 实体
    通过操作流程,可以选择一个实体来为工作流提供上下文(就像其他类型的流程一样),但您还可以按需要选择“无(全局)”。 如果您的操作不需要特定实体的上下文,请使用此属性。 保存流程后,就不能更改此属性。

  • 类型​​
    您可以使用此属性选择是从头开始创建一个新操作,还是从现有模板开始。

编辑操作

在编辑流程之前,必须将其停用。

您可以编辑作为非托管解决方案一部分创建的操作或者包括在组织中安装的解决方案中的操作流程。 如果解决方案是托管解决方案,则可能无法对其编辑。 解决方案发布商可以选择编辑托管属性,以便可以编辑随托管解决方案安装的操作。

保存操作时,将根据流程名称生成一个唯一名称。 该唯一名称有根据解决方案发布商添加的自定义前缀。 这是将开发人员将在其代码中使用的消息的名称。

在编辑操作时,可以使用以下选项:

  • 流程名称
    在创建了流程并根据流程名称生成了唯一名称之后,可以编辑流程名称。 您可能需要应用命名约定,以便更轻松地查找特定流程。

  • 唯一名称
    保存操作时,将根据流程名称生成一个唯一名称。 该唯一名称有根据解决方案发布商添加的自定义前缀。 这是将开发人员将在其代码中使用的消息的名称。 如果流程已激活,并且已实施的代码将使用唯一名称调用操作,则不能更改此名称。

    重要

    在激活操作并编写代码以使用唯一名称之后,更改唯一名称的同时必须同时更改引用该名称的代码。

  • 启用回滚
    通常,如果支持事务的流程的任何部分失败,则将“撤销(即回滚)整个操作。 此情况有一些例外。 开发人员可能会会在操作引发的代码执行的一些操作可能不支持事务。 例如,代码执行操作所在的其他系统超出了事务的范围。Microsoft Dynamics 365 中运行的操作无法将这些操作回滚。Dynamics 365 平台中的有些消息不支持事务。 但是,您通过操作的用户界面就能做的任何事情都将支持事务。 实时工作流中的所有操作都会在事务中得到考虑,但是,有了操作,您可以选择放弃此操作。

    您应向要使用此消息的开发人员咨询,确定此消息是否必须在事务中。 通常,如果业务流程执行的操作仅在所有操作都成功完成的情况下才有意义,则操作应在事务中。 典型的例子是在两个银行帐户间转帐。 如果您从一个帐户中提款,就必须在另一个帐户中存款。 如果任一事务失败,则必然两种事务都失败。

    备注

    如果自定义操作是直接从工作流或对话调用的,则无法启用回滚。 如果操作是 Dynamics 365 Web 服务消息触发的,则可启用回滚。

  • 激活类型
    像所有流程一样,您可以激活流程作为模板,然后将其用作遵循类似模式的流程的高级起点。

  • 定义流程参数
    在此区域中,您将指定操作预期开始的任何数据,以及要从操作中传出的数据。详细信息:定义流程参数

  • 添加阶段、条件和操作
    与其他流程一样,您要指定要执行的操作以及执行操作的时间。详细信息:添加阶段和步骤

定义流程参数

开发人员使用消息时,他们可以用一些能传递到消息中的数据开始。 例如,要创建新的案例记录,就可能会有将作为输入参数传递的案例标题值。

消息完成时,开发人员可能需要在其代码中将一些可能发生更改或由消息生成的数据传递给其他操作。 此数据是输出参数。

输入和输出参数都必须有名称、类型以及一些有关是否始终需要参数的信息。 您还可以提供说明。

消息的名称及有关所有流程参数的信息代表了消息的“签名”。 在激活了某个操作并将其用在代码中之后,就不能更改该签名。 更改该签名将导致使用消息的代码失败。 对此的唯一例外可能是:更改其中的一个参数,使其成为非始终必需的参数。

通过对参数排序或者上下移动更改参数顺序不会造成差别,因为参数是用名称标识的,而不是顺序。 更改描述也不会破坏使用消息的代码。

操作流程参数类型

下表介绍了操作流程类型参数。

类型

说明

Boolean

true 值或 false 值。

DateTime

存储日期和时间信息的值。

Decimal

有小数精度的数值。 在精度极其重要的情况下使用。

Entity

指定实体的 Dynamics 365 记录。 在选择 Entity 时,将启用下拉列表,使您可以选择实体类型。

EntityCollection

实体记录的集合。

EntityReference

一种对象,其中包含唯一标识它的实体记录的名称、ID 和类型。 在选择 EntityReference 时,将启用下拉列表,使您可以选择实体类型。

Float

有小数精度的数值。 在数据来自不绝对精确的度量时使用。

Integer

整数。

Money

存储与金额有关的数据的值。

Picklist

代表 OptionSet 属性的一个选项的值。

String

文本值。

备注

EntityCollection 参数值不能在条件或操作的用户界面中设置。 这些参数是提供给开发人员在自定义代码中使用的。详细信息:创建自己的行动

添加阶段和步骤

操作是一种与实时工作流非常相似的流程类型。 可以在实时工作流中使用的所有步骤都可在操作中使用。 有关可以用于实时工作流和操作的步骤的信息,请参阅工作流阶段和步骤

除了可用于实时工作流的步骤以外,操作还有“分派值”步骤;该步骤类似于在对话框中设置变量或输入参数的步骤。 在操作中,这些步骤仅能用于设置输出参数。 可以使用窗体助理将输出参数设置为特定值,但设置的值更可能来自于对其运行操作的记录、与具有多对一关系的记录相关的记录、在之前步骤中创建的记录,也可以设置属于流程本身的值。

另请参阅

操作
从工作流或对话调用自定义操作
监视实时工作流和操作
创建和编辑流程
工作流过程
对话
业务流程
监视和管理工作流
创建自己的行动

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