在MS Dynamics 365表单上显示SharePoint文档子网格

时间:2017-09-07 20:31:55

标签: sharepoint dynamics-crm dynamics-crm-online dynamics-crm-2016 dynamics-365

我需要在MS crm Dynamics 365自定义实体表单上显示SharePoint文档子网格。

任何人都可以告诉我,如何使用支持或不支持的方式实现此目的?

3 个答案:

答案 0 :(得分:2)

这就是我在D365中的表现。 (使用Chrome更容易)

  1. 启用实体的文档管理

  2. “文档”选项卡显示时  为实体记录打开它。

  3. 然后打开Chrome开发控制台(F12)

    抓住面板(实际上是一个iframe)来源。 URL的格式为:

    Application.Workbooks(ThisWorkbook.Name()).Sheets('somesheet‌​') made it up
    
  4. 使用适当的值替换源URL中的虚线值 并使URL完全限定前缀为root。

  5. 确保不在值中使用任何硬编码的GUID或ID。通过这种方式,可以在需要时轻松重复使用。

答案 1 :(得分:1)

简而言之:服务器到服务器集成方法在crm网格中显示物理文档。不需要iframe解决方案。

旧学校列表组件集成有一个限制,它在crm网格中显示文档位置crm记录,因此您需要iframe解决方案来显示来自Sharepoint的物理文档。

[适用于基于服务器的集成] - 它将在网格中显示文档。

打开要显示SharePoint文档库的实体Web表单。

  1. 单击“插入”选项卡,单击“子网格”,指定子网格的名称
  2. 在“数据源”部分,从“记录”下拉列表中选择“仅相关记录”
  3. 在“实体”下拉列表中选择“文档位置(关注)”
  4. 从默认视图部分[如下图所示]
  5. 中选择“活动文档位置”
  6. 单击“设置”。单击“保存”然后发布自定义
  7. enter image description here

    Reference

    更新 [适用于列表组件集成]
    关联视图将显示我们想要的内容,但是子网格不能按预期工作。经过研究,这是产品限制。 Read more

      

    有时希望对与记录相关联的文档进行“一目了然”的观察。要在SharePoint中查看与记录相关的文档,用户必须导航到表单外部的相关实体区域。 (类似于Connection或其他相关实体)

         

    对于大多数相关实体,可以在表单中使用子网格在表单上立即显示关系,但文档没有简单的解决方法。

    另一种选择是在IFRAME中显示关联视图。

    修改: 在最新的Dynamics 365中,不推荐使用使用List组件进行CRM + Sharepoint集成。唯一的方法是基于服务器到服务器(S2S)的CRM + Sharepoint集成是可能的。这种S2S方法显示了相关网格和文档中的文档。 subgrid,而不是List组件中的doc位置。 CRM - Sharepoint包装器负责从CRM FetchXML到SP CAML查询和转换的转换。给我们想要的结果。

    enter image description here

      

    通过CRM查询文档的好处就在于您   可以像您一样创建文档的自定义视图   CRM中的任何其他实体。使用列表组件时的默认值   SharePoint中的视图在IFRAME中呈现,意味着要获得新视图   列必须具有SharePoint上的列表自定义权限   这样所有用户都会看到这些变化。用新服务器来   服务器集成,您可以选择要包含的SharePoint列   您自己的观点,甚至使用CRM进展添加您自己的过滤器   找到界面。

    Read more

答案 2 :(得分:1)

您可以找到解决方案here

您可以使用以下代码行设置Iframe网址以在iframe中显示子网格:

Xrm.Page.getControl("IFRAME_Documents").setSrc(Xrm.Page.context.getClientUrl() + "/userdefined/areas.aspx?formid=" + CurrentFormId + "&inlineEdit=1&navItemName=Documents&oId=%7b" + recordId + "%7d&oType=" + oTypeCode + "&pagemode=iframe&rof=true&security=852023&tabSet=areaSPDocuments&theme=Outlook15White");

其中:

“IFRAME_Documents”是Iframe名称。

“CurrentFormId”=您可以使用Xrm.Page.ui.formSelector.getCurrentItem().getId().replace("{", "").replace("}", "");

获取当前所选的表单ID

“recordId”=记录的GUID

“oTypeCode”=您可以使用Xrm.Page.context.getQueryStringParameters().etc;

获取的实体类型代码