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);
CRM 2013 自动发送报表的更多相关文章
- Microsoft Dynamics CRM 2013 安装 报表服务出现“ SQL Server Reporting Services 帐户是本地用户且不受支持 ”错误的解决方法
安装好CRM 2013 之后,还需要安装报表服务,发现出现:SQL Server Reporting Services 帐户是本地用户且不受支持,具体如下图: 经过分析原来发现是需要用域用户,打开对应 ...
- Dynamic CRM 2013学习笔记(十五)报表设计:报表入门、开发工具及注意事项
本文是关于CRM 2013报表开发入门介绍,包括开发工具的使用,以及不同于普通Reporting service的相关注意事项. 一.CRM报表简介 报表有两种,SQL-based报表和Fetch-b ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- Dynamic CRM 2013学习笔记(二十九)报表设计:reporting service 报表开发常见问题
在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有:再就是分页问题,经常 ...
- Dynamics CRM 2013 报表开发:安装开发工具
最近项目需要开发报表,顺便看了下,首先需要配置开发环境.需要的工具为: 1.Business Intelligence Development Studio 可下载Sql Server 的安装包,选择 ...
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
- Dynamic CRM 2013学习笔记(四十一)流程4 - 异步工作流(Workflow)用法图解
在CRM 2013 里,工作流被分成二类:异步工作流和实时工作流.异步工作流依赖一个windows 服务: Microsoft Dynamics CRM Asynchronous Processing ...
- Dynamics CRM 2013 SP1 升级到Dynamics CRM 2015
首先截图一下我要升级的Dynamics CRM 2013版本如下图,可以看到是打了SP1后的CRM 2013. 运行CRM 2015简体中文版的安装文件CRM2015-Server- ...
- Microsoft Dynamics CRM 2013 安装过程图解及安装序列号
Microsoft Dynamics CRM 2013 安装过程 图解 在安装前,先持一下SQL配置管理,将相关的服务打开.(由于在虚拟机里,许多服务需要时才会打开,像Reporting Serv ...
随机推荐
- 轻松自动化---selenium-webdriver(python) (五)
本节要解决的问题: 层级定位 场景: 假如两个控件,他们长的一模样,还都叫“张三”,唯一的不同是一个在北京,一个在上海,那我们就可以通过,他们的城市,区,街道,来找到他们. 在实际的测试中也经常会遇到 ...
- java实现将汉字转为拼音
有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只是负责将其转换,在main方法中测 ...
- GIF录制神器GifCam
前几天偶然看到一款神器:GifCam! GifCam是什么? 一款录制gif动画图片的小软件,小到不足一兆. 使用方法(简单到不可思议) 百度 GifCam 下载: 不用安装,直接打开gifcam: ...
- angularjs中 *.min.js.map 404的问题
初次使用AngularJS,在chrom调试的时候,出现如下问题: GET http://localhost:63342/luosuo/visitor/js/lib/angular-animate.m ...
- Laravel4中的Validator
不管写接口还是写web页面,实质都是传入参数,然后进行业务逻辑,然后再输出具体内容.所以,对参数的验证是不可避免的一个环节,比如传过来的email是不是为空,是不是合法的email格式?laravel ...
- vim黏贴自动增加tab的毛病
vim在ctrl + p的时候有可能会自动给你增加了个tab 很是郁闷 解决方法如下: :set noautoindent :set nosmartindent
- 【原创】Windows平台搭建Kafka源代码开发环境(Eclipse版本)
最近在研究Kafka源代码,需要自己搭建一个开发环境.官网上给出的提示略显简单,照着做了一遍也碰到了一些问题.特此记录下来. 开发环境: Oracle Java 1.7_u71 + Eclipse 4 ...
- 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸
[源码下载] 背水一战 Windows 10 (3) - UI: 窗口全屏, 窗口尺寸 作者:webabcd 介绍背水一战 Windows 10 之 UI 窗口全屏 窗口尺寸 示例1.窗口全屏UI/F ...
- 【Java每日一题】20161121
package Nov2016.use01; class Test { public String getString(){ return "123"; } } package N ...
- ServletContext中常用方法介绍
一..获取Tomcat的Context的初始化参数.1.获取Tomcat的server.xml中设置Context的初始化参数.例如: <Context path="/testcont ...