猫咪视频

當前位置: 首頁
>公共服務>審計知識

中科江南預算單位賬務服務平台AO采集方法

发布日期:2020-01-09 11:37信息來源:計算機審計中心

隨著新政府會計准則制度在各級行政事業單位的全面施行,各級財政部門也逐漸開始推行網絡版預算單位財務核算軟件,以荊門市爲例,目前全市大多數縣(市、區)預算單位財務軟件已更換爲中科江南預算單位賬務服務平台,筆者根據對其後台數據的研究分析,爲大家簡述中科江南預算單位賬務服務平台數據采集轉換到AO2011中的方法,供各位審計同仁參考。

一、賬務平台後台原始數據庫結構分析。中科江南預算單位賬務服務平台數據集中存儲在財政部門,後台數據庫爲ORACLE,筆者通過對後台數據庫表結構的分析及模擬系統前台業務操作,最終確定了AO2011采集轉換所需的主要表格,分別爲賬套表FAP_BOOKSET、賬套類型表FAP_BOOKSET_TYPE、會計科目表BASE_ACCOUNT_SUBJECT、期初余額表ACC_REMAIN、憑證主表ACC_VOUCHER、憑證明細表ACC_VOUCHER_DETAIL、用戶表FAP_USER、預算項目表BASE_BUDGET_ITEM、功能分類表BASE_BUDGET_SUBJECT、經濟分類表BASE_BUDGET_SUBJECT_ITEM、 

資金性質表BASE_MONEY_KIND、往來表BASE_CURRENT、部門表ASE_DEPARTMENT 、資産類別表BASE_CARD_TYPE 等。

二、創建存儲過程生成六張標准表。編寫SQL語句,創建名爲ZWCL的存儲過程,設置賬套號爲變量@SET_CODE,生成科目表、余額表、憑證表、輔助信息表、輔助余額表、輔助憑證表,需要注意的是會計科目表中會計科目爲系統默認模版科目與預算單位實際新增科目的並集(可根據實際情況進行調整),SQL語句如下:

drop proc zwcl

go 

create proc zwcl 

@set_code varchar(100)

as 

begin 

drop table a_kmb,a_yeb,a_pzb,a_fzxxb,a_fzyeb,a_fzpzb

--生成科目表

select DISP_CODE 科目代碼,DISP_NAME 科目名稱,IS_DEBIT 科目方向 --(1-借,0-貸)

into a_kmb 

from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code) --60爲政府會計新制度賬套類型

order by DISP_CODE

--生成余額表

select *

into a_yeb 

from (

select a.SET_CODE 賬套號,b.DISP_CODE 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where  a.YEAR=2019 and IS_DELETED=0 and set_code =@set_code 

group by a.SET_CODE,b.DISP_CODE,b.IS_DEBIT

union all

select a.SET_CODE 賬套號,left(b.DISP_CODE,4) 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where  a.YEAR=2019 and a.IS_DELETED=0 and len(b.disp_code)>4 and set_code =@set_code 

group by a.SET_CODE,left(b.DISP_CODE,4),b.IS_DEBIT

union all

select a.SET_CODE 賬套號,left(b.DISP_CODE,6) 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where  a.YEAR=2019 and a.IS_DELETED=0 and len(b.disp_code)>6 and set_code =@set_code 

group by a.SET_CODE,left(b.DISP_CODE,6),b.IS_DEBIT

union all

select a.SET_CODE 賬套號,left(b.DISP_CODE,8) 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where  a.YEAR=2019 and a.IS_DELETED=0 and len(b.disp_code)>8 and set_code =@set_code 

group by a.SET_CODE,left(b.DISP_CODE,8),b.IS_DEBIT

union all

select a.SET_CODE 賬套號,left(b.DISP_CODE,10) 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where  a.YEAR=2019 and a.IS_DELETED=0 and len(b.disp_code)>10 and set_code =@set_code 

group by a.SET_CODE,left(b.DISP_CODE,10),b.IS_DEBIT

union all

select a.SET_CODE 賬套號,left(b.DISP_CODE,12) 科目代碼,b.IS_DEBIT 余額方向 ,sum(a.BALANCE) 期初余額

from ACC_REMAIN a join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

where a.YEAR=2019 and a.IS_DELETED=0 and len(b.disp_code)>12 and set_code =@set_code 

group by a.SET_CODE,left(b.DISP_CODE,12),b.IS_DEBIT)x

