【问题标题】:Trigger a plugin before a system exception is thrown在引发系统异常之前触发插件
【发布时间】:2019-06-05 06:30:21
【问题描述】:

我想让用户强制关闭机会。因此,我想在引发系统异常之前触发一个插件来关闭引号。

我想在报价仍然有效时强制关闭机会(如丢失)。因此,我想开发一个插件,当用户想要关闭机会时,它会关闭所有报价。

抛出的系统异常是: Image

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

【问题讨论】:

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


    【解决方案1】:

    我相信有两种方法可以解决这个问题。

    1. 从插件中,您可以在预验证阶段触发您的插件并检查所有报价是否已关闭。但我担心微软本身确实会检查预验证阶段,因此他们会抛出错误。不过你可以试一试。
    2. 现在如果第 1 步不起作用,我们该如何解决这个问题?我建议为关闭机会创建一个自定义按钮。然后通过这个自定义按钮触发一个插件(操作),它将检查所有活动报价是否已关闭。如果它们已关闭,则调用原始的 Microsoft (JavaScript) 调用,该调用将调用它自己的内部插件等。如果未关闭,则您可以提醒报价尚未关闭,您无法执行此操作。

    【讨论】:

      【解决方案2】:

      要在触发系统异常之前触发此插件(在这种情况下),请在 Opportunity entity 上的 Lose message 上注册它。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-20
        • 2015-03-08
        • 1970-01-01
        • 1970-01-01
        • 2016-07-12
        • 1970-01-01
        • 2020-01-11
        相关资源
        最近更新 更多