收藏 分享(赏)

AO采集不规则财务辅助帐的数据处理.doc

上传人:dreamzhangning 文档编号:2301581 上传时间:2018-09-10 格式:DOC 页数:9 大小:141.50KB
下载 相关 举报
AO采集不规则财务辅助帐的数据处理.doc_第1页
第1页 / 共9页
AO采集不规则财务辅助帐的数据处理.doc_第2页
第2页 / 共9页
AO采集不规则财务辅助帐的数据处理.doc_第3页
第3页 / 共9页
AO采集不规则财务辅助帐的数据处理.doc_第4页
第4页 / 共9页
AO采集不规则财务辅助帐的数据处理.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、一、经验标题:AO 采集不规则财务辅助帐的数据处理二、经验类别:预算执行三、经验层次:审计署专家经验 四、经验种类:总体分析经验五、经验描述:随着计算机技术的推广,越来越多的单位实行信息化管理,但各单位使用的财务和业务软件各不相同,审计面临着如何处理不同格式的财务和业务数据,达到符合我们自己的审计软件的要求的问题,以提高审计工作效率。实际工作中我们遇到许多财务数据及辅助账没有现成的采集模板,只能使用数据库采集方式导入 AO,而审计署 AO 2008 版取消了数据库采集辅助账的功能,如果数据不规则,需要在后台对辅助账所涉及的表数据进行处理后方可使用。财政预算外非税收入是财政审计的重要内容,其核心

2、构成是分部门收支余情况,体现在部门辅助账上。该财务软件由财政自行开发,系统数据格式较为特殊,后台数据库中会计科目、部门、收入类型等编码被分成多项表示,而这些分级科目类型都不是字符型的,而且还不定长,不能通过简单的相加来进行合并。审计组尝试将与辅助账相关的 4 张表重新进行构造,形成新的三张表作为业务数据导入 AO,可以方便地查看各部门分月的收支余情况。 六、作 者: 单?、李煜莹七、提交单位:丽水市莲都区审计局八、提交日期:2010-04-02 00:00 资料内容: 1. 所需资料 (一)财政预算外收入核算系统使用的底层数据库是 Microsoft SQL Server 2000,审计人员必

3、须获得该系统底层数据库备份文件。(二)从备份文件还原预算外收入帐套数据,还原后的帐套有数据表 118 张,与构造部门辅助账相关的表主要有 4 张,分别是:Book 凭证表;Enterprise 部门表;Remain 余额表;Sections 科目余额表。 经验步骤: 1. 财政预算外收入核算系统使用的底层数据库是 Microsoft SQL Server 2000。通过备份或数据文件拷贝的方式直接采集帐套数据。 2. 将上述帐套数据恢复或附加到本机 Microsoft SQL Server 2000 中,然后再新建一个数据库,取名 cz,通过 SQL Server 的数据导入/导出工具将 Bo

