【问题标题】:Add document sharepoint using web service Microsoft Dynamics CRM使用 Web 服务 Microsoft Dynamics CRM 添加文档共享点
【发布时间】:2016-02-15 09:04:26
【问题描述】:

我在我的 Microsoft Dynamics CRM 中有一个帐户实体,并且我拥有的每个帐户 Sharepoint 中的文件夹 都包含我要创建应用程序的该帐户的文档在 c# 上使用 Web Services CRM IOrganizationService 在 SharePoint 中添加文档。
有可能吗?
请提供任何链接。
我需要帮忙。
提前感谢

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm crm dynamics-crm-2013 dynamics-crm-online


    【解决方案1】:

    从您的问题中了解到,您已经在 CRM Document Management System 中设置了 SharePoint。您必须在Document Management Settings 中启用Document Location for Accounts。现在您要将Create/Upload 文件发送到Sharepoint Library。你可以使用Sharepoint: Client Side Object Model(CSOM) 来做到这一点。我有一段代码可以在 sharepoint 中创建文档:

    //Main Section Code
    string sharePointUrl = GetDefaultSPSiteUrlFromCRMSiteCollectionEntity();
    SharePointMethods sharePointMethods = new SharePointMethods(sharePointUrl, spUsername, spPassword, spDomain);
    
    ClientContext context = sharePointMethods._clientContext;
    Web web = sharePointMethods._clientContext.Web;
    FileCreationInformation newFile = new FileCreationInformation();
      newFile.Content = System.IO.File.ReadAllBytes(newTempCRFDocumentFile);
      newFile.Url = sharePointFolder.ServerRelativeUrl+ CRFfileGeneratedName;
      newFile.Overwrite = true;
      List docs = web.Lists.GetByTitle("Account");
      Microsoft.SharePoint.Client.File uploadFile = sharePointFolder.Files.Add(newFile);
      context.ExecuteQuery();
    

    辅助函数:

    internal string GetDefaultSPSiteUrlFromCRMSiteCollectionEntity()
        {
            try
            {
                ConditionExpression c = new ConditionExpression("isdefault", ConditionOperator.Equal, true);
                FilterExpression f = new FilterExpression(LogicalOperator.And);
                f.Conditions.Add(c);
    
                QueryExpression q = new QueryExpression("sharepointsite");
                q.Criteria = f;
                q.ColumnSet = new ColumnSet("sharepointsiteid", "name", "absoluteurl", "relativeurl", "isdefault", "parentsite");
    
                EntityCollection crmSites = GRID.CRM.Common.Common.RetrieveMultiple(q);
                if (crmSites.Entities.Count > 0)
                {
                    Entity defaultSharePointSite = crmSites.Entities[0];
                    if (defaultSharePointSite.Attributes.Contains("parentsite") && defaultSharePointSite.Attributes.Contains("relativeurl"))
                    {
                        Entity parentSiteOfDefaultSite = GRID.CRM.Common.Common.RetrieveSingle("sharepointsite", ((EntityReference)defaultSharePointSite["parentsite"]).Id);
                        return (string)parentSiteOfDefaultSite["absoluteurl"] + "/" + defaultSharePointSite.GetAttributeValue<string>("relativeurl");
                    }
                    else
                    {
                        return defaultSharePointSite.GetAttributeValue<string>("absoluteurl");
                    }
                }
                // no SharePoint Sites defined in CRM
                throw new Exception("CRM does not have any default SharePoint Sites");
            }
            catch (Exception ex)
            {
                throw new Exception("CrmMethods -> GetDefaultSPSite (" + ex.Message + ")");
            }
        }
    
    
    internal class SharePointMethods
    {
        string _siteUrl;
        public ClientContext _clientContext;
        internal SharePointMethods(string spSiteUrl, string spUsername, string spPassword, string spDomain)
        {
            try
            {
                _siteUrl = spSiteUrl;
                _clientContext = new ClientContext(_siteUrl);
    
                _clientContext.Credentials = new System.Net.NetworkCredential
                    (spUsername, spPassword, spDomain);
            }
            catch (Exception ex)
            {
                throw new Exception("SharePointMethods.Constructor --> [" + ex.Message + "]");
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 2014-06-14
      • 2017-07-05
      • 2023-03-09
      相关资源
      最近更新 更多