order by 2 

--生成憑證表

select a.SET_CODE 賬套號,cast (a.year as varchar(4)) 會計年度,

cast(a.VOUCHER_ID as varchar(10)) 源憑證關聯號,cast(a.VOUCHER_NO as varchar(10)) 憑證號,

cast(a.VOUCHER_ID as varchar(10))+cast(b.DETAIL_ID as varchar(10))+cast(b.ASSISTANT_ID as varchar(10)) 分錄序號,

c.DISP_CODE 科目代碼,b.DEB_MONEY 借方金額,b.CRE_MONEY 貸方金額,b.SUMMARY 摘要,

a.VOUCHER_TYPE 憑證類型 ,a.MAKE_DATE 憑證日期,a.ACCESSORY_NUM 附件數,

d.USER_NAME 制單人,e.USER_NAME 會計主管

into a_pzb

from ACC_VOUCHER a 

join ACC_VOUCHER_DETAIL b 

on a.SET_CODE=b.SET_CODE and a.VOUCHER_ID=b.VOUCHER_ID

join (select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))c 

on b.AS_CODE=c.IN_CODE

join FAP_USER d on a.MAKE_USER=d.USER_CODE

join FAP_USER e on a.MANAGE_USER=e.USER_CODE

where a.SET_CODE=@set_code

order by a.MAKE_DATE

--生成輔助信息表

select * 

into a_fzxxb 

from (

select '往來' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_CURRENT 

where OG_CODE='00001' OR OG_CODE=@set_code

union all

select '部門' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_DEPARTMENT 

where OG_CODE=@set_code

union all

select '預算項目' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_BUDGET_ITEM

where OG_CODE=@set_code

union all

select '功能分類' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_BUDGET_SUBJECT

union all

select '經濟分類' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_BUDGET_SUBJECT_ITEM

where OG_CODE='00001' OR OG_CODE=@set_code

union all

select '資金性質' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_MONEY_KIND

union all 

select '資産類別' 輔助類型,DISP_CODE 輔助編碼,DISP_NAME 輔助名稱 from BASE_CARD_TYPE)x

--生成輔助余額表

select a.SET_CODE 賬套號,b.DISP_CODE 科目代碼,b.IS_DEBIT 余額方向 ,a.BALANCE 期初余額,

c.DISP_CODE 往來輔助編碼,d.DISP_CODE 部門輔助編碼 ,e.DISP_CODE 預算項目輔助編碼,

f.DISP_CODE 功能分類輔助編碼,g.DISP_CODE 經濟分類輔助編碼,h.DISP_CODE 資金性質輔助編碼,

i.DISP_CODE 資産類別輔助編碼

into a_fzyeb 

from ACC_REMAIN a left join (

select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))b 

on a.AS_CODE=b.IN_CODE

left join (select * from BASE_CURRENT where OG_CODE='00001' OR OG_CODE=@set_code) c 

on a.CR_CODE=c.IN_CODE 

left join (select * from BASE_DEPARTMENT where OG_CODE=@set_code) d 

on a.DP_CODE=d.IN_CODE

left join (select * from BASE_BUDGET_ITEM where OG_CODE=@set_code) e 

on a.BI_CODE=e.IN_CODE

left join BASE_BUDGET_SUBJECT f on a.BS_CODE=f.IN_CODE

left join (select * from BASE_BUDGET_SUBJECT_ITEM where OG_CODE='00001' OR OG_CODE=@set_code) g 

on a.BSI_CODE=g.IN_CODE

left join BASE_MONEY_KIND h on a.MK_CODE=h.IN_CODE

left join BASE_CARD_TYPE i on a.CT_CODE=i.IN_CODE

where  a.YEAR=2019 and IS_DELETED=0 and set_code =@set_code 

