在引发系统异常之前触发插件

时间:2019-06-05 06:30:21

标签: c# plugins dynamics-crm microsoft-dynamics

我希望使用户能够强制关闭机会。因此,我想在引发系统异常之前触发插件以关闭引号。

我想在报价仍处于活动状态时强制关闭机会(如“迷失”)。因此,我想开发一个插件,当用户想关闭机会时,它将关闭所有引号。

引发的系统异常是: Image

我已经尝试了几条消息,但是它们都未能在引发系统异常之前触发插件。

2 个答案:

答案 0 :(得分:0)

我相信您可以通过两种方式解决此问题。

  1. 从插件中,您可以在预验证阶段触发插件,并检查所有引号是否已关闭。但是,恐怕Microsoft本身确实会在预验证阶段进行检查,因此它们会引发错误。但是您可以尝试一下。
  2. 现在,如果第1步不起作用,我们如何解决此问题?我建议创建一个自定义按钮以获取机会。然后通过此自定义按钮触发一个插件(操作),该插件将检查所有活动引号是否已关闭。如果它们是关闭的,则调用原始的Microsoft(JavaScript)调用,该调用将调用它自己的内部插件,依此类推。如果尚未关闭,则可以发出一个警告,指出报价尚未关闭,您将无法执行此操作。

答案 1 :(得分:0)

要在触发系统异常之前(在这种情况下)触发此插件,请在机会实体上的丢失消息上注册它。

此外,请记住,您不能使用context.Inputparameters["Target"]。相反,您应该使用context.InputParameters["OpportunityClose"],这是我的错误。