kee*_*erz 4 crm dynamics-crm dynamics-crm-2011 dynamics-crm-online
我知道注册用于预验证的插件在数据库事务之外执行,但我不确定我是否可以想到这种情况比预操作更可取.有人能举例说明预验证注册可能有用吗?
glo*_*rob 14
我们在'PreValidation'事件中注册了一些插件,尽管这是在本地,而不是在线.
我自己并没有写这些特定的插件,但我可以描述一个并给出使用'PreValidation'而不是'PreOperation'的理由.
实体:账户
事件:删除
逻辑:插件运行预验证.检查没有联系人引用任何帐户的地址.如果找到任何,请停止执行.如果没有,请删除帐户.
例如
账户'Stackoverflow'的地址是'Jeff Attwood's House'和联系'glosrob'.'glosrob'通过定制引用'Jeff Attwood's House'.如果用户选择删除"StackOverflow",我们应该检测到'glosrob'正在引用一个地址并阻止删除.
这背后的原因是开发人员发现在PreOperation阶段,删除的某些方面已经发生,即级联删除.插件的逻辑要求我们检查所有联系人 - 通过在PreOperation注册,帐户下的联系人已被删除,使检查过时.
在我们之前的场景中,当用户选择删除"StackOverflow"帐户时,联系人'glosrob'将在插件运行之前被删除.因此,当插件之后运行时,它将允许删除.
与CRM中的大多数事情一样,这一切都归结为需求和解决方案,但我认为这可以让您了解为什么/何时可以使用PreValidation阶段.我们还有一些其他类似的推理在"删除"事件上运行.
| 归档时间: |
|
| 查看次数: |
6773 次 |
| 最近记录: |