没有合适的资源?快使用搜索试试~ 我知道了~
帆软用法总结(各模块语法规则,系统集成)
需积分: 46 40 下载量 44 浏览量
2018-04-19
15:14:10
上传
评论 2
收藏 80KB DOCX 举报
温馨提示
试读
14页
帆软报表常用的一些文档方法,包括各模块语法规则,公式的使用和案例,以及帆软报表的集成,内容有待完善。。。。。。。。。。。
资源推荐
资源详情
资源评论
帆软报表 web 页面集成
1. web 页面集成
me.reportFrameId = Ext.id();
var _url = “http://localhost:8075/GQFH/ReportServer?reportlet=INCENTIVE_PLAN
%2F“+encodeURIComponent('报表名称 ')+”.cpt&op=write”;
me.reportCtl = Ext.create("Ext.panel.Panel", {
id: me.reportId,
title: '基本信息',
region: 'center',
border: false,
layout: '@t',
tools: [],
html: Ext.String.format('<iframe id="{0}" src="{1}" frameborder="no" \
style="width:100%;height:100%;border:none;" ></iframe>', me.reportFrameId, _url)
});
2. 帆软调用应用方法
报表引用公共 js 文件,通过 SendFunction()来调用应用里的方法,
// win:目标窗口
//msg:要发送的消息
SendFunction(win,msg);
报表端填报成功调用应用方法刷新报表,如图:
应用端被调用的方法,如图:
3. 应用调用帆软方法
document.getElementById('reportFrame').contentWindow.contentPane.方法名称();
详细内容参考“自定义按钮”。
FR
模块的语法汇总
1. 公式编辑框
FR 用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性
值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式,虽
然那个编辑框非常不像。
1. 语句语法刚接触感觉比较奇怪,if(条件式子,值 1,值 2),if 可以嵌套,if(条件式子 1,值 1,if(条件
式子 2,值 2,值 3))。
2. switch 语句。详细请查看: Switch
函数
3. 对于判断用单等号和双等号都行。
4. 对于字符串用单引号和双引号都行。
(1)bool 只有 true 或者 false。与逻辑还是&&或逻辑还是||。
(2)判断为空的话用 isnull()或 len($$$)=0。
(3)format 公式。format 公式比较灵活。format($$$,"0.00")可以把当前单元格的数字转换成两位小
数的形式,也可以用 format(12,"预算值:0.00 万元")把 12 变成预算值:12.00 万元,这个是不是和自
定义显示数据字典神马的有异曲同工之妙啊。有一点要注意的是,满位数年月日的话样式是"yyyy-MM-
dd",而不是"yyyy-mm-dd",小写的 mm 的意思是分钟(minute)。
5. 公式中取单元格的话直接用 A1 这种或者 b2,跨 sheet 取值的语法是 sheet1!A1。
6. sql 函数,直接调用数据库的方法。详情请查看:SQL
函数
7. 数据集公式。
数据集公式是公式直接调用数据集的方法。详情请查看:ds1.select() 和
ds1.group() 函数
比如有个模板数据集 ds1,其字段为地区、销售员、销量,则可以用 ds1.group(地区)获取 ds1 的地区字
段,group 是分组,从而容易知道 select 是列表,ds1.select(销售员)便是列表形式获取销售员字段,可
以加上限制条件,比如 ds1.select(销售员,销量=111)就是获取销售量为 111 的销售员集合。跟数据集
相关的几个函数有 colcount、colname、row、rowcount 等。
8. 层次坐标。详情请查看:层次坐标函数
层次坐标是公式里面比较难点的,“可玩性”非常强,东西比较多,只能记住最常用的几个,能解决各种各
样 BT 的需求。较为常用的一个就是排名公式了=count(B3[!0]{B3 > $B3})+1。自己看吧。
9. 过滤公式。详情请查看:过滤
过滤有两个条件类型,其一是公式条件。这个公式有一点点不同的是,可以直接写当前单元格的字段所在
数据集的任何字段,相对于普通公式要灵活很多。还拿自带的销量表为例,给地区字段所在单元格过滤,
公式条件可以直接写:销量==111。
10.条件属性。详情请查看:条件属性
简单说:条件属性面板,上面是属性,下面是条件。当下面的条件满足,也就是返回值是 true 的时候,
执行上面的属性设置。
2. sql 编辑框编辑
数据集定义的面板,也是报表中最常用的模块之一。
2.1 执行过程
这里其实是生成一个字符串,FR 将这个字符串通过设置的数据连接传递到报表中执行。在这个过程中报
表应该是先把报表规则的东西(比如现在的规则是${}中放参数),替换成大家都认得的字符串后,对应
的数据库执行完,会反馈值,有可能返回报错信息,也有可能返回数据集。这个报错信息应该是对应的数
据库给的。所以说同样的 sql 语句,不同的数据库用不同的 sql 语法来执行有可能是不同的结果。比如
select 'sdf'在 access 和 sqlserver 正常显示,在 oracle 就抛错。用 select version()或者 show
status 或者 show tables 能在 mysql 的数据集定义里正常执行,其他则不行。sql 中的 and 和 or 要和公
式区别开,可能有人在公式里面把&&用成 and。还有公式里面的或||在 oracle 中是字符串的连接符。
2.2 sql 中调用公式
报表通过公式和参数实现与 sql 语句的交互。
公式放在框架${}中。于是${"select * from t1"}其实就等价于 select * from t1。
数据集中用公式的难点在于拼接起来比较繁琐。
第一个例子应该是帮助文档上参数为空返回全部的 sql 语句:
SELECT * FROM 订单 where 1=1 ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} $
{if(len(province) == 0,"","and 货主省份 = '" + province + "'")}
剩余13页未读,继续阅读
资源评论
iuw...
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功