dynamics-crm - 我什么时候为预验证阶段注册 crm 2011 在线插件?

标签 dynamics-crm dynamics-crm-2011 crm dynamics-crm-online

我知道为预验证注册的插件在数据库事务之外执行,但我不确定我能想到一个比预操作更可取的场景。有人可以举个例子说明预验证注册可能有用吗?

最佳答案

我们在 'PreValidation' 事件上注册了一些插件,尽管这是内部部署,而不是在线。

我自己没有编写这些特定的插件,但我可以描述一个并给出使用“PreValidation”而不是“PreOperation”的理由。

实体:账户

事件:删除

逻辑:插件运行预验证。检查是否没有联系人引用任何帐户的地址。如果找到,则停止执行。如果没有,请删除帐户。

例如

帐户“Stackoverflow”的地址为“Jeff Attwood's House”,联系人为“glosrob”。 'glosrob' 通过定制引用了'Jeff Attwood's House'。如果用户选择删除“StackOverflow”,我们应该检测到“glosrob”正在引用一个地址并阻止删除。

这背后的原因是开发人员发现在 PreOperation 阶段,删除的某些方面已经发生,即级联删除。插件的逻辑要求我们检查所有联系人 - 通过在 PreOperation 注册,帐户下的联系人已被删除,从而使检查过时。

在我们之前的场景中,当用户选择删除“StackOverflow”帐户时,将在插件运行之前删除“glosrob”联系人。因此,当插件之后运行时,它会允许删除。

与 CRM 中的大多数事情一样,这一切都归结为需求和解决方案,但我认为这可以让您了解为什么/何时可以使用预验证阶段。我们还有其他一些具有类似推理的人在“删除”事件上运行。

关于dynamics-crm - 我什么时候为预验证阶段注册 crm 2011 在线插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8336038/

相关文章:

c# - 分配查找值时出现 CRM 错误 属性值类型不正确 System.Int32

dynamics-crm-2011 - 我们可以在 ms 2016 中增加内联查找字段中 10 条记录的计数吗

c# - 如何避免在类之间传递上下文引用

javascript - 在保存操作之前获取记录的 guid

c# - 执行多重响应;如何从响应中读取和存储 Guid

javascript - D365 模态对话框 - 通过 JavaScript 关闭

dynamics-crm - 将按钮添加到帐户实体主页的功能区/命令栏

asp.net-mvc-3 - 如何让 MVC 与 Dynamics CRM 配合使用?

asp.net-mvc-4 - 如何使用 crm 2011 实现 mvc 4 项目

c# - 多个执行调用