本文档介绍了 MSCRM 的二次开发,特别是关于Plugin开发的流程和步骤,涉及到CRM系统中的事件执行管道(Pipeline)以及Plugin在不同阶段的执行时机。
在MSCRM中,二次开发的核心之一是利用Plugin来扩展系统功能。当在CRM中执行如表单提交等操作时,事件会由执行管道处理。管道执行过程中可以触发其他子管道,形成层级结构。每个管道的生命周期分为三个阶段:PreStage、ExecutingStage和PostStage。PreStage在用户点击保存前执行,ExecutingStage处理实际的数据保存到数据库,而PostStage则在事件执行完成后运行。
Plugin开发的关键是在PreStage或PostStage实现自定义逻辑。比如,若需要在创建Account时自动生成客户编号,可以编写一个Plugin,在Execute方法中设定实体的accountnumber属性,并通过CRM提供的注册工具将其注册到PreStage。如果要在Account创建后创建一个Task进行跟进,Plugin应注册到PostStage。
具体开发步骤如下:
1. 创建一个Class Library项目,引入必要的CRM SDK组件,包括`microsoft.crm.sdk.dll`和`microsoft.crm.sdktypeproxy.dll`。
2. 实现`IPlugin`接口,这是Plugin的基础,需要实现`Execute`方法。此方法在管道执行时会被调用,可能采用同步或异步方式。开发者在这里编写自定义逻辑。
3. 对Plugin进行强签名,以确保其安全性和可识别性。这一步通常需要设置一个签名密码。
4. 注册Plugin和Step。在注册过程中,需要指定消息类型(Message),例如对于创建Account的操作,消息类型应设置为`create`。此外,还需要指定PrimaryEntity(主实体)和Event Pipeline Stage(事件管道阶段),确保Plugin在正确的时间点触发。
通过这些步骤,开发者可以有效地在MSCRM中集成自定义业务逻辑,增强系统的功能和适应性。Plugin开发允许灵活地响应各种系统事件,从而满足企业的特定需求。