浅谈审计表格汇总程序的开发与应用
陈宇(审计署成都办)
【发布时间:2013年01月28日】
字号:【大】 【中】 【小】
    近年来,在一些大项目的审计过程中,都需要填制大量的表格。表格一般都分发到县级,填制完成后再由审计人员进行汇总。如何提高表格的汇总效率,并确保数据的质量,笔者在实践中进行了探索,编写了审计表格汇总程序。
    
    一、问题的提出
    
    在近期的财政收支审计中,我们在审计表格汇总中就遇到了下面的挑战:如保障房项目中各地市上交的表格就超过2000张,这就决定了全靠手工进行汇总必然费时费力且容易出错;其次,不同审计表格的汇总要求不同,例如保障性住房审计表格汇总是将所有原始表格的记录都插入汇总表格,而财政预算执行审计表格汇总是将所有原始表格的某个或某几个单项资金之和填入汇总表,这就要求汇总程序能处理这两种不同的汇总类型;最后,审计表格可能会随着项目的深入在数量和格式上进行增加和调整,这就要求汇总程序具有一定的灵活性。
    
    二、程序初版的形成
    
    针对审计报表汇总的具体要求,我们组织了计算机处的人员进行了汇总程序的研发。在研发过程中,计算机处的同志首先到了审计现场实际查看了待汇总的审计表格,并与业务处的同志一起进行了初步的需求分析,详细了解了审计表格汇总的要求。根据讨论,大家确立了新程序的基本原则:安装简便(绿色软件,不使用数据库系统)、使用简单(图形界面,容易上手)以及具备一定通用性。根据这些原则,计算机处的同志采用Excel自带的Visual Basic for Applications进行开发,约一周后提交了一个初步版本给业务人员试用,程序被命名为The Little Collector(TLC),实现了将多张审计表格的记录插入到一张表格中进行汇总,以及将多张表格的同一个单元格的数值求和汇总的基本功能。
    
    三、新需求的提出与特色功能的加入
    
    TLC交给业务人员试用后,获得了初步的好评,但审计人员又提出了新的需求:一是在表格汇总后,可能还会对数据进行调整,如果对汇总表的数据进行了修改,则数据返回到原始表中?二是在财政审计表格汇总时能否更灵活地指定要汇总的文件,要汇总的工作表等信息,从而实现更加灵活的汇总?
    针对新的需求,计算机处的同志进行了讨论和技术攻关,提出了多种解决方案。针对第一个需求,我们在TLC程序中增加了记录每条记录来源的功能,这样在用户修改了汇总表的数据后,程序可以查找相应记录的来源,并根据其来源对对应的原始表数据进行更新。这就大大节省了审计人员的时间并保证了原始表和汇总表数据的一致性,此功能也成为了TLC的特色功能之一。
    针对第二个需求,我们在程序中设计了一种多文件数据加总汇总的自定义公式,其格式是:“文件夹名~部分文件名::工作表名/公式”。用户只要按照此格式输入公式,就可以轻松的实现较为灵活的数据加总汇总功能。例如,用户在Excel单元格中输入“C:\财政测试数据~表01::Sheet1/F11+F12-F13”则代表将“C:\财政测试数据”目录下的所有文件名含有“表01”的文件中的第一张工作表中的F11+F12-F13这三个单元格的值进行运算后,再进行求和。采用自定义公式的方法,就可以让审计人员按照汇总的要求灵活的书写公式,将单纯的加总计算变为了具有较好扩展性的多文件、多单元格的公式计算器,为审计人员汇总表格数值提供了极大的方便,也成为了TLC的另一个特色功能。
    为了实现这两个新的需求,计算机处的开发人员对已有的软件代码进行了重构,重新设计了汇总函数的接口,增强了扩展性;还增加了自定义公式的解析函数,使得程序能够解析上述的自定义公式,生成运算结果,并报告出错信息。
    
    四、Bug的修正与性能的提升
    
    在TLC程序交付使用的过程中,计算机处人员与业务处建立了良好的沟通机制。业务人员在使用过程中发现的任何问题以及对程序功能改进方面的建议都得以在第一时间反馈给开发人员,并得以迅速的处理。例如业务人员发现了程序不能处理宏存在错误的Excel文件以及程序汇总时会漏掉隐藏行的bug,在业务人员提出后均在一天内得到了修正;业务人员对程序性能提升方面的建议也得到了迅速的处理。目前,使用TLC程序汇总保障性住房共2233张表格只需要不到10分钟的时间,这大大提高了审计人员的工作效率。
    
    五、几点感悟
    
    在完成这个审计表格汇总程序后,我们有如下几点感悟:
    一是工欲善其事,必先利其器。在信息化高速发展的今天,必须充分利用计算机手段,提高工作效率,减轻审计人员的负担。
    二是密切合作,形成共识。在表格汇总程序开发的前期,计算机处的开发人员与业务处人员一起对程序进行了需求分析,这是一个很好的操作模式,因为业务人员最能了解汇总表格的要求,让他们与计算机处开发人员一起参与需求分析对程序的功能设计非常有帮助;在初步需求分析完成后,快速开发出一个程序原型也很有必要,这样业务人员就能更加有的放矢的对程序提出意见和建议。
    三是长期沟通,持续改进。程序交付使用后,使用人员可能会发现当初提的需求并不能准确描述他们的要求,或者需求在项目进行过程中有所变化,因此需要长期沟通机制,对他们的变化进行敏捷地响应。比如在表格汇总程序开发过程中,审计人员在汇总数据后发现了调整数据需要同时调整汇总表和原始表数据的问题,因此提出了新的功能需求,计算机处开发人员在第一时间了解了这一需求并做出了很快的改版。程序开发也与审计一样,是一个随着项目深入而不断与时俱进的过程,因此必须要和业务人员长期沟通,持续改进程序才能做到实时响应业务人员需求,增强程序的实用性和灵活性。(陈宇)
【关闭】    【打印】