使用CRM 2011中的Windows资源管理器打开Sharepoint文件夹

时间:2013-07-16 09:05:13

标签: javascript sharepoint dynamics-crm-2011 webdav

我一直在努力解决这个问题, 并希望社区中的某个人可以提供解决方案。

我有一个要求是在CRM帐户表单上放置一个按钮,该按钮与Sharepoint文档库中的Open With Explorer按钮具有相同的逻辑。逻辑是必需的,因为用户必须进行多次单击才能到达此按钮,并在Windows资源管理器中打开所需帐户的文件夹,其中包括:

  1. 单击表单导航中的文档,打开SP集成
  2. 点击SP视图中的文档
  3. 点击图书馆
  4. 单击“使用资源管理器打开”按钮
  5. CRM与Sharepoint集成,当在Windows资源管理器中打开文件夹时,它具有以下示例链接

    的http:// {的SharePoint} / CRM / 7F9F72A1-4591-E011-AC6C-00155D773703 /文档/

    其中GUID 7F9F72A1-4591-E011-AC6C-00155D773703是CRM中的帐户ID。

    从我的研究中我发现实现这一目标的javascript函数是 来自Sharepoint中sp.js的 NavigateHttpFolder

    从此功能和此链接About Web Folder Behaviors 我已完成以下功能。

    var httpFolderDiv = document.createElement("SPAN");
    
    function NavigateToFolder() {
    
        document.body.appendChild(httpFolderDiv);
        httpFolderDiv.onreadystatechange = NavigateToFolder;
        httpFolderDiv.id = "navDiv";
        httpFolderDiv.addBehavior("#default#httpFolder");
        if (httpFolderDiv.readyState == "complete") {
            httpFolderDiv.onreadystatechange = null;
            var link = "";
            var account = "";
            var accountid = "";
            var id = Xrm.Page.data.entity.getId().replace("{", "").replace("}", ""); 
            link = "http://{sharepoint}/CRM/" + id + "/Documents/";
    
            try {
                 httpFolderDiv.navigateFrame(link, "_blank"); 
            } catch (c) {
                alert(c.toString());
            }
    
        }
    }
    

    此功能在Windows资源管理器中打开Sharepoint中的文件夹,但是如果之前只有该文件夹是从Sharepoint直接打开的话。 我相信我在代码中缺少的逻辑是,我没有做文件夹的映射,就像sharepoint那样。

    我知道这个文件夹可以手动映射为网络驱动器Connecting WebDAV Server Using Web folders,但这对我不起作用,因为必须在每个客户端上完成。

    我的问题是, 我如何通过从SP获取完整的逻辑,或者从javascript运行控制台命令来映射该文件夹,然后使用上述功能打开它。我对SP并不熟悉,所以请光临我。

    感谢。

1 个答案:

答案 0 :(得分:0)

我知道已经有一段时间了,因为已经发布了,但我在搜索完全相同的问题时偶然发现了它。

以下是SharePoint 2013中对我有用的内容:

<a href='#' onClick="javascript:CoreInvoke('NavigateHttpFolder', '[path to site]/[library name]/', '_blank');">
Click to open in Explorer
</a> 

它与SharePoints自身功能使用的功能基本相同。