用朋友R9升级版将财务数据导入AO的采集与转换方法_用友软件集团论文

用友R9升级版财务数据导入AO的采集和转换方法,本文主要内容关键词为:用友论文,升级版论文,财务数据论文,方法论文,AO论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

日前,审计人员为某行政单位预算执行审计进行电子数据采集整理工作。该单位使用财务管理软件为用友政务R9会计集中核算收支分类改革版,并经过升级。审计人员经沟通取得近三年财务数据备份.Bak文件,通过对原始财务电子数据的分析和整理,总结了一些用友R9升级版财务数据的采集和整理方法,与大家共同探讨。

本次数据整理目的:一是将被审计单位财务资料导入AO软件,以便其他审计人员能够查阅;二是尽量通过数据库分析方法,找到和发现准确的审计切入点,以提高工作效率和质量。

方法一:AO模板导入

AO模板导入简单快捷,是数据整理的首选方法。但AO中无本例直接对应的财务软件转换模板,审计人员多次试探,如,使用用友安易GRP_R9数据库备份模板导入,均无法重建账套,仅能导入凭证库,观察导入的凭证,仅有科目代码而不能显示会计科目,至此,模板导入失败。

方法二:sql采集整理

审计人员分析模板导入的凭证库,初步猜测是财务数据的会计科目表与采集模板中科目表不匹配,决定利用sql进入后台数据库,观察并整理数据资料。

第一步 利用.Bak文件恢复数据库。

首先,显示备份文件中的逻辑文件名

restore filelistonly from disk='C:\11.bak'

然后,用语句恢复数据库

restore database zw8897_R972_R9

from disk='C:\11.bak'

with move 'acctTplt' to 'C:\Program Files\Microsoft SQLServer\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\zw8897_R972_R9.mdf',move 'acctTplt_log' to 'C:\Program Files\MicrosoftSQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\zw8897_R972_R9.ldf'

如上图所示,代码中,C:\11.bak是备份回来的文件存放路径;zw8897_R972_R9是恢复的数据库名,从显示结果中可以看到;acctTplt、acctTplt_log是显示出的逻辑文件名;C:\Program Files\Microsoft SQLServ_er\MSSQL10_50.SQLEX-PRESS\MSSQL\DATA,是恢复后的数据库存放路径。

第二步 整理数据库

1.找表。R9升级版中科目表、余额表、凭证表的命名基本遵循用友常用规则,凭证分主表、从表两张表存储。

2.整理

(1)科目表

首先,分析科目代码(kmdm)字段的编码方式。

select distinct len(kmdm)frm GL_Kmxx

由此可见,该单位科目代码为7级编码,长度3-2-2-2-2-2-2。

然后,确定会计年度。由于备份文件是被审计单位提供,为加强对资料的了解,审计人员试探性测试科目表:

select kmdm,count(*)from gl_kmxx group by kmdm

以会计科目分组,科目数量为1至4,最大是4。

select kjnd,count(*)from gl_kmxx group by kjnd

以会计年度分组测试,执行结果如下:

由此得出,备份数据的会计年度为2007至2010年,是4个年度的数据备份。按年度整理科目表,将2010年科目表命名为b。

select distinct rtrim(kmdm)kmdm,kmmc into b

from GL_Kmxx where kjnd='2010'

最后,整理科目代码表

select km.kmdm,km.kmmc,kmqc=kl.kmmc

+case when len(km.kmdm)3 then'/'+k2.kmmcelse"end

+case when len(km.kmdm)5 then'/'+k3.kmmcelse"end

+case when len(km.kmdm)7 then'/'+k4.kmmcelse"end

+case when len(km.kmdm)9 then'/'+k5.kmmc else"end

+case when len(km.kmdm)11 then'/'+k6.kmmc else"end

+case when len(km.kmdm)13 then'/'+k7.kmmc else"end

into b1

from b km

join b k1 on left(km.kmdm,3)=k1.kmdm

join b k2 on left(km.kmdm,5)=k2.kmdm

join b k3 on left(km.kmdm,7)=k3.kmdm

join b k4 on left(km.kmdm,9)=k4.kmdm

join b k5 on left(km.kmdm,11)=k5.kmdm

