平时,我们制作SSRS Report的方法主要有两种:使用Query或RDP。如果需要为报表传递参数,就要在代码中为报表参数赋值,然后在代码中调用报表。下面我总结下这两种报表在代码中传参和调用的方式:

1、使用Query作为报表数据源

1.1、Dynamic Filters属性

在VS中,需要注意Report DataSourceDynamic Filters属性。

1.1.1、如果Dynamic Filters属性为True的话,会在Report Parameter中生成一个叫做DS_DynamicParameter的参数。

并在Report Preview时,生成一个Select Button,用于配置Report Parameter

1.1.2、如果Dynamic Filters属性为False的话,会将AOT Query Range中的参数,一个一个添加到Report Parameter中。比如我的AOT Query Range中有4Parameter,那么在Report Parameter中就自动添加四个相应的参数:

并在Report Preview时,生成4TextBox,用于输入Report Parameter

1.2、如何在X++ 代码中调用这种类型的报表

Reinhard这里将前面的Dynamic Filters属性为False。然后在代码中这样写:

SrsReportRunController controller;
controller=new SrsReportRunController();
controller.parmReportName(ssrsReportStr(YourSSRSReportName,YourReportDesignsName));
if(controller.parmReportContract().parmRdlContract())
{
controller.parmReportContract().parmRdlContract().setValue('DS_PersonnelNumber','PersonnelNumber0101');
}
controller.parmDialogCaption('DialogCaption');
controller.startOperation();

2、RDP Report

如果使用RDP报表,也将之前提到的Dynamic Filters属性设为False。然后在代码中这样写:

SrsReportRunController controller;
YourReportDataContract contract;
controller=new SrsReportRunController();
controller.parmReportName(ssrsReportStr(YourSSRSReportName, YourReportDesignsName));
contract=controller.parmReportContract().parmRdpContract() as YourReportDataContract;
contract.YourParameter('YourParameterValue010101101');
controller.parmDialogCaption('DialogCaption');
controller.startOperation();

Dynamics AX 2012 R2 从代码中调用SSRS Report的更多相关文章

  1. Dynamics AX 2012 R2 如何处理运行时间较长的报表

    当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX ...

  2. Dynamics AX 2012 在BI分析中建立数据仓库的必要性

    AX系统已有的BI分析架构 对于AX 的BI分析架构,相信大家都了解,可以看Reinhard之前的译文[译]Dynamics AX 2012 R2 BI系列-分析的架构 . AX 的BI分析架构的优势 ...

  3. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

  4. Dynamics AX 2012 R2 电子邮件广播错误 0x80040213

    Dynamics AX 2012 R2 电子邮件广播错误 0x80040213 今天Reinhard在新环境做邮件广播测试时,发现无法发送邮件,并报以下错误: 类"CDO.Message&q ...

  5. Dynamics AX 2012 R2 安装额外的AOS

    众所周知,AX系统分为三层:Client,Application Server,Database Server. 我们添加额外的Application Server主要是出于以下两个原因: 使用多台服 ...

  6. Dynamics AX 2012 R2 堆栈跟踪:不能对客户端调用'unchecked'

    有一个Custom Service一直在正常使用.今天,Reinhard尝试在JOB中以X++代码Debug Custom Service的Method时,收到以下错误提示: 'unchecked' ...

  7. Dynamics AX 2012 R2 外部程序运行在没有AD的环境(如PDA) 调用AX服务

        Reinhard对这个问题研究了很久,也查了一些资料,整理了三种解决方案. 1.准备一台虚拟机A,A加入到了AD活动域,可以操作AX. PDA以远程桌面的方式,连接到虚拟机A. 在虚拟机上运行 ...

  8. Dynamics AX 2012 R2 SSRS报表在VS2010中预览没有数据

    今天,Reinhard 在VS中制作SSRS报表,预览的时候发现显示不出数据. 仔细检查了数据处理环节和临时表里的数据,都发现没有问题. 用同事的账号登陆同样的开发环境,发现他的账号可以在VS中预览到 ...

  9. Dynamics AX 2012 R2 业务系列-销售业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...

随机推荐

  1. winform对话框控件

    (1)ColorDialog     用户自定义颜色控件 点击颜色按键,改变richTextBox1中字体的颜色 private void button1_Click(object sender, E ...

  2. webService 部署以后参数输入框不能显示

    在<system.web> 标签下面加入这个 <system.web> <webServices> <protocols> <add name=& ...

  3. 对Oracle10g rac ons服务的一些理解

    1.什么是ONS ONS(Oracle Notification Service)是Oracle Clusterware 实现FAN Event Push模型的基础.     在传统模型中,客户端需要 ...

  4. MyISAM表加字段的特殊方法

    最近一个统计系统的大表需要加字段,表的引擎是myisam,表大小在3亿,物理文件在106G.想想都蛋疼.那么这种情况下怎么把字段撸上去呢? 1. 首先想到了<高性能MySQL>提到的直接更 ...

  5. BizTalk开发系列(十) ESB Guidance安装笔记

    ESB指导工具包(ESB Guidance)是一个运行于BizTalk Server 2006 R2之上的一个框架.详细信息访问ESB指导工具包社区网站 .源码下载 ESB Guidance的安装过程 ...

  6. 【iCore3 双核心板_FPGA】实验十五:基于USART的ARM与FPGA通信实验

    实验指导书及代码包下载: http://pan.baidu.com/s/1c1RbE5E iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  7. 3D Touch

    一.认识3D Touch   1.硬件和操作系统要求      iPhone 6s或者iPhone 6s Plus      操作系统要求 ios9+ 2.3D Touch的交互效果 QuickAct ...

  8. LeetCode Burst Balloons

    原题链接在这里:https://leetcode.com/problems/burst-balloons/ 题目: Given n balloons, indexed from 0 to n-1. E ...

  9. Linux下查看某个软件安装路径

    1:如果包是通过yum或者rpm方式安装 [root@localhost yum.repos.d]# rpm -qa //找出系统所有的包,找到对应的文件名 [root@localhost yum.r ...

  10. 事务复制-大批量DEL操作

    同事讨论删除发布表历史记录,导致订阅端数据滞后N小时.后来询问得知,发布表T只保留最近31天的数据,每天由Job删除31天前的数据,每天的删除量约400-500万条.默认情况下,在发布端删除400万条 ...