在之前的博文中已经介绍如何用Microsoft Reporting Service制作报表,以及如何将制作好的报表发布到Dynamics CRM 2011 系统中。那么本文就来聊聊怎样快捷的调用我们制作好的报表吧。
正常情况下我们在Dynamics CRM 2011系统中浏览报表的步骤如下:
1.进入Dynamics CRM 2011系统
2.选择栏目“工作区”-->“报表”
3.找到我们需要浏览的报表
4.录入参数,并提交
5.显示结果
很多时候我们希望能快捷的浏览某个报表,比如点击个按钮就能调用报表并显示对应的结果。假如要完成这个需求,我们必须简化正常情况下浏览报表的前4个步骤。这样看来我们将要实现的程序必须具备如下功能:
1.知道用户当前浏览什么报表
2.能模拟用户输入和提交操作
我们看个小例子吧:
涉及的实体
市场活动
涉及的报表
CampaignDetail(需了解该报表的详细情况,请参阅博文《Dynamics CRM 2011编程系列(34):报表的制作(一)》 )
操作步骤
图1
图2
图3
图4
图5
图6
图7
图8
图9
图10
图11
图12
使用到的代码
function form_onload_1()
{
var navigate=document.getElementById("tab1Tab");
navigate.attachEvent("onclick",loadCampaignDetailReport);
}
function loadCampaignDetailReport()
{
var campaignId=Xrm.Page.data.entity.getId();
var reportPanel=Xrm.Page.getControl("IFRAME_CampaignDetail").getObject().contentWindow.document.getElementById("resultFrame").contentWindow;
var campaignIdInputDom=reportPanel.document.getElementById("reportViewer_ctl04_ctl04_txtValue");
var submitButton=reportPanel.document.getElementById("reportViewer_ctl04_ctl00");
campaignIdInputDom.value=campaignId;
submitButton.click();
小结
用这种方法加载报表不过瘾,下篇博文将分享一个工具:该工具将彻底解决报表的加载问题。