简体   繁体   English

本地 Dynamics CRM 2016 保存并关闭不返回打开页面

[英]On-prem Dynamics CRM 2016 Save & Close not returning to opening page

This is for CRM 2016 On-Prem.这适用于 CRM 2016 On-Prem。 We use IE 11 because of some crufty in-house "enterprise apps."我们使用 IE 11 是因为一些粗鲁的内部“企业应用程序”。

If a browsing session is opened by navigating to one of our applications first , and a user clicks on a link in that application that takes them to a CRM entity instance, we open that in a new tab ( <a href="..." target="_blank"> ).如果浏览会话被导航到我们的应用程序首先有一个人打开,并在该应用程序,将他们带到一个CRM实体实例的链接用户点击,我们打开一个新标签( <a href="..." target="_blank"> )。 When the user edits the entity and presses the Save & Close button, it closes the new tab and thus returns to our application.当用户编辑实体并按下“保存并关闭”按钮时,它会关闭新选项卡,从而返回到我们的应用程序。 This is the desired behavior.这是所需的行为。

However, we also access our applications via nav bar items on various entities such as Opportunities (FYI, PassParams="1" is set for these nav bar items, but I have tested with and without that specified on the nav bar item for the below demo page and it makes no difference).但是,我们还通过各种实体上的导航栏项目访问我们的应用程序,例如机会(仅供参考,为这些导航栏项目设置了PassParams="1" ,但我已经测试了在导航栏项目上指定和不指定的以下内容演示页面,它没有区别)。 So in that case, the sequence is:所以在这种情况下,顺序是:

  1. Open an entity instance in CRM, such as a specific Opportunity, perhaps from an Opportunity view or from a CRM dashboard.在 CRM 中打开实体实例,例如特定的商机,可能是从商机视图或从 CRM 仪表板。
  2. Click on the nav bar item, opening our custom application (either in a new tab or in an iframe on the same form - doesn't matter for this scenario).单击导航栏项目,打开我们的自定义应用程序(在新选项卡中或在同一表单的 iframe 中 - 对于这种情况无关紧要)。
  3. In our custom application, click on a link that opens a new tab to a different CRM entity instance to be edited, for example, a Contact.在我们的自定义应用程序中,单击一个链接,该链接会打开一个指向要编辑的不同 CRM 实体实例的新选项卡,例如,联系人。
  4. Edit the instance and hit Save & Close .编辑实例并点击Save & Close
  5. Instead of closing, the tab returns to either a list view of the entity in question (Opportunities, in this case), or, if the original instance in #1 was opened from a CRM dashboard, then returns to that dashboard.该选项卡不会关闭,而是返回到相关实体的列表视图(在本例中为机会),或者,如果 #1 中的原始实例是从 CRM 仪表板打开的,则返回到该仪表板。

Setting rel="noreferrer" on the anchor in our application to open the second CRM entity instance makes no difference.在我们的应用程序的锚点上设置rel="noreferrer"以打开第二个 CRM 实体实例没有任何区别。

To rule out anything in our custom applications I created the following web page, put it in its own web app, and created a new nav bar item on the Opportunity to open it.为了排除我们自定义应用程序中的任何内容,我创建了以下网页,将其放入自己的 Web 应用程序中,并在 Opportunity 上创建了一个新的导航栏项目以打开它。 We get the same behavior.我们得到相同的行为。 If I open the web page below directly by navigating to it and click the link, it opens the CRM entity in a new tab, and Save & Close closes that tab and returns me to the page below.如果我通过导航到下面的网页并单击链接直接打开它,它会在新选项卡中打开 CRM 实体,然后保存并关闭会关闭该选项卡并使我返回到下面的页面。 However, if I open this page via a nav bar item on an Opportunity and then click the link below, Save & Close keeps the new tab open and returns to the Opportunity list (because that's where I opened the Opportunity from).但是,如果我通过商机上的导航栏项目打开此页面,然后单击下面的链接,保存并关闭会保持新选项卡打开并返回商机列表(因为我从那里打开商机)。

<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>

Hopefully the above all makes sense and this is something stupid I am missing in the SDK documentation.希望以上所有内容都有意义,这是我在 SDK 文档中遗漏的愚蠢之处。

I would recommend you to keep the OOB “Save & Close” button for CRM behavior inside CRM platform.我建议您在 CRM 平台内保留用于 CRM 行为的 OOB“保存并关闭”按钮。 Create a new custom “Save & Close” button to achieve what you want from custom application.创建一个新的自定义“保存并关闭”按钮以从自定义应用程序中实现您想要的功能。 You can show/hide the OOB vs custom button using custom script display rule in Ribbon workbench.您可以使用功能区工作台中的自定义脚本显示规则显示/隐藏 OOB 与自定义按钮。

Platform is using some form hierarchy/breadcrumb technique to differentiate the embedded form flow vs pop-out form (you can pop out any entity record using angle arrow next to close x icon on top right).平台正在使用某种表单层次结构/面包屑技术来区分嵌入的表单流与弹出表单(您可以使用右上角的关闭 x 图标旁边的角度箭头弹出任何实体记录)。 That factor decides the layered form closure and landing in previous record form or list/Dashboard.该因素决定了分层表单的关闭和登陆之前的记录表单或列表/仪表板。 I tried to decode longtime back without success.我试图解码很长时间没有成功。

You may be aware of this - Anything you want to do with the internal library/method/function is unsupported.您可能知道这一点 - 不支持您想对内部库/方法/函数执行的任何操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM