51.3、报表插件,直接SQL报表,存储过程,改写过滤条件原创
16人赞赏了该文章
1.2万次浏览
编辑于2020年07月12日 23:22:05
续
业务场景:如果不填写过滤条件,显示全部数据;
1、创建存储过程
create proc sp_Test @FBILLNO varchar(100), @FDATE varchar(100) as begin declare @where nvarchar(1000); declare @sql nvarchar(max); set @where= ' where 1=1 ' if(@FBILLNO<>'') begin set @where = @where + ' and FBILLNO = '''+@FBILLNO+'''' end if(@FDATE<>'') begin set @where = @where + ' and FDATE = '''+@FDATE+'''' end set @sql=N'select FBILLNO as ''单据编号'',FDATE as ''日期'',FBILLTAXAMOUNT as ''税额'', FBILLAMOUNT ''金额'',FBILLALLAMOUNT ''加税合计'' from T_SAL_ORDER t1 inner join T_SAL_ORDERFIN t2 on t1.FID=t2.FID' + @where exec sp_executesql @sql end
2、
--当不输入过滤条件,查询出全部的数据 exec sp_Test '',''
3、
--如果加一个过滤条件,单据编号,只显示一行数据 exec sp_Test 'XSDD000001',''
--日期过滤 exec sp_Test '','2020/7/10'
4、点数据源,打开修改界面
5、勾选 存储过程,点测试,过滤条件不填写数据,显示全部的数据
exec sp_Test '#FBillNO#','#FDate#'
6、点编辑,权限控制设置,设置空权限,然后发布到主控台
总目录链接
推荐阅读