join b k6 on left(km.kmdm,13)=k6.kmdm

join b k7 on left(km.kmdm,15)=k7.kmdm order by km.kmdm

至此,生成会计科目表b1

(2)余额表

首先,生成2010年科目余额表(ayeb)select rtrim(kmdm)kmdm,ncj,ncd

into ayeb

from GL_Yeb where kjnd=2010' order by kmdm

然后,整理余额表,将末级科目期初余额逐级汇总,如七级科目→六级科目、六级科目→五级科目,直至汇总到一级会计科目,代码如下(七级科目→六级科目):

insert into ayeb

select left(kmdm,13),sum(ncj),sum(ncd)from ayeb

where len(kmdm)=15

group by left(kmdm,13)将年初借(ncj)字段和年初贷(ncd)字段数据类型转换成money

alter table ayeb alter column ncj money

alter table ayeb alter column ncd money

最后,验证期初余额借贷方是否平衡

select*from ayeb order by kmdm

select sum(ncj),sum(ncd)from ayeb

where len(kmdm)=3

验证结果如下:

(3)凭证表

首先,区分年度,找出2010年度凭证主表和从表。

select*into gl_pzmla fromgl_pzml where kjqjlike '2010%%'

select*into gl_pznra from gl_pznr where kjqjlike 2010%%'

然后,关联主表、从表,条件为相同会计期间、相同凭证号

select a.pzh,a.pzrq,b.zy,b.kmdm,b.jdbz,b.je

into pzba

from gl_pzmla a,gl_pznra b

where a.kjqj=b.kjqj and a.pzh=b.pzh and a.kjqj like '2010%'

接着,将数据类型定义标准化:

一是将凭证日期由字符型改为日期时间型。

update pzba set pzrq=cast(pzrq as datetime)二是将金额字段数据类型转换成money。

alter table pzba alter column je money

最后,验证凭证表(pzb)中借、贷方发生额是否相等。

select sum(je)from pzba where jdbz='借'

借贷平衡,凭证库整理完毕!观察凭证库如下:

数据采集和整理工作至此已基本完成,通过AO数据库导入数据,其他审计人员均可使用AO查阅资料,完成了第一目标(AO导入过程按窗口提示即可,在此不做赘述)。

上述过程中,审计人员发现凭证表中项目代码(bmdm)、部门代码(xmdm)字段,在分析性复核中具有重要参考意义,决定生成审计中间表,对财务数据进行数据分析。为将代码具体化,审计人员再一次进入找表阶段,经过比较艰难的猜字段、猜表名,确定了项目辅助表gl_xmzl和部门辅助表bmxx。

第一步,整理凭证表,形成新表pzbal

select kjnd,a.kjqj,right(a.pzh,3)pzh,kmdm,zy,jf=casewhenjdbz='借'then je end,df=case when jdbz='贷'thenje end,bmdm,xmdm

into pzbal

from gl_pzml a,gl_pznrb

where a.kjqj=b.kjqj and a.pzh=b.pzh

order by kjqj,pzh

update pzbal set jf=0 where jf is null

update pzbal set df=0 where dfis null

第二步,关联科目名称和部门名称,形成新的中间表pzba2

select kjnd,kjqj,pzh,kmdm,(select kmqc from b where pzbal.kmdm=b.kmdm)kmq c,zy,jf,df,bmdm,(select bmmc from bmxxwhere right(pzbal.bmdm,17)=bmxx.bmdm)bmmc,xmdm

into pzba2

from pzbal

order bykjqj,pzh

update pzba2 set bmmc="where bmmc is null

最后,将生成的审计中间表以excel形式导出。

被审计单位2010年开始按照部门辅助核算,2011年在此基础上增添了项目辅助核算,由于AO没有辅助分类接口,审计人员无法导入辅助账。但将审计中间表以excel形式导出,供其他审计人员查阅,并结合sql查询方法,以支出辅助账的部门分类为切入点,做到了对重点事项的深度审查,对各部门内在关联的有机剖析,排查疑点、降低风险,大大提高了审计效率,收到了较好的效果。

标签:;  ;  ;  

用朋友R9升级版将财务数据导入AO的采集与转换方法_用友软件集团论文
下载Doc文档

猜你喜欢