当前位置:文档之家› AO2011导入国库集中支付系统3.0的辅助账资料

AO2011导入国库集中支付系统3.0的辅助账资料

AO2011导入国库集中支付系统3.0的辅助账
目前我省财政系统总预算软件已经升级至3.0,笔者在此分享一下导入该软件辅助账的过程,和大家共同研究。

该系统的收支明细使用了辅助核算,所以如果只导入科目表、余额表和凭证表,只能看到收支的最顶级科目,而无法看到收支明细账,所以必须再导入另外三张表:辅助信息表,辅助余额表和辅助凭证表。

首先将用到的表从ORACLE导入SQL SERVER2008R2,此过程在此就不演示了,需要的表:ELE_ACCOUNTANT_SUBJECT(科目表),GL_REMAIN(余额表),GL_VOUCHER(凭证主表),GL_VOUCHER_DETAIL(凭证子表)。

接下来整理表:
一、科目表
select distinct CHR_CODE科目编码,CHR_NAME科目名称,IS_DEBIT余额方向
into科目表2015
from dbo.ELE_ACCOUNTANT_SUBJECT
where SET_YEAR='2015'and is_deleted=0 and SUBJECT_KIND=0
and ST_ID like'{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
order by CHR_CODE
--SET_YEAR年份/is_deleted是否删除/SUBJECT_KIND科目类型/ST_ID账套号
二、余额表:
--余额表明细
select AS_CODE科目编码,BALANCE年初余额
into yeb
from dbo.GL_REMAIN
where SET_YEAR='2015'and ST_ID like
'{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'AS_CODE byorder
--将余额表按科目编码进行汇总求和年初余额,SUM(年初余额)select科目编码
yeb_1 into yeb
from by科目编码group
--查看余额表有几级科目yeb_1 科目编码LEN distinctselect()from
--以下操作是将下级科目求和汇总成上级科目并插入到余额表中
--末级长度为九的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,7)科目编码,SUM(年初余额)年初余额
from yeb_1
where LEN(科目编码)=9
group by left(科目编码,7)
--末级长度为七的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,5)科目编码,SUM(年初余额)年初余额
from yeb_1
where LEN(科目编码)=7
group by left(科目编码,5)
--末级长度为五的下级科目求和汇总成上级科目
insert into yeb_1
select LEFT(科目编码,3)科目编码,SUM(年初余额)年初余额
from yeb_1
where LEN(科目编码)=5
group by left(科目编码,3)
--余额表汇总
select a.科目编码,a.科目名称,a.余额方向,年初余额=case
when年初余额is null then 0
else年初余额
end
into余额表 2015
from kmb a join yeb_1b on a.科目编码=b.科目编码
三、凭证表:
--凭证主表
select VOUCHER_ID,VOU_DATE凭证日期,VOUCHER_NO凭证流水号
into pz_zb
from GL_VOUCHER
where SET_YEAR='2015'and ST_ID like
'{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
VOUCHER_NO VOU_DATE,by order账套号--SET_YEAR年份/ST_ID
凭证表明细--select VOUCHER_ID,VOUCHER_DETAIL_ID,AS_CODE科目编码,AS_NAME科目名称,
remark摘要,DEB_MONEY借方金额,CRE_MONEY贷方金额,EN_CODE单位编码,EN_NAME
case
=预算编码,单位名称.
when IN_BS_CODE is not null
then IN_BS_CODE
when BS_CODE is not null
BS_CODE
then
end,
预算名称=case
when IN_BS_NAME is not null
then IN_BS_NAME
when BS_NAME is not null
BS_NAME
then
end
into pz_mx
from dbo.GL_VOUCHER_DETAIL
where ST_ID like'{802AD1C3-0F37-4A88-BACF-E7959D5446AB}'
order by VOUCHER_ID
--凭证表汇总
select b.VOUCHER_ID源凭证号,a.VOUCHER_DETAIL_ID分录号,b.凭证流水号,b.凭证日期,a.科目编码,a.科目名称,a.摘要,a.借方金额,a.贷方金额,a.单位编码,a.单位名称,a.预算编码,a.预算名称
into凭证表2015
from pz_mx a
left join pz_zb b on a.VOUCHER_ID=b.VOUCHER_ID
order by month(b.凭证日期),b.凭证流水号
这里有一点非常重要,凭证流水号一定要转换成字符格式,否则后面AO无法正确导入。

四、辅助信息表和辅助余额表
实际上辅助信息表的所有字段都包含在了辅助余额表里面,所以在此只需生成辅助余额表:
SELECT DISTINCT A.科目编码,年初余额=0,余额方向,'单位分类'辅助类型,单位编码辅助编码,单位名称辅助名称
INTO辅助余额表
from凭证表A JOIN科目表B
ON A.科目编码=b.科目编码
WHERE left(A.科目编码,1)in('4','5')AND单位编码IS NOT NULL
UNION ALL
SELECT DISTINCT A.科目编码,年初余额=0,余额方向,'预算分类'辅助类型,预算编码辅助编码,预算名称辅助名称
from凭证表A JOIN科目表B
科目编码.b=科目编码.A ON
WHERE left(A.科目编码,1)in('4','5')AND预算编码IS NOT NULL
五、辅助凭证表和凭证表为一张表
六、使用AO2011的辅助导入功能导入上述几张表
选择数据库,选择表:
下一步:
采集
选择“是”
新建会计数据
开始导
入.
点击“辅助导入”
继续辅助导入,按照提示操作即
可。


导入辅助余额的时候选择单表竖排
BUG
怀疑是软件反复实验后仍然出错,导入辅助余额表的最后一步会出错,
查看日志发现:
“消息16,级别207,状态1,第1 行: 列名'AO辅助名称' 无效。

----insert [AOC_Finance_9357c5be-4739-4a86-be21-6f08160ea19d_000].dbo.[辅助余额期初表](辅助类型,辅助编码,辅助名称,期初余额,余额方向,科目编码,年度,单位名称,
电子数据编号,电子数据名称) Select [AO辅助类型],[AO辅助编码],[AO辅助名称],[AO期初余额],[AO余额方向],[AO科目编码],2015 as 年度,'ys' as 单位名称, '61859956_f6b0_48be_8477_689289a33a99' as 电子数据编号, 'ys' as 电子数据名称from
[AOC_Analyse_9357c5be-4739-4a86-be21-6f08160ea19d].[23339a8-8a49-4c74-b5d 3-a29bd0c0927].SJFXTempImportView2;”
打开sql server 2008,找到
“[AOC_Analyse_9357c5be-4739-4a86-be21-6f08160ea19d].[23339a8-8a49-4c74-b ”这个视图
5d3-a29bd0c0927].SJFXTempImportView2.
辅助名称”一列AO点击右键,选择设计,发现该视图里缺少“
将该字段勾选上,保存视图。

回到AO重新进行辅助导入
导入辅助凭证表时,选择单表横排
导入完成后,就可以账表重建了。

下面是通过辅助账审查功能看到的支出明细账.
查看凭证时,也可以看每一笔收入支出的辅助信息了:。

相关主题