dynamics-crm - mscrm 动态中的自定义工作流与可配置工作流

标签 dynamics-crm

mscrm 动态中有两种类型的工作流可用。 1. 可配置的工作流程 2. 自定义工作流程。

我的问题:

  1. 在哪些场景中,我们使用自定义工作流程?
  2. 自定义工作流程与插件有何不同?

最佳答案

1) 您必须区分“自定义工作流步骤(=自定义工作流事件)”和“自定义 XAML 工作流”(只是为了完整性):

如果标准工作流步骤不符合您的需要并且您不能使用插件(见下文),则您可以使用自定义工作流事件(即用 c# 编写的自定义工作流步骤)。如果自定义工作流程步骤代表可以重复使用的通用功能,则它们特别有用。

如果要使用 Windows 工作流基础的全部功能而不是动态 crm 工作流设计器提供的限制子集,则可以使用自定义 XAML 工作流。您必须在 crm 之外(例如在 visual studio 中)开发自定义 XAML 工作流,然后将其部署到 crm 中。但请注意:您不能在 crm 中编辑它,也不能在 crm 云(=crm 在线)中使用自定义 XAML 工作流。您还必须在 crm 配置数据库中启用自定义 XAML 工作流(它们在默认情况下处于禁用状态)。

我建议不要使用自定义 XAML 工作流,因为它们没有很好地支持/集成到 crm 中,而且容易出错。请改用插件或自定义工作流事件的组合。另一种选择是编写一个连接到 crm 并从外部完成所需功能的 c# windows 服务。

2) 这取决于您使用的是 Dynamics 2011 还是 2013/online。在 2011 年,工作流始终是异步的。它们可以由触发器自动触发(例如创建实体)或由用户手动触发。在第一种情况下,它们在各自所有者的用户 ID 下运行,在第二种情况下,它们在启动工作流的用户的用户 ID 下运行。插件可以同步或异步运行,并且它们能够进行用户模拟。但它们不能直接由用户触发。工作流适用于长时间运行的有状态持久后台操作,插件适用于无状态的短期运行操作。 如果您使用的是 crm dynamics 2013,那么工作流也可以同步运行。

只有同步操作才能向用户显示错误消息。

关于dynamics-crm - mscrm 动态中的自定义工作流与可配置工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24290669/

相关文章:

javascript - GenerateAuthenticationHeader() 在 CRM 2013 中不起作用?

javascript - 如何使用JavaScript获取dynamic cm中的帐户名?

algorithm - Microsoft Dynamics CRM - 密码哈希算法

asp.net - CRM 2015 Linq Count() 查询 - 这是在枚举查询吗?

javascript - 在表单加载时设置 IFRAME 的 src,避免加载竞争

asp.net-web-api - CRM Web api 与过滤器一起扩展 - 内连接还是左连接?

javascript - 附加参数有什么用?

javascript - 使用以编程方式更改的自定义 FetchXML 创建图表

javascript - 无需修改/创建实体记录即可触发插件

linux - 我可以在 Ubuntu 上开发 Microsoft Dynamics 365 吗?