前言
我在 实施 MS Dynamics CRM 项目过程中,可以说是经常和 Action 打交道,但好像从未好好研究过,趁最近工作安排不多,着手搞搞它,顺便记录下来。
什么是 Action
Action 是 Dynamics CRM 中的一种扩展功能,允许我们定义自己的业务逻辑并将其与现有实体和流程关联。
通过自定义 Action,可以实现复杂的操作,如数据处理、计算、集成外部服务等。
为什么用 Action
Action 是 MS Dynamics CRM 2013 中的一项新功能。Action 为开发人员和构建业务逻辑的人提供了广泛的可能性。
因为在引入 Action 之前,开发人员实现业务流程的主要方式仅限于插件或自定义工作流活动(CodeActivity)。
Action 的调用方法
No. | 调用方法 |
---|---|
1 | 插件或工作流 调用 |
2 | JavaScript 调用 |
3 | From an integration with another system that uses the Microsoft Dynamics 365 web services |
4 | From a custom client application that uses the Microsoft Dynamics 365 web services |
Action 和 Plugin
不知道你是否和我一样,对该什么业务场景下使用 Action 或 Plugin 纠结,因为使用 Csharp 写自定义 Action 时,和 Plugin 一样,继承的也是 Microsoft.Xrm.Sdk
中的 IPlugin
接口,下面是我对这个问题的总结:
在 Dynamics CRM 中,Action 和 Plugin 都是扩展系统功能的重要工具,都有不同的用途和使用场景。
Action
- 定义: Action 是一种自定义的业务逻辑,可以通过调用来执行。它通常与用户界面交互,允许用户在工作流或通过代码直接调用。
- 用途:
- 允许传递参数和返回结果
- 适用于需要在用户界面或工作流中可调用的自定义功能
- 可以被工作流、JavaScript、其他 Action 或插件调用
- 场景:
- 需要让用户通过按钮直接调用的功能
- 当需要在工作流中使用自定义逻辑时
- 特点:
- 与工作流程或插件不同,Action 不必与特定实体相关联。可以定义可以自行调用的 “全局” 操作
Plugin
- 定义: Plugin 是一种在特定事件发生时自动执行的代码(如创建、更新、删除记录等)。它们可以在数据操作的前后触发。
- 用途:
- 适用于需要在特定事件发生时自动处理的逻辑。
- 可以用于数据验证、修改、日志记录等操作。
- 场景:
- 当需要在数据库操作之前或之后执行逻辑时。
- 不需要用户交互,且希望在后台自动处理的场景。
总结
- 使用 Action 当需要用户可直接调用的自定义功能,尤其是在工作流或界面交互时。
- 使用 Plugin 当要在特定事件(如记录创建或更新)发生时自动执行逻辑,尤其是在不需要用户干预的情况下。
感谢您的耐心阅读!来选个表情,或者留个评论吧!