资源描述
巧用AO2011,实现多年账套合并
在对某专项资金审计过程中,为了实现对多年数据的查询,我们尝试在AO2011中对多年账套进行合并,合并过程中发现,AO2011中的账套合并功能较AO2008中有所改善,但也存在不完善之处。我们在合并合并账套过程中在充分利用AO2011自带功能的基础上,通过分析后台数据结构,用账套原始数据替换合并账套的相关数据,成功地实现了多年账套的合并,具体过程如下:
一、在AO2011中合并多年账套
1、在【审计分析】\【账表分析】菜单中选择【多套数据审查】\【科目变更检查及调整】,选中残联机关2009年和2010年两个账套后,点击【完成】。
2、在弹出的窗口中,对两个年度的非对应科目进行调整。
根据操作中的经验,调整会计科目时,应遵循以下原则:其他年度没有对应科目和编码的,创建对应科目;科目编码相同,科目不同的修改科目;科目相同,编码不同,如编码不与其他科目编码冲突,可以修改编码,如有冲突,可同时修改两个年度的编码。修改完成后,直至点击【只显示不同科目】后,科目对比栏内没有显示。
3、在【审计分析】\【账表分析】菜单中选择【多套数据审查】\【科目余额检查及调整】,调整后对两个原始账套进行【账表重建】。在【科目方向调整】点击科目借贷方向为空的科目编码,选择正确的科目借贷方向。调整完后点击【账表重建】。
4、在【审计分析】\【账表分析】菜单中点击【多套数据审查】\【多套数据合并】,选择残联机关09和10年度的两个账套,点击【下一步】。
5、合并过程中,提示获取科目余额数据失败。
账表重建完成后,进入后并后的“残联机关09-10”账套,发现没有期初余额。
二、通过替换余额表数据,解决期初余额为0的问题
1、通过【数据分析】功能,用残联机关2009年的余额替换合并后账套的期初余额,SQL语句如下:
--生成残联机关2009余额
SELECT [科目余额].* into 残联机关2009余额
FROM [科目余额]
WHERE ([科目余额].[年度]=2009) AND ([科目余额].[电子数据名称]='残联机关')
--替换合并后账套的期初余额
update [科目余额] set 期初余额=b.期初余额
FROM [科目余额] a INNER JOIN [残联机关2009余额] b ON a.[科目编码]=b.[科目编码]
WHERE a.[电子数据名称]='残联机关09-10'
系统提示没有“UPDATE”权限,估计是AO系统中禁止对财务数据进行修改。根据提示中显示的数据库名,直接到后台数据库中修改相关数据。
2、在SQL的对象资源管理器中,根据提示的数据库名,打开后发现“科目余额”表中“残联机关09-10”账套没有期初余额。
--用“残联机关”账套2009年的期初余额来替换“残联机关09-10”账套的期初余额。
update [科目余额] set 期初余额=b.期初余额
FROM [科目余额] a INNER JOIN [残联机关2009余额] b ON a.[科目编码]=b.[科目编码]
WHERE a.[电子数据名称]='残联机关09-10'
--替换完成后查看“残联机关09-10”的期初余额,发现替换成功。
select * from [科目余额] a
WHERE a.[电子数据名称]='残联机关09-10'
3、进入AO查看合并后的账套,发现期初余额有了金额,但期末余额计算不准确,必须进行账表重建。
账表重建过程中,AO提示“获取科目余额失败”,未能进行账表重建。推测科目余额可能存放于其他的表中。
4、进入SQL的对像资源管理器,经过对表结构进行分析,认为原始的科目余额可能存放于“科目余额期初表” 中,查看该表的数据,发现该表没有“残联机关09-10”的期初余额。
只需将残联机关2009年的余额数据,更改单位名称、 电子数据编号 、电子数据名称后插入“科目余额期初表”,就可生成“残联机关09-10”的期初余额数据。
5、通过“select * from [科目余额] WHERE [电子数据名称]='残联机关09-10'”取得“残联机关09-10”的电子数据编号。
执行以下语句,将“残联机关09-10”的期初余额数据插入“科目余额期初表”。
INSERT INTO [科目余额期初表]
([科目编码]
,[本币期初余额]
,[余额方向]
,[会计年份]
,[会计月份]
,[科目名称]
,[是否现金或现金等价物]
,[外币期初余额]
,[本币本期借发生额]
,[外币本期借发生额]
,[本币本期贷发生额]
,[外币本期贷发生额]
,[科目全称]
,[科目级别]
,[是否最底级科目]
,[币种代码]
,[上级科目编码]
,[分录数]
,[年度]
,[单位名称]
,[电子数据编号]
,[电子数据名称])
SELECT [科目编码]
,[本币期初余额]
,[余额方向]
,[会计年份]
,[会计月份]
,[科目名称]
,[是否现金或现金等价物]
,[外币期初余额]
,[本币本期借发生额]
,[外币本期借发生额]
,[本币本期贷发生额]
,[外币本期贷发生额]
,[科目全称]
,[科目级别]
,[是否最底级科目]
,[币种代码]
,[上级科目编码]
,[分录数]
,[年度]
,'残联机关'
,'adbacc50_bdff_4338_b419_cfc519e2eaf6'
,'残联机关09-10'
FROM [科目余额期初表]
where [年度]=2009 AND [电子数据名称]='残联机关'
6、在SQL中查看“科目余额期初表”,发现“残联机关09-10”账套科目余额已成功加入。
到AO中对“残联机关09-10”账套进行账表重建。账表重建后打开科目余额表,发现金额已正常。
三、通过替换科目表数据,解决记账凭证中“科目全称”不显示的问题。
1、在对合并后的账套进行数据分析时发现了一个问题,在记账凭证查询中,部分新增的会计科目不能显示会计科目全称。
2、进入SQL对象和资源管理器中,查看会计科目表的数据,发现在合并后账套的会计科目表中,新增的会计科目没有余额方向、上级科目编码、科目全称、科目级别等信息。
3、用残联机关2009年和2010年账套的“会计科目表”信息分别替换'残联机关09-10'账套的相关会计科目信息。
update 会计科目表 set 余额方向=b.余额方向,上级科目编码=b.上级科目编码,科目全称=b.科目全称,科目级别=b.科目级别
FROM 会计科目表 a INNER JOIN
(select * from 会计科目表 where [年度]=2010 AND [电子数据名称]='残联机关') b
ON a.[科目编码]=b.[科目编码]
WHERE a.[电子数据名称]='残联机关09-10' and a.科目全称 is null
update 会计科目表 set 余额方向=b.余额方向,上级科目编码=b.上级科目编码,科目全称=b.科目全称,科目级别=b.科目级别
FROM 会计科目表 a INNER JOIN
(select * from 会计科目表 where [年度]=2009 AND [电子数据名称]='残联机关') b
ON a.[科目编码]=b.[科目编码]
WHERE a.[电子数据名称]='残联机关09-10' and a.科目全称 is null
4、到AO中查看凭证,发现已有科目全称信息
AO2011的多套数据合并功能较AO2008有了一定的改善,但在使用中仍存在一定的问题,通过在后台数据库对相关数据进行修改,弥补了原有多套数据合并功能的不足,成功地实现了对同一账套跨年度的分析。
展开阅读全文