CRM 2013 自动发送报表

Sql Server Report非常强大,导出不同格式的文档,比如work 或者excel都可以委托Reporting先做报表开发然后再在程序中调用生成指定格式的报表推送给用户,CRM也是集成了Reporting的强大功能。前些天遇到一个朋友请教一个功能说如何样利用报表订阅功能推送周报表,查询资料后可以配置Reporting订阅的功能来实现,可是局限于自己的reporting报表配置能力没有配送成功。最后又回到程序员的角度来考虑自己写程序来实现这个功能。

核心功能就是生成指定报表。将生成的报表附加到电子邮件上,然后发送给到相关人员。

1 生成报表,报表可以通过URL指定生成的格式,传给指定参数

  var url = "http://reportServer/ReportServer?%2fTeachNet_MSCRM%2f%E5%91%A8%E6%8A%A5&rs:Command=Render&rs:format=excel";

            NetworkCredential nc = new NetworkCredential(userName, password, domain);
            var path = @"c:\file.xls";

            string weekname = string.Format("周报-{0}", DateTime.Now.ToShortDateString());

            var handler = new HttpClientHandler { Credentials = nc };

            HttpClient client = new HttpClient(handler);
            client.DefaultRequestHeaders.Add("Authorization", key);

            var betys = client.GetByteArrayAsync(url).Result;

2 创建电子邮件,指定发件人,收件人,主题,内容

 Email createEmail = new Email()
            {

                Subject = weekname,
                Description = "这是这周的周报请查收",

                From = new List<ActivityParty>() { new ActivityParty() { PartyId = new ContextCurrentUser().Current } },
                To = new List<ActivityParty>() { new ActivityParty() { PartyId = new ContextCurrentUser().Current } },

            };
            var id = _orgService.Create(createEmail);

3 创建电子邮件附件

   ActivityMimeAttachment _sampleAttachment = new ActivityMimeAttachment
            {
                ObjectId = new EntityReference(Email.EntityLogicalName, id),
                ObjectTypeCode = Email.EntityLogicalName,
                Subject = weekname,
                Body = System.Convert.ToBase64String(
                       betys),
                FileName = String.Format("周报报表.xls")
            };
            _orgService.Create(_sampleAttachment);

4 发送邮件

  SendEmailRequest sendEmailreq = new SendEmailRequest
            {
                EmailId = id,
                TrackingToken = "",
                IssueSend = true
            };

    SendEmailResponse sendEmailresp = (SendEmailResponse)_orgService.Execute(sendEmailreq);
时间: 2025-01-08 08:56:38

CRM 2013 自动发送报表的相关文章

Dynamic CRM 2013学习笔记(十五)报表入门、开发工具及注意事项

本文是关于CRM 2013报表开发入门介绍,包括开发工具的使用,以及不同于普通Reporting service的相关注意事项.   一.CRM报表简介 报表有两种,SQL-based报表和Fetch-based报表,区别如下: 区域 SQL-based 报表 Fetch-based 报表 Data Provider <DataProvider> 元素的值设置为SQL. 示例如下:<DataProvider>SQL</DataProvider> 报表RDL文件中的 &l

Dynamic CRM 2013学习笔记(二十六)Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数可以多选或全选:动态地显示列,列不是固定的:根据某一字段的值来动态地显示整行字体的颜色. 下面介绍详细的方法: 一.动态参数.参数多选全选 动态参数: 首先定义一个Dataset: SELECT DISTINCT new_countryId, new_codename AS name FROM ne

Dynamic CRM 2013学习笔记(二十九)reporting service 常见问题

在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常我们想把一条记录放在一页,下一条记录另起一页,而不是紧连在上一条记录的后面:有时我们还会出现上传报表时报错:An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the repor

Microsoft Dynamic CRM 2013安装

Microsoft Dynamic CRM 2013安装 Dynamic CRM可以和Exchange整合,通过CRM主页给用户收发邮件,和Lync整合做呼叫中心,通过CRM主页给客户打电话和视频会议,和sharepoint整合,通过CRM主页客户资料可以放到文档库... ... 既然Dynamic CRM有这么多优点,那我们马上动手吧,下面开始切入主题,开始我们的Dynamic CRM安装之旅. 在安装前,先看一下SQL配置管理,将相关的服务打开.(由于在虚拟机里,许多服务需要时才会打开,像R

为了免费拿到微软的年底发布会的门票,只有厚着脸皮再写些 Microsoft Dynamics CRM 2013文章分享了

奔跑中的2015, 为了免费拿到微软的每年年底发布会的门票和IT相关的证书,没有办法,本人大专学历太低,最近本人所以在的城市政府有人才奖厉计划,就因要求本科及以上学历,都跟本人无缘了,所以只有厚着脸皮再写些 Microsoft Dynamics CRM 2013文章分享了,争取能在微软得到证书,肯定自已了. 前几个月在家里找到2012年的一张微软北京技术大会的门票,想想今年应该写点什么技术文章,再免费参加一次会议吧,想想写什么方面的呢,微软的office,server,数据库等专家太多了,写不过

Dynamic CRM 2013学习笔记(四十一)流程4 - 异步工作流(Workflow)用法图解

在CRM 2013 里,工作流被分成二类:异步工作流和实时工作流.异步工作流依赖一个windows 服务: Microsoft Dynamics CRM Asynchronous Processing Service , 这个服务必须在CRM 服务器上运行,否则异步工作流不会运行.异步工作流有可能不会立即执行,如果想要立即执行的工作流,可以考虑用实时工作流.CRM 里把它当作实体,所以可以在高级查找里查找它,还可以基于它生成报表.下面详细介绍如何使用异步工作流. 为了使用工作流,要注意权限是否打

Dynamics CRM 2013 SP1 升级到Dynamics CRM 2015

首先截图一下我要升级的Dynamics CRM 2013版本如下图,可以看到是打了SP1后的CRM 2013. 运行CRM 2015简体中文版的安装文件CRM2015-Server-CHS-amd64.exe,解压后提示如下: 囧,看了下没有这个名叫Microsoft Dynamics CRM Connector for SQL Server Reporting Services的程序啊,我猜应该是Dynamics CRM Reporting Extensions,果然下载这个以后,安装就没有报

微软Dynamics crm 2013升级2015(一)提前准备及补丁

微软Dynamics crm 2013升级2015 之前,要把CRM 2013的补丁安装好,才能安装2015的安装包 主要要装以下的补丁: 1. kb2941390 2. kb2963850 3. kb3016464 kb2941390 kb2963850 kb3016464 安装完成了. 注:所有的安装程序在微软官方可以下载到.

微软Dynamics crm 2013升级2015(二)正式安装2015安装包升级

以下为2015版本的详细安装过程 出错了,不过重启一下,就可以下一步了. 注: 安装时电脑一定要联上互联网,否则安装不能成功的. 联网下载中 虽然有6个警告,不过是可以下一步的. 因为笔者的电脑性能不好,所有的应用都装在一台电脑上. 打开 开始 菜单 ------ Microsoft Dynamics CRM 部署管理器 . 可以看到版本为7.0开头,为2015版本:如果是6.0 ,那就是CRM 2013. 上图 关于CRM 对话框中所示,版本正式为 2015了.