4、ok(凭证表)、Enterprise(部门表)Remain(余额表)、Sections(科目余额表)4 张表从帐套数据库中导入新建的数据库 cz 中。 3. 将部门表(enterprise)合并多级部门编码并保留部门名称和合并后部门编码得到部门名称表(bmname)。 select enterprisename as bmname,(rtrim (case when E1 0 then rtrim(right(000+cast(E2 as varchar),3) else end)+(case when E3 0 then rtrim(right(000+cast(E4 as varchar)

5、,3) else end)+(case when E5 0 then rtrim(right(000+cast(第一级部门编码 as varchar),3) else end)+(case when 第二级部门编码 0 then rtrim(right(000+cast(第三级部门编码 as varchar),3) else end)+(case when 第四级部门编码 0 then rtrim(right(000+cast(第五级部门编码 as varchar),3) else end) ) as 部门编码 into 部门名称表 from 部门表;4. 将科目余额表(sections)合并

6、多级科目编码并保留科目名称和合并后的科目编码得到科目表(kmname)。 select sectionname as kmname,(rtrim (case when S1 0 then rtrim(right(000+cast(S2 as varchar),2) else end)+(case when S3 0 then rtrim(right(000+cast(S4 as varchar),2) else end)+(case when S5 0 then rtrim(right(000+cast(第一级科目编码 as varchar),3) else end)+(case when 第

7、二级科目编码 0 then rtrim(right(000+cast(第三级科目编码 as varchar),2) else end)+(case when 第四级科目编码 0 then rtrim(right(000+cast(第五级科目编码 as varchar),2) else end) ) as 科目编码 into 科目名称表 from 科目余额表;5. 将凭证表(book)分别合并多级部门编码和多级科目编码并按月汇总得到各部门按月按科目辅助明细表(fz)。 select *,(rtrim (case when S1 0 then rtrim(right(000+cast(S2 as

8、varchar),2) else end)+(case when S3 0 then rtrim(right(000+cast(S4 as varchar),2) else end)+(case when S5 0 then rtrim(right(000+cast(E1 as varchar),3) else end)+(case when E2 0 then rtrim(right(000+cast(E3 as varchar),3) else end)+(case when E4 0 then rtrim(right(000+cast(E5 as varchar),3) else end

9、) ) as bm into #pzmxb from Book;select sum(debmoney) as deb,sum(cremoney) as cre,month(voucherdate) as mon,km,bm into fz from #pzmxb group by bm,km,month(voucherdate) order by bm,km,mon;类 SQL:1 . select *,(rtrim (case when 第一级科目编码 0 then rtrim(right(000+cast(第二级科目编码 as varchar),2) else end)+(case wh

10、en 第三级科目编码 0 then rtrim(right(000+cast(第四级科目编码 as varchar),2) else end)+(case when 第五级科目编码 0 then rtrim(right(000+cast(第一级部门编码 as varchar),3) else end)+(case when 第二级部门编码 0 then rtrim(right(000+cast(第三级部门编码 as varchar),3) else end)+(case when 第四级部门编码 0 then rtrim(right(000+cast(第五级部门编码 as varchar),3

11、) else end) ) as 部门编码 into 临时凭证明细表 from 凭证表; select sum(借方金额) as 借方金额,sum(贷方金额) as 贷方金额,month(凭证日期) as 月份,科目编码,部门编码 into 辅助账 from 临时凭证明细表 group by 部门编码,科目编码 ,month(凭证日期) order by 部门编码 ,科目编码,月份;6. 将余额表(remain )分别合并多级部门编码和多级科目编码并保留年初余额、合并后的部门编码和科目编码得到各部门分科目期初余额表(qcye)。 select cum00 ,(rtrim (case when

12、S1 0 then rtrim(right(000+cast(S2 as varchar),2) else end)+(case when S3 0 then rtrim(right(000+cast(S4 as varchar),2) else end)+(case when S5 0 then rtrim(right(000+cast(E1 as varchar),3) else end)+(case when E2 0 then rtrim(right(000+cast(E3 as varchar),3) else end)+(case when E4 0 then rtrim(righ

13、t(000+cast(E5 as varchar),3) else end) ) as bm into qcye from Remain;类 SQL:1 . select 年初余额 ,(rtrim (case when 第一级科目编码 0 then rtrim(right(000+cast(第二级科目编码 as varchar),2) else end)+(case when 第三级科目编码 0 then rtrim(right(000+cast(第四级科目编码 as varchar),2) else end)+(case when 第五级科目编码 0 then rtrim(right(000

14、+cast(第一级部门编码 as varchar),3) else end)+(case when 第二级部门编码 0 then rtrim(right(000+cast(第三级部门编码 as varchar),3) else end)+(case when 第四级部门编码 0 then rtrim(right(000+cast(第五级部门编码 as varchar),3) else end) ) as 部门编码 into 期初余额表 from 余额表;7. 扩展部门名称表(bmname),增加各月余额、各月收入、各月收支等项,以显示部门各月余额和收支情况。 alter table bmnam

15、e add cum00 money,cum01 money,cum02 money,cum03 money,cum04 money,cum05 money,cum06 money,cum07 money,cum08 money,cum09 money,cum10 money,cum11 money,cum12 money,in01 money,in02 money,in03 money,in04 money,in05 money,in06 money,in07 money,in08 money,in09 money,in10 money,in11 money,in12 money,out01

16、money,out02 money,out03 money,out04 money,out05 money,out06 money,out07 money,out08 money,out09 money,out10 money,out11 money,out12 money;类 SQL:1 . alter table 部门名称表 add 年初余额 money,一月份余额 money,二月份余额 money,三月份余额 money,四月份余额 money,五月份余额 money,六月份余额 money,七月份余额 money,八月份余额 money,九月份余额 money,十月份余额 money

17、,十一月份余额 money,十二月份余额 money, 一月份收入 money,二月份收入 money,三月份收入 money,四月份收入 money,五月份收入 money,六月份收入 money,七月份收入 money,八月份收入 money,九月份收入 money,十月份收入 money,十一月份收入 money,十二月份收入 money, 一月份支出 money,二月份支出 money,三月份支出 money,四月份支出 money,五月份支出 money,六月份支出 money,七月份支出 money,八月份支出 money,九月份支出 money,十月份支出 money,十一月份支

18、出 money,十二月份支出 money;8. 将步骤七中扩展的各项值初始化为 0。 update bmname set cum00=0,cum01=0,cum02=0,cum03=0,cum04=0,cum05=0,cum06=0,cum07=0,cum08=0,cum09=0,cum10=0,cum11=0,cum12=0,in01=0,in02=0,in03=0,in04=0,in05=0,in06=0,in07=0,in08=0,in09=0,in10=0,in11=0,in12=0,out01=0,out02=0,out03=0,out04=0,out05=0,out06=0,out

19、07=0,out08=0,out09=0,out10=0,out11=0,out12=0;类 SQL:1 . update 部门名称表 set 年初余额=0, 一月份余额=0,二月份余额=0,三月份余额=0,四月份余额=0, 五月份余额=0,六月份余额 =0,七月份余额 =0,八月份余额=0,九月份余额=0,十月份余额=0,十一月份余额=0, 十二月份余额=0, 一月份收入 =0,二月份收入 =0,三月份收入=0,四月份收入 =0,五月份收入=0,六月份收入=0, 七月份收入=0,八月份收入 =0,九月份收入 =0,十月份收入=0,十一月份收入 =0,十二月份收入=0, 一月份支出=0,二月份

20、支出=0,三月份支出=0,四月份支出=0,五月份支出=0,六月份支出=0,七月份支出=0, 八月份支出=0,九月份支出=0,十月份支出 =0,十一月份支出 =0,十二月份支出=0;9. 从期初余额表(qcye)中汇总得到各部门年初余额,并更新部门名称表(bmname)中各部门年初余额。 update bmname set cum00=a.ye from (select bm,sum(cum00) as ye from qcye where km like 3% group by bm) awhere bmname.bm=a.bm; 类 SQL:1 . update 部门名称表 set 年初余额

21、= 临时表.余额 from (select 部门编码,sum(年初余额) as 余额 from 期初余额表 where 科目编码 like 3% group by 部门编码) as 临时表 where 部门名称表.部门编码=临时表.部门编码;10. 从辅助明细表(fz)中汇总得到各部门按月支出表(bmpayout)和收入表(bmincome)。 select sum(cre) cre,bm,mon into bmincome from fz where substring(km,1,1) =4 group by mon,bm;select sum(deb) deb,bm,mon into bm

22、payout from fz where substring(km,1,1) =5 group by mon,bm; 类 SQL:1 . select sum(贷方金额) as 贷方金额,部门编码,月份 into 部门收入表 from 辅助账 where substring(科目编码,1,1) =4 group by 月份,部门编码; select sum(借方金额) as 借方金额,部门编码,月份 into 部门支出表 from 辅助账 where substring(科目编码,1,1) =5 group by 月份,部门编码;11. 从部门支出表(bmpayout )和收入表( bminc

23、ome)中得到各部门每月的收支数据并更新部门名称表(bmname)中最基层部门每月收支数据,然后根据每月收支数据以及年初余额计算出最基层部门的各月余额。 update bmname set in01=cre from bmincome where bmincome.bm=bmname.bm and mon=1;update bmname set in02=cre from bmincome where bmincome.bm=bmname.bm and mon=2;update bmname set in03=cre from bmincome where bmincome.bm=bmname

24、.bm and mon=3;update bmname set in04=cre from bmincome where bmincome.bm=bmname.bm and mon=4;update bmname set in05=cre from bmincome where bmincome.bm=bmname.bm and mon=5;update bmname set in06=cre from bmincome where bmincome.bm=bmname.bm and mon=6;update bmname set in07=cre from bmincome where bm

25、income.bm=bmname.bm and mon=7;update bmname set in08=cre from bmincome where bmincome.bm=bmname.bm and mon=8;update bmname set in09=cre from bmincome where bmincome.bm=bmname.bm and mon=9;update bmname set in10=cre from bmincome where bmincome.bm=bmname.bm and mon=10;update bmname set in11=cre from

26、bmincome where bmincome.bm=bmname.bm and mon=11;update bmname set in12=cre from bmincome where bmincome.bm=bmname.bm and mon=12;update bmname set out01=deb from bmpayout where bmpayout.bm=bmname.bm and mon=1;update bmname set out02=deb from bmpayout where bmpayout.bm=bmname.bm and mon=2;update bmnam

27、e set out03=deb from bmpayout where bmpayout.bm=bmname.bm and mon=3;update bmname set out04=deb from bmpayout where bmpayout.bm=bmname.bm and mon=4;update bmname set out05=deb from bmpayout where bmpayout.bm=bmname.bm and mon=5;update bmname set out06=deb from bmpayout where bmpayout.bm=bmname.bm an

28、d mon=6;update bmname set out07=deb from bmpayout where bmpayout.bm=bmname.bm and mon=7;update bmname set out08=deb from bmpayout where bmpayout.bm=bmname.bm and mon=8;update bmname set out09=deb from bmpayout where bmpayout.bm=bmname.bm and mon=9;update bmname set out10=deb from bmpayout where bmpa

29、yout.bm=bmname.bm and mon=10;update bmname set out11=deb from bmpayout where bmpayout.bm=bmname.bm and mon=11;update bmname set out12=deb from bmpayout where bmpayout.bm=bmname.bm and mon=12;update bmname set cum01=cum00+in01-out01;update bmname set cum02=cum01+in02-out02;update bmname set cum03=cum

30、02+in03-out03;update bmname set cum04=cum03+in04-out04;update bmname set cum05=cum04+in05-out05;update bmname set cum06=cum05+in06-out06;update bmname set cum07=cum06+in07-out07;update bmname set cum08=cum07+in08-out08;update bmname set cum09=cum08+in09-out09;update bmname set cum10=cum09+in10-out10

31、;update bmname set cum11=cum10+in11-out11;update bmname set cum12=cum11+in12-out12; 12. 通过循环从最基层部门开始汇总统计上层部门的月底余额和收支情况。 declare i intset i=1while i6beginupdate bmname set bmname.cum00=a.cum00,bmname.cum01=a.cum01,bmname.cum02=a.cum02,bmname.cum03=a.cum03,bmname.cum04=a.cum04,bmname.cum05=a.cum05,bmn

32、ame.cum06=a.cum06,bmname.cum07=a.cum07,bmname.cum08=a.cum08,bmname.cum09=a.cum09,bmname.cum10=a.cum10,bmname.cum11=a.cum11,bmname.cum12=a.cum12,bmname.in01=a.in01,bmname.in02=a.in02,bmname.in03=a.in03,bmname.in04=a.in04,bmname.in05=a.in05,bmname.in06=a.in06,bmname.in07=a.in07,bmname.in08=a.in08,bmna

33、me.in09=a.in09,bmname.in10=a.in10,bmname.in11=a.in11,bmname.in12=a.in12,bmname.out01=a.out01,bmname.out02=a.out02,bmname.out03=a.out03,bmname.out04=a.out04,bmname.out05=a.out05,bmname.out06=a.out06,bmname.out07=a.out07,bmname.out08=a.out08,bmname.out09=a.out09,bmname.out10=a.out10,bmname.out11=a.out

34、11,bmname.out12=a.out12from (select substring(bm,1,i*3) as bm,sum(cum00) as cum00,sum(cum01) as cum01,sum(cum02) as cum02,sum(cum03) as cum03,sum(cum04) as cum04,sum(cum05) as cum05,sum(cum06) as cum06,sum(cum07) as cum07,sum(cum08) as cum08,sum(cum09) as cum09,sum(cum10) as cum10,sum(cum11) as cum1

35、1,sum(cum12) as cum12,sum(in01) as in01,sum(in02) as in02,sum(in03) as in03,sum(in04) as in04,sum(in05) as in05,sum(in06) as in06,sum(in07) as in07,sum(in08) as in08,sum(in09) as in09,sum(in10) as in10,sum(in11) as in11,sum(in12) as in12,sum(out01) as out01,sum(out02) as out02,sum(out03) as out03,su

36、m(out04) as out04,sum(out05) as out05,sum(out06) as out06,sum(out07) as out07,sum(out08) as out08,sum(out09) as out09,sum(out10) as out10,sum(out11) as out11,sum(out12) as out12from bmname group by substring(bm,1,i*3) a where bmname.bm=a.bm;set i=i+1end 13. 最后得到部门名称表(bmname,即部门余额表),部门辅助明细表(fz),科目表(k

37、mname)3张表,可以方便地查看各部门每月的收支及余额情况。 经验模型 经验模型: 关法规: 法规名称: 中华人民共和国审计法实施条例发文文号: (1997)国务院令第 231 号发文单位: 国务院适用范围: 计算机辅助审计生效日期: 1997-10-21失效日期: 无 法规条目: “审计机关有权检查被审计单位运用电子计算机管理财政收支、财务收支的财务会计核算系统。被审计单位应当向审计机关提供运用电子计算机储存、处理的财政收支、财务收支电子数据以及有关资料。 ” 法规名称: 浙江省预算外资金管理条例发文文号: 无发文单位: 无适用范围: 无生效日期: 2000-01-01失效日期: 无 法规条目: 第三十八条:“各级审计部门应当加强对预算外资金的管理和使用情况的审计监督,在向本级人大常委会作预算执行和其他财政收支审计报告时,报告预算外资金管理使用的审计情况。”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报