近年来,我们在审计中多次遇到被审计单位采用用友GRP R9i软件进行财务核算,而AO2011软件中自带的用友GRP R9相关模板均不匹配,只能手工导入采集数据库数据。因该软件设置了部门、项目、往来等多类辅助核算科目,必须运用AO2011的辅助账采集功能,转换为包含部门、项目、往来账等多类辅助核算信息的电子账套,从而更直观地查看电子数据。下面以用友GRP R9i为例,演示在AO2011软件中导入多类辅助核算财务数据的方法。 一、数据的前期处理 在sql server数据库软件中编写SQL语句对数据进行前期处理,生成科目表、余额表、凭证表、辅助项目表和辅助余额表。主要对以下八个数据表进行前期处理: gl_kmxx(科目信息表)gl_yeb(科目余额表) gl_pzml(凭证主表)gl_pznr(凭证明细表) g1_fzxzl(辅助项资料表)pubbmxx(部门信息表) gl_xmzl(项目资料表)pubkszl(客商资料表) 生成科目表:select kjnd;gsdm;zth;kmdm;kmmc;yefx into kmb2012 from gl_kmxx where kjnd=2012 and gsdm=‘101000’and zth=‘101000’(注:gsdm公司代码、zth账套号需向被审计单位询问。) 生成科目余额表:select a.kjnd;a.gsdm;a.zth;a.kmdm;ncj;ncd into yeb2012 from gl_yeb a inner join kmb2012 b on a.kjnd=b.kjnd and a.gsdm=b.gsdm and a.zth=b.zth and a kmdm=b.kmdm where a YEBLX=‘B'(注:YEBLX字段为余额表类型,值为‘B’代表货币余额。如不选择该条件,则会将科目的数量余额同时列入。) 科目余额表处理:delete from yeb2012 where ncj=0and ncd=0/***去除年初无余额科目***/ delete from yeb2012 where round(ncj;2)=round(ncd;2)/***去除年初借贷方余额相等科目***/ insert into yeb2012 select kjnd;gsdm;zth;left(kmdm;7);sum(ncj);sum(ncd)from yeb2012 where len(kmdm)=9group by kjnd;gsdm;zth;left(kmdm;7)/***汇总有下级的三级科目余额***/ insert into yeb2012 select kjnd;gsdm;zth;left(kmdm;5);sum(ncj);sum(ncd)from yeb2012 where len(kmdm)=7group by kjnd;gsdm;zth;left(kmdm;5)/***汇总有下级的二级科目余额***/ insert into yeb2012 select kjnd;gsdm;zth;left(kmdm;3);sum(ncj);sum(ncd)from yeb2012 where len(kmdm)=5group by kjnd;gsdm;zth;left(kmdm;3)/***汇总有下级的一级科目余额***/ select kjnd;gsdm;zth;kmdm;sum(ncj)as ncj;sum(ncd)as ncd into ye2012 from yeb2012 group by kjnd;gsdm;zth;kmdm/***生成汇总同科目不同辅助项目余额的新科目余额表***/ update ye2012 set ncj=ncj-ncd where ncj〈〉0and ncd〈〉0 and left(kmdm;1)=1 update ye2012 set ncd=0 where ncj 〈〉0 and ncd〈〉0and left(kmdm;1)=1 update ye2012 set ncd=ncd-ncj where ncj 〈〉0 and ncd〈〉0 and left(kmdm;1)>1 update ye2012 set ncj=0 where ncj 〈〉0 and ncd〈〉0 and left(kmdm;1)>1/***处理借贷方均有余额科目***/ 生成凭证表:select a.*into pzb2012 from(select a.kjqj;a.gsdm;a.zth;a.pzly;a.pzh;pzrq=cast(a.pzrq as datetime);zy;kmdm;bmdm;wldm;xmdm;jdbz;je;flh;shid from gl_pzml a inner join gl_pznr b on a.kjqj=b.kjqj and a.gsdm=b.gsdm and a.zth=b.zth and a.pzh=b.pzh and a.pzly=b.pzly)a inner join kmb2012 b on left(a.kjqj;4)=b.kjnd and a.gsdm=b.gsdm and a.zth=b.zth and a.kmdm=b.kmdm where a.shid〈〉-1(注:将凭证主表与凭证明细表关联生成一张表。其中pzly字段为凭证来源,值为‘GA’则为结转自动生成,值为‘FA’则为固定资产系统生成,若不选择该字段会出现凭证号重号现象;shid=-1为未经审核凭证)