【问题标题】:MS Dynamics CRM Plugin is not triggered with message "win" in case that a quote is successfully closed如果报价成功关闭,则不会使用消息“win”触发 MS Dynamics CRM 插件
【发布时间】:2018-08-29 08:53:46
【问题描述】:

环境是 Dynamics 365,当前版本。

我们有一个在赢得机会时触发的插件。一切都很好。但是还有另一种方法可以结束机会,那就是通过相关报价。

如果您在相关报价中并执行“创建订单”,您也有机会关闭机会。但在这种情况下,插件不会触发“win”消息。

我假设事件在链中太深而不会触发。 或者说这不是胜利事件,而是更新或某事。像这样。

有人遇到过这种情况吗?有意见吗?

Dot_NET Pro 问题更新:

有一些 if 条件可以从代码中解救出来。 第一个是:

    public void Execute(IServiceProvider serviceProvider)
    {
        IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        IOrganizationService organizationService = serviceFactory.CreateOrganizationService(null);

        if (context.MessageName.ToLower() != "win")
        {
            return;
        }

        var currentOpportunity = RetrieveCurrentOpportunity(serviceFactory, context, organizationService);
        if (currentOpportunity == null)
        {
            return;
        }

// More code comes here. 

第二个 if 进入具有此代码的方法:

    private Entity RetrieveCurrentOpportunity(IOrganizationServiceFactory serviceFactory, IPluginExecutionContext context, IOrganizationService organizationService)
    {
        Guid opportunityId = Guid.Empty;

        if (context.InputParameters.Contains("OpportunityClose") && context.InputParameters["OpportunityClose"] is Entity)
        { // ... more code here.

// else-case does nothing. 

【问题讨论】:

  • 你能分享你的插件代码吗?我相信插件已被触发,但由于某些情况,您的插件/逻辑未执行。
  • @Dot_NETPro:完成。谢谢你,兄弟。

标签: plugins dynamics-crm microsoft-dynamics


【解决方案1】:

通过在 UI 中创建订单来关闭机会不会触发实体机会上的获胜消息。显然,应用层在内部不使用WinOpportunityRequest。它只是执行相关机会的更新(属性实际值、实际关闭日期和关闭概率)。

在实体“机会”的update 消息上注册您的插件。

(当报价丢失时,应用层实际上确实在内部使用了LoseOpportunityRequest。)

【讨论】:

  • 谢谢,我试试看。
  • 谢谢,这正是问题所在。
猜你喜欢
  • 2018-04-11
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多