温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
年巧用
Access
采集
用友
Ax
财政
财务管理
软件
导出
xML
财务数据
巧用Access,2022采集用友A++财政财务管理软件导出XML财务数据
2022年8月,曲靖市审计局在对某县县长离任进行经济责任审计时,采集到某单位用友A++财政财务管理软件(V5.2)备份XML财务数据,采用AO2022数据采集模板和SQL数据库转换等多种方法,始终无法导入A02022系统。
偶然间,笔者想到既然能用Microsoft Excel 2022电子表格处理XML文件,那么也许Microsoft Access 2022数据库也能处理XML数据,于是试了一下,果然成功,且过程十分简单,现将该方法介绍如下。
一、利用Microsoft Access 2022数据导入功能将被审计单位提供的XML格式财务数据导入Access,复原成一个完整的财务数据库
1.在Microsoft Access 2022中新建一个Access数据库XXGA.accdb,鼠标右键点击右边“表1:表〞→“导入(M)〞 →“XML文件(M)〞,选择要导入的XML文件“公共档案类〞,将其包含的文件全部导入Access数据库XXGA.accdb。
2.点击“创立〞→“表〞新建表,按(一)步骤导入“总账类〞全部文件。
二、Microsoft Access 2022数据库升迁
XML数据转换完成后,利用Microsoft Access 2022据库升迁功能,将Microsoft Access 2022数据库XXGA.accdb升迁到SQL Server 2022 R2中。具体步骤如下:
1.更改平安设置。点击“平安警告 已禁用了数据库的某些内容〞后的“选项〞按钮,点击“启用此内容〞更改平安设置。
2.点击工具栏上的“SQL Server〞按钮,启动数据库升迁向导。
3.选择(或输入)SQL数据库效劳器名称、账户、密码和升迁后的SQL Server数据库名称(XXGA2022)。
4.按>>按钮,将可用表全部选择到“导出SQL Server〞中,点击“下一步〞完成数据升迁。
需要注意的是,在升迁Microsoft Acess 2022数据库前要关闭所有已翻开的数据表,否那么会出现“任何数据库对象处于翻开状态时’升迁向导’均无法运行。请关闭翻开的对象并重试〞如下错误提示信息:
三、SQL数据整理与AO数据采集
完成Access数据库升迁后,即可启动SQL Server 2022 R2,对升迁后的数据库XXGA2022进行数据整理,重点检查科目表、科目余额表有无编码重复情况,科目余额表各级科目余额是否齐全,凭证表、余额表借贷是否平衡;以及时间、金额等字段类型是否正确。
科目编码重复与各级科目余额不全,是造成AO账表重建失败的主要原因之一。如果各级科目余额不全,需要按照末级科目→一级科目的顺序逐级汇总。有关数据整理语句如下:
(一)科目表
select 科目编号,科目名称,余额方向 into XXGA2022.dbo.审计_会计科目表 from XXGA2022.dbo.会计科目
(二)凭证表
SELECT 会计年度,会计期间号 as 会计期间,left(记账凭证日期,4)+"-"+substring(记账凭证日期,5,2)+"-"+right(记账凭证日期,2) as 凭证日期, case when 记账凭证类型编号="JZ" then "记账" end as 凭证类型,记账凭证编号 as 凭证编号,记账凭证行号 as 分录号,记账凭证 as ,科目编号, 辅助项1编号 as 辅助核算代码,cast(借方本币金额 as decimal(18,2)) as 借方金额,cast(贷方本币金额 as decimal(18,2)) as 贷方金额,附件数,制单人,审核人,记账人,记账标志,作废标志 into XXGA2022.dbo.审计_会计凭证表 FROM XXGA2022.dbo.记账凭证 where 记账标志=1 and 作废标志=0 order by 会计年度,会计期间号,left(记账凭证日期,4)+"-"+substring(记账凭证日期,5,2)+"-"+right(记账凭证日期,2)
(三)余额表
1.原始数据转换
SELECT 会计年度,会计期间号 as 会计期间,科目编号,case when 期初余额方向="借" then cast(期初本币余额 as decimal(18,2)) else "0.00" end as 期初借方余额,case when 期初余额方向="贷" then abs(cast(期初本币余额 as decimal(18,2))) else "0.00" end as 期初贷方余额 into #科目余额 FROM XXGA2022.dbo.科目余额及发生额 where 会计期间号="1" order by 会计年度,会计期间号,科目编号
2.查看科目编码长度及重复情况
select distinct 会计年度,LEN(科目编号) as 码长 from #科目余额 group by 会计年度,科目编号 order by 会计年度,LEN(科目编号) ---科长分别 为目6、8、10、12共4级,无1级科目
select distinct 会计年度,科目编号,count(科目编号) as 次数 from #科目余额 group by 会计年度,科目编号 having count(科目编号)>1 order by 会计年度,科目编号
(1)查询末级明细科目,生成5级科目余额
SELECT会计年度,科目编号,sum(期初借方余额) as 期初借方余额,sum(期初贷方余额) as 期初贷方余额 into XXGA2022.dbo.审计_科目余额表 FROM #科目余额 group by 会计年度,科目编号 order by 会计年度,科目编号
(2)汇总5级科目,生成4级科目余额
insert into XXGA2022.dbo.审计_科目余额表 select 会计年度,left(科目编号,10) as 科目编号,sum(期初借方余额) as 期初借方余额,sum(期初贷方余额) as 期初贷余额 from XXGA2022.dbo.审计_科目余额表 where len(科目编号)=12 group by 会计年度,left(科目编号,10) order by 会计年度,left(科目编号,10)
(3)汇总4级科目,生成3级科目余额
insert into XXGA2022.dbo.审计_科目余额表 select 会计年度,left(科目编号,8) as 科目编号,sum(期初借方余额) as 期初借方余额, sum(期初贷方余额) as 期初贷余额 from XXGA2022.dbo.审计_科目余额表 where len(科目编号)=10 group by 会计年度,left(科目编号,8) order by 会计年度,left(科目编号,8)
(4)汇总3级科目,生成2级科目余额
insert into XXGA2022.dbo.审计_科目余额表 select 会计年度,left(科目编号,6) as 科目编号,sum(期初借方余额) as 期初借方余额, sum(期初贷方余额) as 期初贷余额 from XXGA2022.dbo.审计_科目余额表 where len(科目编号)=8 group by 会计年度,left(科目编号,6) order by 会计年度,left(科目编号,6 )
(5)汇总2级科目,生成1级科目余额
insert into XXGA2022.dbo.审计_科目余额表 select 会计年度,left(科目编号,4) as 科目编号,sum(期初借方余额) as 期初借方余额,sum(期初贷方余额) as 期初贷余额 from XXGA2022.dbo.审计_科目余额表 where len(科目编号)=6 group by 会计年度,left(科目编号,4) order by 会计年度,left(科目编号,4)
(四)辅助核算信息
由于各单位辅助核算设置不一致,因此难形成统一的转换脚本。以下脚本仅供参考。
1.辅助信息
SELECT distinct 档案名称 as 辅助类别,档案值编码 as 辅助代码,档案值名称 as 辅助名称 into XXGA2022.dbo.审计_辅助信息表 FROM XXGA2022.dbo.自定义档案项 a left join XXGA2022.dbo.自定义档案值 b on a.档案编码=b.档案编码 order by 档案值编码。
2.辅助余额表
SELECT 会计年度,会计期间号,科目编号,辅助项编号 as 辅助代码,期初余额方向, cast(期初本币余额 as decimal(18,2)) as期初余额 into 辅助余额表 FROM XXGA2022.dbo.科目余额及发生额。
3.辅助凭证
SELECT会计年度,会计期间号,cast (substring(记账凭证日期,1,4)+"-" + substring(记账凭证日期,5,2)+"-"+ substring(记账凭证日期,7,2) as DATE) as 记账凭证日期,记账凭证类型编号,记账凭证编号,记账凭证行号,科目编号,记账凭证,辅助项编号, cast(借方本币金额 as decimal(18,2)) as 借方金额, cast(贷方本币金额as decimal(18,2)) as贷方金额,附件数,制单人,审核人,记账人 into 辅助凭证表 FROM XXGA2022.dbo.记账凭证 where 记账标志=1 and 作废标志=0
整理完成后即可利用AO2022系统辅助导入功能将科目表、凭证表、余额表及辅助核算信息导入AO系统进行账表重建,供AO审计分析。
(作者单位:云南省曲靖罗平县审计局)