【发布时间】:2014-11-12 18:05:44
【问题描述】:
我想将 CRM 2011 中的所有文档(从每个笔记和电子邮件,基本上我需要每个文档)连同本地 Windows 文件夹一起下载。
是否有自定义 C# 代码或 powershell 脚本来执行此操作?
如果有任何开源工具或付费工具可以做到这一点,请告诉我。
谢谢,
【问题讨论】:
我想将 CRM 2011 中的所有文档(从每个笔记和电子邮件,基本上我需要每个文档)连同本地 Windows 文件夹一起下载。
是否有自定义 C# 代码或 powershell 脚本来执行此操作?
如果有任何开源工具或付费工具可以做到这一点,请告诉我。
谢谢,
【问题讨论】:
您可以编写一段简单的代码来执行此操作。请参阅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);
}
}
}
【讨论】: