【发布时间】:2019-12-09 19:00:29
【问题描述】:
这适用于 CRM 2016 On-Prem。我们使用 IE 11 是因为一些内部“企业应用程序”很糟糕。
如果通过导航到我们的一个应用程序首先打开浏览会话,并且用户单击该应用程序中的链接将他们带到 CRM 实体实例,我们会在新的选项卡 (<a href="..." target="_blank">)。当用户编辑实体并按下 Save & Close 按钮时,它会关闭新选项卡,从而返回到我们的应用程序。这是期望的行为。
但是,我们也可以通过各种实体上的导航栏项目访问我们的应用程序,例如机会(仅供参考,PassParams="1" 已为这些导航栏项目设置,但我已经测试了在导航栏项目上指定和不指定的情况下)下面的演示页面,它没有区别)。所以在这种情况下,顺序是:
- 在 CRM 中打开实体实例,例如特定的商机,可能从商机视图或 CRM 仪表板中打开。
- 单击导航栏项目,打开我们的自定义应用程序(在新选项卡中或在同一表单的 iframe 中 - 对于这种情况无关紧要)。
- 在我们的自定义应用程序中,单击一个链接,该链接会打开一个新选项卡,指向要编辑的不同 CRM 实体实例,例如联系人。
- 编辑实例并点击保存并关闭。
- 选项卡不会关闭,而是返回到相关实体的列表视图(在本例中为机会),或者,如果 #1 中的原始实例是从 CRM 仪表板打开的,则返回到该仪表板。
在我们的应用程序的锚点上设置 rel="noreferrer" 以打开第二个 CRM 实体实例没有任何区别。
为了排除我们自定义应用程序中的任何内容,我创建了以下网页,将其放入自己的网络应用程序中,并在机会上创建了一个新的导航栏项目以打开它。我们得到相同的行为。如果我通过导航到它并单击链接直接打开下面的网页,它会在新选项卡中打开 CRM 实体,保存并关闭会关闭该选项卡并将我返回到下面的页面。但是,如果我通过商机上的导航栏项目打开此页面,然后单击下面的链接,保存并关闭会保持新选项卡处于打开状态并返回到商机列表(因为那是我打开机会来自)。
<html>
<body>
<a href="http://crm/ourorg/main.aspx?etn=loan&extraqs=&id=deadbeef-dead-beef-dead-beefdeadbeef&pagetype=entityrecord" target="_blank">click me</a>
</body>
</html>
希望以上所有内容都有意义,这是我在 SDK 文档中缺少的一些愚蠢的东西。
【问题讨论】:
标签: dynamics-crm dynamics-crm-2016