需要将CRM 2011中的所有文档下载到本地文件夹

时间:2014-11-12 04:11:27

标签: dynamics-crm-2011

我想从CRM 2011下载所有文档(从每个笔记和电子邮件,基本上我需要每个文档)以及本地Windows文件夹。

是否有自定义C#代码或powershell脚本来执行此操作?

如果有任何开源工具或付费工具,请告诉我。

谢谢,

1 个答案:

答案 0 :(得分:2)

您可以编写一段简单的代码来执行此操作。请参阅Exporting Annotation (Note) Attachment

public void ExportDocuments(IOrganizationService service, String filePath)
{
     String fetch = @"<fetch mapping='logical' count='100' version='1.0'>
          <entity name='annotation'>
               <attribute name='filename' />
               <attribute name='documentbody' />
               <attribute name='mimetype' />
          </entity>
     </fetch>";

     foreach (Entity e in service.RetrieveMultiple(new FetchExpression(fetch)))
     {
          if (!String.IsNullOrWhiteSpace(e.Attributes["documentbody"].ToString()))
          {
               byte[] data = Convert.FromBase64String(e.Attributes["documentbody"].ToString());

               File.WriteAllBytes(filePath + e.Attributes["filename"].ToString(), data);
          }
     }
}