您的位置:首页 > Web前端 > JavaScript

做了几天报表的一个总结

2004-10-27 18:15 246 查看
我们的系统中间有许多报表,其中又可分为Report和Form,也就是报表和单据。这中间有一些是标准的,有一些是为客户定制的。
报表的开发大致可以分为查询界面和报表界面两部分,我做的都是Form,相对Report来说是简单一点
查询界面我们用的是整个系统的framework,这里就不多说了。
报表界面使用jsperReport的架构和api,做界面时用IReport,这两个都是属于开源的免费软件
我在作报表时犯错误大致可分为以下几种情况:

1.需求有错误或者写需求的人与QA对需求的理解有出入,虽然我在做之前已经很认真的看过并请需求分析员解释过,但这种问题还是常常会有。暂时也没有什么有效的办法避免这种问题
2.对系统的了解和对业务的了解不够,有些问题在coding时没有给予应有的关注,例如不知道Vessel和voyage是分Inbound和Outbound的,在coding时出现业务逻辑上的错误,自己也发现不了。
3.由于对系统的了解不够,在制作测试用例或测试数据时会花费比较多的时间,而且往往会有遗漏。从个人看每个人应该对系统有足够多的了解,但是如果由QA事先准备好测试数据,开发者岂不是省去一些时间,同时这个测试用例在QA以后测试时也可以用。当然这只是针对报表的开发。
4.疏忽大意,这是每个人都会犯的错误。但我认为通过在实践中总结经常性的错误,然后在coding时加以特别关注,应该可以有效的避免出错,或者降低出错率,这一点其实在任何工作中都是适用的,但是由于人本身的惰性,往往不能够很好的总结。其实写blog也是有这样的作用,以史为鉴可以明得失,明得失才能有效地沉淀经验,得到提高,否则岂不是狗熊掰玉米了。

然后我们来谈谈技术问题。
以前也做过一点报表,总结一下报表的做法。
在做某集团公司的财务报表时,使用SQL Server作为数据库,在里面写了一些生成报表数据的存储过程,这个方案不晓得是谁提出的了。我们
用VB和ASP为报表分别写了一些客户端的东西,VB写的客户端主要是处理一些报表的设置,例如科目设置、公司设置等等,可以手动的处理一些自动生成的报表,数据的采集用了一个数据挖掘的工具,记不大清了。
用asp写的主要是报表的展现,为了提高察看报表的速度(每次看的时候去拉数据速度会非常慢,而且会占用服务器大量资源),我们设计了可配置的动态查询,在前台配置查询条件,生成对应的存储过程,然后将查询结果放在临时表里面,这样在以后查询时可以直接看上次查询的结果,也可以通过存储过程重新生成查询数据。其实也是相当于一个缓存的功能,否则所有的报表都是即时查询的话,服务器将不堪重负。
前台展现报表写在asp页面上,首先是取数据生成一个统一格式的xml文件,然后写一段javascript解析该xml文件,再通过微软的一个控件,好像是web component里面的一个吧,将xml进行解析,将数据展现出来。这个控件的优点是可以动态的调节报表的样式,例如可以将行列互换,重新排序列,还支持汇总等,当然也可以方便的将数据用图表展现出来,有很多种图形。用户在界面上会看到一个很舒服的界面,当然这是和浏览器相关的。

其实关于报表的做法,不管是从设计上还是实现技术上都已经有比较成熟的方案,但是在工作中这个还是一个非常令人头疼的问题,问提出在哪里呢?是不是还是缺乏对资源的有效整理。

今天先写这么一点,累了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