王东亮,杨晓薇,邢雪莹
(国网青海省电力公司营销服务中心,青海 西宁 810001)
根据国网公司加快落实“三型两网”战略目标,构建现代服务体系,提升资金管控水平工作部署,国网青海省电力公司营销服务中心(以下简称“营服中心”)搭建省级层面“电费核算账务业务实施中心”(以下简称“电费部”),集约资源,集中推行电费核算、账务记账凭证“省级直收”工作,实现一体化集中高效运转。
省级账务业务集约化后,由营服中心电费部统一负责制作凭证,并完成后继审核、打印、盖章、装订及存档工作。由于电费部人员少,采用传统的凭证制作模式,占用业务人员大量工作时间,严重影响后续电费核算、发行及对地市公司业务规范、指标管控等重点工作,因此对凭证制作模式函需改善,增加智能化手段,提高工作效率。在营服中心主管领导的支持下,电费部主任已着手与软件公司进行项目开发合作事宜,目的是实现凭证业务全电子无纸化,彻底改变传统凭证制作模式,该项目预计到2021年年底完成实用化。
营销系统中电费账务的基础数据包括:通过周期(一般为一个月)采集用电客户电能表示数结算发行的应收电费;用电客户交纳的用电费用;用电客户办理各种用电业务交纳的费用等各项费用。将各项费用以财务会计口径的“借”“贷”关系关联起来,以一日为一个单位记账周期,把当日用电客户产生的各项费用按会计科目进行分类记账的过程就称为凭证制作。依托现代计算机和网络技术以及配套软件系统,海量的基础数据通过客户端计算机完全实现了电费记账凭证自动化制作。
电费账务要求有凭证就要有凭证附件(以下简称“附件”),附件就是前面提到的“各项费用”的基础数据,它是对凭证数据来源的说明性、解释性资料,附件中的数据有明细有合计,附件的合计金额与凭证的合计金额相等才是正确有效的电费账务资料。
传统的凭证制作业务在电费部集中开展伊始,前面提到的历史遗留的问题凸显出来,部分凭证的附件文档一直是从营销系统中导出源数据后,通过人工分类筛选数据、数据求和、表格排版,最后打印完成的。凭证及附件的数据基本上每天都会产生,因此,人工制作附件文档这一工作环节又在传统的凭证制作模式中占用了业务人员很大一部分的时间和精力。在实现凭证业务全电子无纸化的新模式前,如何减轻这一环节的工作量,仍然是一个有现实意义的考虑。
人工制作附件的工作量如何减轻,最好的办法就是实现附件数据的自动化生成。在计算机中实现数据的自动化处理,基本是通过计算机编程语言来实现。
前面说到营销系统导出的数据是EXECL 格式的,对于EXECL 电子表格而言,它的数据就是由“行”“列”组成,具有二维属性的数据结构,这种数据结构完全符合计算机数据库的数据表定义,“行”就是记录;“列”就是字段。因此,完全可以使用现在流行的编程语言实现对EXECL 文档数据的自动读写处理。
表1 中列举了几种常用的编程语言在本解决方案中的优劣对比经过比较,能够确定VB 编程语言是最佳选择。
表1 编程语言选择
在VBA 编辑器中,把WPS 电子表格文件里的工作薄、工作表、单元格等统称为“对象”,对象包括“事件”“属性”“方法”等特性。通过引用对象的属性和方法,就可以实现诸如保存、删除、增加、查找、筛选、复制、粘贴、求和、设定字体、设定表格布局等功能。对象的事件是在打开、关闭、切换、激活对象等操作时触发的对象接口程序,可以根据需要自行写入代码,当操作对象时就可以自动执行某项功能。
部分附件的数据都存在于导出文档“收费员日收费情况查询表”中(图1),该表有九列数据,全部打印会导致版面(A4 纸横向显示)内容拥挤或者一页显示不全,人工操作时,各地市公司的做法不完全相同,有的保留全部列,有的会删除几列不重要数据,使打印页面的内容合理分布,一页显示完整。人工制作附件的流程如图2(以源文档为“收费员日收费情况查询表”为例),源文档数据的筛选分两步,先以“结算方式”筛选,再以“收费类型”筛选。
图1 收费员日收费情况查询表
图2 人工制作附件流程图
以人工制作附件的流程为依据,结合编程规则,制订如图3 所示编程方案原理图。
图3 编程方案原理图
表2 为实现功能需求的分析表。
表2 功能需求分析表
根据功能需求分析制定功能设计流程图(图4),程序代码的编写就以图4 为指导。
图4 功能设计流程图
VBA 编程环境中,“窗体”“文本框”“下拉框”“按钮”等做为编程“对象”,是比较方便用来设计程序运行界面的。
图5 是一个比较常见的程序运行界面,若要完成附件的自动生成,需要三个步骤:第一步通过“下拉框”选择需要的源文档;第二步点击“导入”按钮,将营销系统导出的源文档打开;第三步点击“生成”按钮,自动生成附件数据包括设置好打印布局,数据审核无误后打印,就完成了附件制作。“另存”按钮与WPS Office软件菜单里的“另存”功能一致,起到一个提醒单独保存的作用。相对于人工制作附件的工作流程,程序界面上的这些操作步骤还是不太便捷。
图5 程序运行界面
以“方便操作,达到实用为目的”的编程思路是程序开发的宗旨和方向。本文论述的中心思想,就是让业务人员以最少的步骤、最简单的操作方式实现自动生成附件的目的。即“一键式生成凭证附件”,没有程序运行界面(人机交互界面),不用选择菜单、不用点击按钮。
通过以上对比,本案例的程序确定了以代码后台运行的方式编写,业务人员只需要“双击”程序的文件名,或者说打开程序文件,就可以一步到位实现自动生成附件。
人工制作的附件涵盖了收款凭证、付款凭证、转账凭证、记账凭证四类凭证的附件,共计需要导出四个源文档,制作成8 个附件文档。编写代码之初,以尽早将编写的程序应用到工作中为目标,按照一个导出文档对应一个程序包的方式进行代码编写、调试,先从简单的程序开始编写,实际效果明显,2021 年4 月底完成了一个程序包的应用,并于6 月初将四个程序包全部普及应用到了七个地市公司的人工附件制作业务中。计划后期将四个程序包合并为一个程序。2021 年12 月底新增加了会计科目为“一次销根”收款凭证的附件代码。
通过双击打开程序文件后要让其自动运行后面的功能代码,这需要在EXECL 电子表格工作薄对象“WorkBook”的“OPEN”事件中插入“主程序”的调用语句[1],代码内容见表3。
表3 WorkBook_Open()程序代码
主程序代码见表4。上面展示的主程序代码,能够实现自动判断打开了哪几个源文档,然后依次完成对应附件的自动化制作。源文档和程序文件的打开顺序没有硬性规定,但有逻辑关系,只有先打开源文档,再打开程序文件,才能自动实现“一键生成附件”。若先打开程序文件,会有人性化的窗口提示内容“请先打开任意一个从营销系统中导出的源文档”,确认提示内容后,程序文件会自动关闭。
表4 Main()程序代码
表5 是“日收费情况”代码。
表5 收费情况()子程序代码
表6 是子函数“数据处理”代码。
表6 数据处理()子函数代码
表7 是测试结果
表7 测试结果
表7 中的测试时间为:所有源文档已打开,从打开程序文件开始到全部附件文档生成。
图6 是表格生成后的打印预览图,页面左边留白,为装订预留。
图6 打印预览图
为准确测试生成附件的时间,在程序中增加了文档保存代码,文件“属性”中的“创建时间”与“修改时间”,其差值能准确的反映生成附件的时间,测试结果零误差,能精确到秒级。
图7 为生成附件文档时间展示图,由源文档“收费员日收费情况查询表”生成的四个附件文档,在文件夹中鼠标右击文件名查看文件“属性”。由图中可以看出,生成四个文档的时间总计不到1 s。这个也可以理解,毕竟是电脑运算。
图7 生成附件文档时间展示图
表8 对比结果1
表8 中的测试时间为:所有源文档已打开,从打开程序文件开始到全部附件文档生成。
表9 是对比结果2 的内容。
表9 对比结果2
表9 中的测试时间为:在营销系统导出所有源文档并打开,再到生成全部附件文档的时间。测试时间的软件使用的是常用的电脑录屏工具,因手工操作录屏工具,会有大概1~2 s 的误差。
6.4.1 工作效率分析
通过上面测试时间的对比,可以看到使用程序生成附件的时间比人工制作时间提高了4 倍多,凭证审核工作效率大幅提升,人工制作附件的工作量大幅减轻。同时,该程序的普及使用也是对营销系统现有的业务功能的末端补充。
6.4.2 工作质量分析
程序自动生成的附件,消除了人工操作可能带来的数据差错;由人工排版而造成打印页面样式的差别,也因此而避免。从数据准确性和打印页面规范性两个方面提高了工作质量。
6.4.3 材料成本分析
若不习惯使用打印预览功能,那么当人工排版的文档页面不规范不合理时,就会造成多打纸张或打废纸张,而由程序自动排版生成的附件页面能够杜绝打废纸张,提高纸张的利用率。
本程序为单机版,运行于个人电脑中,操作系统为Windows10,电脑需要安装有WPS Office 2019 版及其以下版本。程序文件的后缀名是“xlsm”,亦称为“宏文件”,程序正常运行需要在WPS Office 软件中设置为受信任的“宏文件”,也可以在运行程序时,在弹出的警告窗口点击“启用宏”按钮。
“一键式生成凭证附件”应用程序把“营销系统”电费账务凭证附件制作最末端的功能给补齐了,实用性很强。用这种编程方法(思路)解决其它办公数据的(临时或阶段性)统计、分类分析等繁琐费时的操作也很有效。