报表插件实践总结原创
金蝶云社区-abstrct
abstrct
40人赞赏了该文章 165次浏览 未经作者许可,禁止转载编辑于2024年09月11日 09:41:11
summary-icon摘要由AI智能服务提供

本文介绍了报表插件的目的在于增强报表功能,如展示更多字段和关联更多表。重点阐述了编写插件时涉及的临时表处理、调试技巧及遇到的问题,包括数据加载、数据重复和查询速度等问题,并提供了调试和数据检查的实用建议。

  1. 写这个插件的目的,或者说这个插件能做什么。

    就是原来的报表能展示更多的字段。关联到更多的表。

  2. 报表插件需要做的事

    (1).重新写临时表方法

    (2).删除临时表方法(这个基本都一致)

    (3).BOS上报表新增字段,报表对应过滤表显示与隐藏中新增字段

  3. 重点说临时表方法

    其实也感觉没什么好说的,功力关键在于sql基本功,和对表连接关系的掌握。

    你想在报表展示另一张表的字段。

    首先得知道在表中得位置。这个可以查BOS,所以BOS设计里面,字段命名尽量规范,这是有好处的。

    第二,你得知道表与表之间得关联关系,重点是唯一不重复的关系

  4. 代码实在觉得没什么好说得。直接上链接学习就行。

    https://vip.kingdee.com/article/71602311801300736?lang=zh-CN&productLineId=1

   5.写这个插件一帆风顺么?

       代码写起来,全程无问题,但是sql也没有问题。但是执行起来确实问题不少。

        1.加载问题,就是代码和sql都是可以执行的,调试也是有数据的,点击查看报表无反应,这里加载有问题。原因放后面说。

        2.数据问题,就是sql中有关联关系,以第一个表为左表是100条数据,后面无论关联了10张,20张,取了多少字段。最后查询结果一定是100条。如果是101条,那就要去检查,关联哪张表时多了这一条数据。又或者99条,关联哪一张表时少了一条数据。一般以报表未新增字段时有多少条记录,新增字段后还是多少条记录。

        3.解释加载问题,第一次写,只关注于关联关系对不对,认为关联的都是id不会有重复。所以数据重复起来,数据量就会大量增加。查询速度变慢,特别时关联的表比较多的时候。几百条数据,重复起来就是几十万条。没有夸大,800条数据左右,关联关系也只到t10。最后结果有20万条。第一时间没有加载。

        4.查找问题,调试也调试了有数据,数据库也抓了临时表查找也是有数据的,最终显示界面无数据。发现问题,毕竟只是20W条数据,卡了或许几分钟,后面还是加载上来了。才发现该问题。

    6.总结:虽然是个比较小的插件,但是里面包含的技巧及注意点放在下面了。

        1.调试技巧:调试抓取临时表,上一次的临时表与新的临时表表名不同。通过改造sql可以查看到自己的查询结果,不改造sql只能看到更新了多少条数。(into {0} 里面是上一次的临时表数据。可以直接删除。也可以改造表头,去掉t1.*,改成自己想看到的字段)

        2.数据重复的问题,这个只能是检查重复数据的经验了。


        


赞 40