项目组使用润乾报表已一年多了,说实话,润乾报表在国内同类产品中属于非常不错的最好的报表开发和应用产品。相应的支持也比较到位,使用人员及交流社区也开展的很合适。在这先给它们作个广告!!!
在项目中使用润乾报表,对数据进行专业的报表应用和开发,我对其作简单总结:
1)对其服务器运行系统进行项目性客户化开发,从而利用项目中的权限管理和模块,实现对报表进行访问控制。否则,这对企业级应用将是一个非常大的考验。
2)润乾报表自带的参数生成模块、报表运行载体的样式、风格都极其简陋,与项目的实际风格可能存在很大的差距。因此必需对其进行深入的扩展和开发。我们项目组的经验就是单独开发参数生成模块和润乾报表载体,如此才保证了报表中心与项目的用户体验和交互性的一致性。
3)为了更好的利用项目组资源,我们将润乾报表开发人员独立出来,形成专门的报表开发团队。此团队负责根据业务的需要,利用润乾报表开发工具进行报表开发,即开发.raq报表文件。此部份人员可从项目组的普通成员和新进人员中进行培养,而无需占用大量的项目组中中高级开发人员资源,从而节约了项目组的资源。
4)润乾报表对过JSP标签包含在jsp页面中进行加裁我运行。我们称此jsp页面为润乾报表运行载体。我们根据润乾报表的运行载体进行了科学的分类,并根据分类开发出统一的报表运行载体页面(jsp)。从而避免针对每个报表文件而开发与之对应的运行载体。此举也大为减少了项目组的JSP开发人员的工作量。
5)建立润乾报表运行专用配置文件,将报表参数生成模块、运行载体及润乾报表三者之间的关系进行配置化管理,并以此为纽带,将润乾报表开发人员、JSP开发人员(开发报表运行载体和报表参数生成功能)联系起来。
在开发过程中,我们碰到并解决了如下问题:
1)填报类润乾报表在进行数据验证时,其提示信息(以js的alert("...")方式提示用户)成乱码显示:此问题是由于润乾报表在V4.1以后,统一使用UTF-8作编译编码。因此,要解决此问题,需要将项目的编码也改成UTF-8
2)在润乾报表的参数赋值需按序依次进行赋值,而不能采用参数名进行统一赋值。因为,如果在润乾报表的SQL中使用了重复的参数进行赋值时,会报参数找不至的错误。
3)在参数生成模块中将中文参数值传递给润乾报表时,会导致少量的参数值在传递过程中发生改变,如“机油”变成了“箕油”。此问题是由于在urlEncode和urlDecode的bug导致,请在开发时需特别注意。我们是通过自己对信息进行加码和解码来解决此bug。
4)润乾报表的运行环境与应用服务器的编码方式有关:我们项目和报表中心的编码方式为UTF-8,但运用服务器(WAS6.1)的编码方式为GBK时,通过参数生成功能将中文参数传递给润乾报表时,会出现乱码问题。在将WAS的输出和运行编码改成UTF-8后,才解决此问题。