📄 接口参数.txt
字号:
str_rpt接口参数说明
1.前台报表和后台报表都有用的参数有下面三个:
window_mdi(window)//应用的多文本主窗口--如:w_main
transation(transaction)//连接事务对象名称--如:sqlca
uservar(string)//可选参数,传递变量--如:"系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"
2.只用于前台报表的参数有下面七个:
userdw(datawindow)//主数据窗口,报表的记录来源取决于它--如:dw_1
userdw2(datawindow)//可选参数,数据窗口2,如表头数据窗口--如:dw_2
userdw3(datawindow)//可选参数,数据窗口3,如表尾数据窗口--如:dw_3
window_name(string)//可选参数,有时一个dw在不同的地方要对应不同的报表,则在此赋不同的值可加于区别--如:第一个='单据式',第二个='列表式'
userdw_same(string)//可选参数,有时多个dw要对应同一个报表,则在此赋于跟str_userdw相同且已设计好报表的dw即可--如:'dw_product1'
row_range(string)//可选参数,有时str_userdw的记录比较多,而打印时只需打印其中的某些记录,则在此赋值即可--如:'3,5'
condition(string)//可选参数,当打印时不想出现预览窗口,则在此赋于'直接打印'即可--如:'直接打印'
3.外部调用前台报表和后台报表时都不用的参数有下面三个:
rpt_id(string)//报表序号,内部传递使用
rpt_name(string)//报表名称,内部传递使用
fielddw(datawindow)//字段存放dw,内部传递使用
调用接口方法:
需要把以下8个表
1.report_chinese_to_english(自定义函数中英文名称)
2.report_condition(后台报表当前打印条件)
3.report_field(后台报表所选字段)
4.report_fromwhere(后台报表所选关联)
5.report_func(标准函数中英文名称)
6.report_table(后台报表中需访问的表或视图的中英文名)
7.report1(报表登记)
8.report2(报表对象)
用数据管道导入你的数据库中(如使用多个数据库时,只要导
入其中一个数据库即可,调用报表之前一定要连接上此数据库),
对于只使用前台数据源的情况第2、3、4、6个表也可不需要。
(一)后台数据源调用接口:
需要在report_table中输入你所需要用来打印的表或视图
名,本系统没有自动从系统中取表名是考虑到并不是所有的表
都可以让用户去打印,比如说有的用户密码表并无加密措施;
另一个原因是不同的后台系统表提取信息也不能完全通用,所
以这里要求你自己手工输入,字段的名称则会自动提取,但你
必须在建表时加上中文标识。
(1)后台数据源报表设计接口代码举例:
str_rpt lstr_rpt//定义传递参数的结构
lstr_rpt.window_mdi=w_main//w_main是应用的多文本主窗口
lstr_rpt.transation=sqlca//连接事务对象名称,有多个连接的情况只传递report表所在的连接
// lstr_rpt.uservar="系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"//可选,多个变量之间用逗号隔开
opensheetwithparm(w_report_manage,lstr_rpt,w_main,0,layered!)//打开报表登记窗口
(2)后台数据源报表预览及打印接口代码举例:
str_rpt lstr_rpt//定义传递参数的结构
lstr_rpt.window_mdi=w_main//w_main是应用的多文本主窗口
lstr_rpt.transation=sqlca//连接事务对象名称,有多个连接的情况只传递report表所在的连接
// lstr_rpt.uservar="系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"//可选,多个变量之间用逗号隔开
opensheetwithparm(w_report_print,lstr_rpt,w_main,0,layered!)//打开报表预览选择窗口
(二)前台数据源调用接口:
需要在输入和查询的数据窗口字段中存在“字段名_t”标识文本,
例如数据窗口中有code字段,则要有code_t(.text=编码)文本,
或者code.tag为编码也可。
(3)前台数据源报表设计接口代码举例:
str_rpt lstr_rpt//定义传递参数的结构
lstr_rpt.window_mdi=w_main//w_main是应用的多文本主窗口
lstr_rpt.transation=sqlca//连接事务对象名称,有多个连接的情况只传递report表所在的连接
lstr_rpt.userdw=dw_2//主数据窗口,报表的记录来源取决于它
// lstr_rpt.userdw2=dw_1//可选,数据窗口2,如表头数据窗口
// lstr_rpt.userdw3=dw_3//可选,数据窗口3,如表尾数据窗口
// lstr_rpt.uservar="系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"//可选,多个变量之间用逗号隔开
// lstr_rpt.window_name="window_name"//可选,对于一个dw在多个window中使用,打印的报表不同时起筛选作用
opensheetwithparm(w_report_manage,lstr_rpt,w_main,0,layered!)//打开报表登记窗口
(4)前台数据源报表预览接口代码举例:
str_rpt lstr_rpt//定义传递参数的结构
lstr_rpt.window_mdi=w_main//w_main是应用的多文本主窗口
lstr_rpt.transation=sqlca//连接事务对象名称,有多个连接的情况只传递report表所在的连接
lstr_rpt.userdw=dw_2//主数据窗口,报表的记录来源取决于它
// lstr_rpt.userdw2=dw_1//可选,数据窗口2,如表头数据窗口
// lstr_rpt.userdw3=dw_3//可选,数据窗口3,如表尾数据窗口
// lstr_rpt.uservar="系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"//可选,多个变量之间用逗号隔开
// lstr_rpt.window_name="window_name"//可选,对于一个dw在多个window中使用,打印的报表不同时起筛选作用
opensheetwithparm(w_report_print,lstr_rpt,w_main,0,layered!)//打开报表预览窗口
(5)前台数据源报表打印接口代码举例:
str_rpt lstr_rpt//定义传递参数的结构
lstr_rpt.window_mdi=w_main//w_main是应用的多文本主窗口
lstr_rpt.transation=sqlca//连接事务对象名称,有多个连接的情况只传递report表所在的连接
lstr_rpt.userdw=dw_2//主数据窗口,报表的记录来源取决于它
// lstr_rpt.userdw2=dw_1//可选,数据窗口2,如表头数据窗口
// lstr_rpt.userdw3=dw_3//可选,数据窗口3,如表尾数据窗口
// lstr_rpt.uservar="系统名称='"+ls_sysname+"',操作员='"+ls_operator+"'"//可选,多个变量之间用逗号隔开
// lstr_rpt.window_name="window_name"//可选,对于一个dw在多个window中使用,打印的报表不同时起筛选作用
lstr_rpt.condition='直接打印'//不再显示预览窗口而直接打印
openwithparm(w_report_print,lstr_rpt)//这里不使用opensheetwithparm才不会出现屏幕闪动
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -