自定义报表功能集

上传人:平*** 文档编号:12691658 上传时间:2017-10-20 格式:DOC 页数:5 大小:37.67KB
返回 下载 相关 举报
自定义报表功能集_第1页
第1页 / 共5页
自定义报表功能集_第2页
第2页 / 共5页
自定义报表功能集_第3页
第3页 / 共5页
自定义报表功能集_第4页
第4页 / 共5页
自定义报表功能集_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《自定义报表功能集》由会员分享,可在线阅读,更多相关《自定义报表功能集(5页珍藏版)》请在金锄头文库上搜索。

1、自定义报表 1.0 功能范围一:已实现的功能1、 导出、导入自定义的报表格式。2、 能够对同一功能设置多种报表格式,并对这些报表格式进行增加、默认设置、删除等管理。3、 提供具有一定限制的、用户可使用的报表格式在线修改功能。4、 具有同步功能,将报表格式的修改同步到所有的工作站中,该功能的具体表现形式分为两部分(1-系统启动的时候能够将用户定义的报表格式自动更新到程序中,2- 可在程序的同步功能窗口中通过操作将用户定义的报表格式更新到程序中) 。5、 升级后能够继续使用用户自定义的报表格式。6、 升级时能够升级系统定义的报表格式(系统定义的报表格式指程序开发人员在程序中定义的报表格式,如果是易

2、通 LIS 程序则包括检验报告单,该功能只有999999 的用户能够使用) 。7、 报表的多格式管理直接在报表所在的功能中实现,不设计专门的统一的系统管理功能来完成报表的多格式管理(易通 LIS 的检验报告仍然用统一的方式进行管理)。8、对于修改过的报表,可以恢复到上一次时的设计状态。9、自定义报表功能必须得到系统管理员的授权才能获得。(自定义权限指以下功能:1):设置将某一种报表格式设为默认格式,2)删除报表格式,3)对报表格式进行自定义.也就是说没有权限的用户只具备临时换报表格式和导入导出的功能)二:目前不支持的功能1:控制某些控件强行可见,置顶(这里要考虑因为可以导入,导出,所以即使在自

3、定义里面控制了,那么客户也可以将报表导出后修改再导入,从而避开我们的控制,导入后控制某些控件是否可见等) 。2:报表格式在线修改功能的主要限制:1) 不支持的报表类型:crosstab,richtext, graph, ole2.0。2) 不支持的属性修改:1) 对象名称。2) 计算列表达式。3) 对于矩形、圆型、矩圆型只支持调整位置、缩放大小、修改颜色。4) 带区属性。5) 分组的增加、删除。6) 对于 Grid 风格报表中的控件,如果其 layer 属性为 background 或foreground,不能够拖放其到对应网格线外的位置.7) 对于 bringtofront,bringtob

4、ack 属性,只在设计预览时支持,不支持对该属性的保存.8) 属性表达式必须明确的返回适合的数据类型:比如对于 visible 的属性表达式,该表达式必须能够明确的返回整形,写成 long(lsh)或 if(lsh= 1,1,0)都是正确的,如果写成 lsh 或 if(lsh= 1,1,0)等都是错误的。9) 对于 N_UP 风格的报表,如果有多列,比如 lsh_1,lsh_2,lsh_3,则只有第一列也就是 lsh_1 能够显示列名,其它列不能,但是仍然可以编辑其属性10) 数据窗口本身的属性编辑不支持,比如 pbunit、grid.columnmove 等属性.三:编程说明1:在第一次使用

5、前请首先将您的程序进行备份,防止意外。2:在数据库中添加两个表USER_DEFINED_REPORT和USER_UPDATE_DATAWINDOW_DATETIME,这两个表的创建语法见附录部分,在用户表中增加一个字段用来设置自定义报告的权限,比如增加一个字段CAN_DEFINED_DATAWINDOW CHAR(1) DEFAULT 03:将报表库(report.pbl)添加进程序的库列表中。4:将 res 文件夹放到应用程序开发目录下,如果您的程序中打包了资源文件,则将report.pbr 中的内容拷贝进您的资源文件中5:检查报表库中的对象有没有在应用程序中有同名对象。6:在连接上数据库之

6、后应用程序主窗口打开之前调用一个您定义的全局函数或对象函数,该函数中封装下列代码:int li_rtnn_cst_syn_report lnv_syn_reportif sqlca.dbhandle( ) 999999 then中的999999改成您程序中的系统超级用户帐号; 修改w_user_defined_report_setup 和 w_user_defined_report_nesting_setup 中的 of_get_right 函数,将您在用户表中定义的权限赋值给实例变量 is_right,10:在程序主窗口的菜单中增加两个菜单项,1) 同步自定义报告单(&S),在 clicke

7、d 事件中写下列代码Open(w_sync_report)2) 升级系统定义报告单, 在 clicked 事件中写下列代码Open(w_general_sys_report_update)11:检查你的程序,确保不要有两个不同的功能采用了相同的数据窗口,也最好不要和嵌套报表引用相同的数据窗口12:在您的程序中不要将数据窗口命名为dw_user_defined_new_0001, dw_user_defined_new_0002之类的形式,对于检验系统则也不能命名为dw_user_defined_00001, dw_user_defined _00002 之类的形式13:最好在处理数据之前写 S

8、etTransObject(sqlca),而不要仅仅在数据窗口的构造事件中写SetTransObject(sqlca),因为临时换报表的时候会更新数据窗口语法,所以此时在构造事件中写的 SetTransObject 将失效。13:如果您在该自定义报表功能中发现了 bug,或者增加、修改了任何通用的功能,您应将这些工作成果以文件的形式共享给其他使用该功能的开发、测试人员,公司可考虑建立一个公共的目录放置这些文件。四:附录USER_DEFINED_REPORT 表和 USER_UPDATE_DATAWINDOW_DATETIME 表的创建语法:if exists (select * from db

9、o.sysobjects where id = object_id(Ndbo.USER_DEFINED_REPORT) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.USER_DEFINED_REPORTGOif exists (select * from dbo.sysobjects where id = object_id(Ndbo.USER_UPDATE_DATAWINDOW_DATETIME) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.USER_UPD

10、ATE_DATAWINDOW_DATETIMEGOCREATE TABLE dbo.USER_DEFINED_REPORT (DATAWINDOW_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,DATAWINDOW_NAME varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,REPORT_NAME varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,IS_DEFAULT_DATAWINDOW char (1) COLLATE Chinese_PRC_

11、CI_AS NOT NULL ,IS_SYS_DATAWINDOW char (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,SYNTAX text COLLATE Chinese_PRC_CI_AS NOT NULL ,SYNTAX_BAK text COLLATE Chinese_PRC_CI_AS NULL ,UPDATE_DATETIME datetime NOT NULL ,CREATE_DATETIME datetime NOT NULL, IS_NEW_DATAWINDOW char (1) COLLATE Chinese_PRC_CI_AS NO

12、T NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.USER_UPDATE_DATAWINDOW_DATETIME (VOLUME_INFORMATION_ID varchar (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,UPDATE_DATETIME datetime NOT NULL ) ON PRIMARYGOALTER TABLE dbo.USER_DEFINED_REPORT WITH NOCHECK ADD CONSTRAINT PK_USER_DEFINED_REPORT P

13、RIMARY KEY CLUSTERED (DATAWINDOW_ID) ON PRIMARY GOALTER TABLE dbo.USER_UPDATE_DATAWINDOW_DATETIME WITH NOCHECK ADD CONSTRAINT PK_USER_UPDATE_DATAWINDOW_DATETIME PRIMARY KEY CLUSTERED (VOLUME_INFORMATION_ID) ON PRIMARY GOALTER TABLE dbo.USER_DEFINED_REPORT ADD CONSTRAINT DF_USER_DEFINED_REPORT_IS_DEF

14、AULT_DATAWINDOW DEFAULT (0) FOR IS_DEFAULT_DATAWINDOW,CONSTRAINT DF_USER_DEFINED_REPORT_IS_SYS_DATAWINDOW DEFAULT (0) FOR IS_SYS_DATAWINDOW,CONSTRAINT DF_USER_DEFINED_REPORT_UPDATE_DATETIME DEFAULT (getdate() FOR UPDATE_DATETIME,CONSTRAINT DF_USER_DEFINED_REPORT_CREATE_DATETIME DEFAULT (getdate() FOR CREATE_DATETIME,CONSTRAINT DF_USER_DEFINED_REPORT_IS_NEW_DATAWINDOW DEFAULT (0) FOR IS_NEW_DATAWINDOWGOCREATE UNIQUE INDEX IX_USER_DEFINED_REPORT ON dbo.USER_DEFINED_REPORT(DATAWINDOW_NAME, REPORT_NAME) ON PRIMARYGO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号