and(a.CR_CODE is not null or a.DP_CODE is not null or a.BI_CODE is not null

or a.BS_CODE is not null or a.BSI_CODE is not null or a.MK_CODE is not null

or a.CT_CODE is not null)

order by 2

--生成輔助憑證表

select a.SET_CODE 賬套號,cast (a.year as varchar(4)) 會計年度,

cast(a.VOUCHER_ID as varchar(10)) 源憑證關聯號,cast(a.VOUCHER_NO as varchar(10)) 憑證號,

cast(a.VOUCHER_ID as varchar(10))+cast(b.DETAIL_ID as varchar(10))+cast(b.ASSISTANT_ID as varchar(10)) 分錄序號,

c.DISP_CODE 科目代碼,b.DEB_MONEY 借方金額,b.CRE_MONEY 貸方金額,b.SUMMARY 摘要,

a.VOUCHER_TYPE 憑證類型 ,a.MAKE_DATE 憑證日期,a.ACCESSORY_NUM 附件數,

d.USER_NAME 制單人,e.USER_NAME 會計主管,f.DISP_CODE 往来辅助编码,g.DISP_CODE 部门辅助编码 ,

h.DISP_CODE 預算項目輔助編碼,i.DISP_CODE 功能分類輔助編碼,j.DISP_CODE 經濟分類輔助編碼,

k.DISP_CODE 資金性質輔助編碼,l.DISP_CODE 資産類別輔助編碼

into a_fzpzb

from ACC_VOUCHER a 

join ACC_VOUCHER_DETAIL b 

on a.SET_CODE=b.SET_CODE and a.VOUCHER_ID=b.VOUCHER_ID

left join (select * from BASE_ACCOUNT_SUBJECT 

where SET_TYPE=60 and (OG_CODE='00001' or OG_CODE=@set_code))c 

on b.AS_CODE=c.IN_CODE

left join FAP_USER d on a.MAKE_USER=d.USER_CODE

left join FAP_USER e on a.MANAGE_USER=e.USER_CODE

left join (select * from BASE_CURRENT where OG_CODE='00001' OR OG_CODE=@set_code) f

on b.CR_CODE=f.IN_CODE 

left join (select * from BASE_DEPARTMENT where OG_CODE=@set_code) g

on b.DP_CODE=g.IN_CODE

left join (select * from BASE_BUDGET_ITEM where OG_CODE=@set_code) h

on b.BI_CODE=h.IN_CODE

left join BASE_BUDGET_SUBJECT i on b.BS_CODE=i.IN_CODE

left join (select * from BASE_BUDGET_SUBJECT_ITEM where OG_CODE='00001' OR OG_CODE=@set_code) j 

on b.BSI_CODE=j.IN_CODE

left join BASE_MONEY_KIND k on b.MK_CODE=k.IN_CODE

left join BASE_CARD_TYPE l on b.CT_CODE=l.IN_CODE

where  a.set_code =@set_code 

and(b.CR_CODE is not null or b.DP_CODE is not null or b.BI_CODE is not null

or b.BS_CODE is not null or b.BSI_CODE is not null or b.MK_CODE is not null

or b.CT_CODE is not null)

order by a.MAKE_DATE

end 

go

存儲過程創建後,執行存儲過程即直接可生成六張標准表,如某單位賬套號爲00001000340000100001,則運行語句exec zwcl '00001000340000100001' 即可。

三、使用AO2011采集轉換財務數據。打開AO2011選擇采集轉換-財務數據-財務軟件數據庫數據-采集數據,將生成的六張標准表導入到AO2011中,選擇輔助導入,按提示選擇相應字段一步步生成財務數據臨時表,注意導入輔助余額表和輔助憑證表時選擇數據以單表橫排方式存儲,完成後保存爲模版,再次采集其他單位數據時只需修改執行存儲過程的賬套號,然後在使用模版采集數據即可,導入成功後打開會計科目審查可見科目代碼1-5開頭爲財務會計,6-8開頭爲預算會計,如下圖:

導入後的賬套與系統前台數據進行核對,所有科目余額均與前台一致。(劉津津)

打印 關閉