【问题标题】:How entity edit URL from within plug-in in MS Dynamics CRM 4.0如何从 MS Dynamics CRM 4.0 的插件中编辑 URL
【发布时间】:2010-04-10 01:50:10
【问题描述】:

我想让工作流创建一个任务,然后通过电子邮件向分配的用户发送新任务,并在电子邮件正文中包含指向新创建任务的链接。我有客户端代码,可以使用实体 GUID 正确创建编辑 URL,并将其存储在自定义属性中。但是,当从工作流中创建任务时,客户端脚本不会运行。

所以,我认为插件应该可以工作,但我不知道如何确定 CRM 安装的 URL。我是在测试环境中创作的,并且绝对不想在进入生产环境时进行更改。我确定我可以使用配置文件,但似乎插件应该能够在运行时解决这个问题。

谁知道如何从插件中访问 c​​rm 服务的 URL?还有其他想法吗?

【问题讨论】:

    标签: dynamics-crm


    【解决方案1】:

    没有简单的方法可以做到这一点。但是,有一个。

    MSCRM_Config 是处理物理部署属性的部署数据库,例如用户访问 CRM 部署的 URL。您可能想要的 url 是存储在 MSCRM_CONFIG.dbo.DeploymentProperties 表中的“ADWebApplicationRootDomain”中的那个。您可能需要一些权限才能访问此数据库。

    请注意,这在面向 Internet 的部署中不起作用。

    另一种方法是查询发现服务以检索相同的信息(如果您使用的是 MSCRM4 的在线版本)。

    【讨论】:

    • 为了澄清你的意思,URL 在表格中,但前提是我不使用 IFD?我还没有尝试过 IFD,但我认为它将面向互联网的部署添加到了现场部署中。 IE。两者都有效。这是不正确的吗?
    • 问题是如果您使用IFD部署CRM,从Internet访问时URL应该是orgname.dnsprefix.company.com。但是将存储在 CRM 中的是 internalservername,并且无法从 Internet 访问...
    • 好的,所以内部 URL 仍然可以使用,但该 URL 不适用于 IFD 用户。这(不幸)是有道理的。谢谢
    【解决方案2】:

    “改变事物”是什么意思?

    如果您创建自定义工作流程序集,您可以为其提供服务器 url 输入。将其注册到 CRM 后,您只需在配置工作流程时输入服务器 url。迁移到生产环境后,您必须更新使用自定义工作流程序集的任何工作流的 url,但您只需执行一次。

    如果这是您想要避免的,我深表歉意。

    编辑:听起来您可以在注册插件时使用 CustomConfiguration 属性。这里有更多信息。

    http://blogs.msdn.com/crm/archive/2008/10/24/storing-configuration-data-for-microsoft-dynamics-crm-plug-ins.aspx

    【讨论】:

    • 很高兴知道,但我使用的是插件,而不是自定义工作流活动。我需要能够将 URL 插入到作为特定实体链接的电子邮件正文(sendemailactivity)中。
    【解决方案3】:
    String Url = ((string)(Registry.LocalMachine.OpenSubKey(
                                 "Software\\Microsoft\\MSCRM").GetValue("ServerUrl"))
                  ).Replace("MSCRMServices", "");
    

    【讨论】:

      猜你喜欢
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多