【问题标题】:Recognize record created from outlook/email in plugin识别插件中从 Outlook/电子邮件创建的记录
【发布时间】:2015-09-02 13:37:45
【问题描述】:

如果 CRM 客户端为 Outlook 自动创建新记录,我想在 mscrm 插件中执行一些操作。例如。它可以是联系人或从电子邮件创建的事件。

有没有办法检查这种情况?


当从 Outlook 中的电子邮件创建时,我们将联系人的名字和姓氏填反,并且事件没有填写 caseorigincode 字段。也许有更好的解决方法来解决这两个问题。但我仍然想知道最初的问题。

【问题讨论】:

    标签: c# plugins outlook dynamics-crm dynamics-crm-2015


    【解决方案1】:

    根据网上可用的资源,确实没有可靠的方法来解决这个问题。

    在 CRM 4 之前有属性 CallerOrigin。然后它被弃用,但继续工作了一段时间,如另一个答案 (https://stackoverflow.com/a/14812885/1474519) 中的状态。但它似乎在 CRM 2015 中不再起作用了。

    我找到了IsExecutingOfflineIsOfflinePlayback 的一些建议,但它确实没有解决问题。

    我还发现了检查此代码的提示HttpContext.Current.Request.Url.ToString();。这对我不起作用。

    我在这里找到了最完整的信息:http://blog.simpletrees.com/2012/03/executioncontextcallerorigin-in.html 根据这篇文章,我从我的表单(或通过 API、插件、工作流)在隐藏字段中发送一个值。由于从outlook创建记录时没有设置此字段,我可以识别出从outlook创建的记录。当然有问题,在导入记录或使用移动应用程序时可能没有设置此字段。但我没有看到更好的方法。

    因此,我开始请求 Microsoft Connect 添加此功能。你可以在这里投票:https://connect.microsoft.com/dynamicssuggestions/feedback/details/1776771

    【讨论】:

      【解决方案2】:

      您可以为联系人和事件添加属性以保存创建的来源。 然后添加一个插件来侦听实体的 Create 事件并将其注册为仅用于客户端(离线)执行。 或者您检查 IsExecutingOfflineIsOfflinePlayback 属性的 PluginExecutionContext 以检查创建是否从 Outlook 启动并存储适当的值。

      https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.ipluginexecutioncontext_members.aspx

      【讨论】:

      • 我认为这个问题与离线同步问题无关。插件上下文可能通过“深度”提供帮助,尽管它不那么可靠,因为深度增量可能来自许多来源
      猜你喜欢
      • 1970-01-01
      • 2023-01-23
      • 2022-08-04
      • 1970-01-01
      • 2012-12-05
      • 2013-11-25
      • 2010-11-20
      • 1970-01-01
      • 2010-09-28
      相关资源
      最近更新 更多