我們?cè)谑褂肁O采集用友GRP-U8行政事業(yè)單位財(cái)務(wù)管理軟件(新會(huì)計(jì)制度專版)的過(guò)程中,首先想到的是使用財(cái)務(wù)軟件的已入引出功能,但使用軟件自帶的引出模塊導(dǎo)出的ASD文件無(wú)法導(dǎo)入到AO中。本人也在網(wǎng)上查了針對(duì)該軟件的導(dǎo)入方法,文章很少,基本上都是雷同的方法,按照網(wǎng)上提供的方法進(jìn)行數(shù)據(jù)整理,再進(jìn)行導(dǎo)入AO的過(guò)程中,仍然出現(xiàn)報(bào)錯(cuò)而無(wú)法導(dǎo)入的情況,對(duì)導(dǎo)入過(guò)程中的注意事項(xiàng)未做進(jìn)一步探究。針對(duì)此情況,本人對(duì)AO及其后臺(tái)數(shù)據(jù)表結(jié)構(gòu)進(jìn)行了研究,通過(guò)兩種不同方式將數(shù)據(jù)成功導(dǎo)入到AO當(dāng)中,具體方法如下:
一、 整理基礎(chǔ)表。
(一) 進(jìn)入用友軟件數(shù)據(jù)庫(kù)后臺(tái),取得財(cái)務(wù)軟件后臺(tái)SQL數(shù)據(jù)庫(kù)的備份文件,并向用友公司工作人員取得賬務(wù)系統(tǒng)數(shù)據(jù)字典。新建數(shù)據(jù)庫(kù),將取得的基礎(chǔ)數(shù)據(jù)還原到SQL數(shù)據(jù)庫(kù)內(nèi)(注意:在還原過(guò)程中,請(qǐng)點(diǎn)擊選項(xiàng),選中覆蓋現(xiàn)有數(shù)據(jù)庫(kù)),導(dǎo)入成功后對(duì)用友GRP-U8數(shù)據(jù)表進(jìn)行分析。
(二) 對(duì)用友數(shù)據(jù)表進(jìn)行分析后,發(fā)現(xiàn)憑證表、科目余額表、科目表字段不完整,需要對(duì)各表進(jìn)行整理,整理代碼如下:
1、整理出單位信息表,代碼如下:
select * into 單位信息新表 from [2015年鄉(xiāng)鎮(zhèn)數(shù)據(jù)采集].[dbo].[GL_Ztcs] where kjnd =2014 and ztbh<>99999999999999999999 --整理單位信息新表,查找出單位的代碼,由于以前年度編號(hào)不完整,所以選擇最新年度的編號(hào)。
2、整理出余額表,代碼如下:
select b.ztmc,b.hsdwmc,a.* into 新余額表 from [dbo].[GL_Yeb] a left join dbo.單位信息新表 b on a.gsdm=b.hsdwdm and a.ZTH=b.ztbh --整理新余額表
3、整理出憑證表,代碼如下:
SELECT LEFT(b.pzrq,4)+'-'+SUBSTRING(b.pzrq,5,2)+'-'+RIGHT(b.pzrq,2)pzrq,b.sr,a.* into 憑證基礎(chǔ)表1 FROM [2015年鄉(xiāng)鎮(zhèn)數(shù)據(jù)采集].[dbo].[GL_Pznr] a left join dbo.GL_Pzml b on a.gsdm=b.gsdm and a.ZTH =b.ZTH and a.kjqj=b.kjqj and a.pzh=b.pzh --憑證基礎(chǔ)表1
select b.ztmc,b.hsdwmc,a.* into 憑證表新表 from dbo. 憑證基礎(chǔ)表1 a
left join dbo.單位信息新表 b on a.gsdm=b.hsdwdm and a.ZTH=b.ztbh –-整理出憑證表新表
update dbo. 憑證表新表 set pzh=right(pzh,3) --提取憑證號(hào)
update dbo. 憑證表新表 set pzh= RTRIM(LTRIM(pzh)) --去掉字符
4、整理出科目表,代碼如下:
select b.ztmc,b.hsdwmc,a.* into 科目表新表 from [2015年鄉(xiāng)鎮(zhèn)數(shù)據(jù)采集].[dbo].[GL_KMXX]a left join dbo.單位信息新表 b on a.gsdm=b.hsdwdm and a.ZTH=b.ztbh --整理出科目表新表
5、整理出所需單位的科目表、余額表、憑證表:
select * from dbo. 科目表新表where ztmc like '%龍頭%農(nóng)%' and kjnd=2014 --整理出支農(nóng)資金專賬科目表
select * from dbo. 憑證表新表 where ztmc like '%龍頭%農(nóng)%' and LEFT(kjqj,4)=2014 --整理出支農(nóng)資金專賬憑證表
select kmdm,SUM(ncj)ncj,SUM(ncd)ncd from 新余額表 where ztmc like '%龍頭%農(nóng)%' and kjnd=2014
group by kmdm --整理出支農(nóng)資金余額表
整理好之后,將各表復(fù)制粘貼到電子表格內(nèi),或者加入插入到數(shù)據(jù)庫(kù)中,再導(dǎo)入AO的時(shí)候使用SQL Server數(shù)據(jù)源。將數(shù)據(jù)導(dǎo)入到AO系統(tǒng)中,至于具體導(dǎo)入步驟,在這里就不一一進(jìn)行說(shuō)明,僅導(dǎo)入過(guò)程中的注意事項(xiàng)和兩種方法進(jìn)行解剖。
二、 導(dǎo)入各表注意事項(xiàng)
(一)數(shù)據(jù)類型的修改,主要修改以下字段類型:
三張表的Kmdm,pzh,flh,ncj,ncj字段數(shù)據(jù)類型全部修改成nvarchar,將憑證表的je字段修改成decimal并保留兩位小數(shù)。
(二)在導(dǎo)入憑證表的過(guò)程中,設(shè)置源憑證號(hào)時(shí),沒(méi)有源憑證號(hào)字段,可選擇多個(gè)字段作為源憑證號(hào),即選擇憑證號(hào)和憑證日期來(lái)作為源憑證號(hào),同時(shí)不選則憑證類型。
三、導(dǎo)入方法解剖。
方法一:進(jìn)入AO數(shù)據(jù)庫(kù)后臺(tái),找到以下數(shù)據(jù)庫(kù),并找到憑證庫(kù)表AOC_Finance_7430c7cf-b176-43a9-a9cd-045e21e58fa4_000(這個(gè)庫(kù)是所建項(xiàng)目的數(shù)據(jù)庫(kù),這個(gè)庫(kù)不是系統(tǒng)自帶的),將憑證庫(kù)的兩個(gè)主鍵約束字段去掉。因?yàn)樵跀?shù)據(jù)插入到AO憑證庫(kù)時(shí),在日志管理中會(huì)出現(xiàn)如下錯(cuò)誤提示:違反了 PRIMARY KEY 約束 'PK_AO_憑證庫(kù)'。不能在對(duì)象 'dbo.憑證庫(kù)' 中插入重復(fù)鍵,兩個(gè)主鍵為電子數(shù)據(jù)編號(hào),分錄序號(hào)。個(gè)人認(rèn)為,電子數(shù)據(jù)編號(hào),分錄號(hào)的約束作用不大,因?yàn)槲覀儗?shù)據(jù)導(dǎo)入AO后上傳服務(wù)器,還要對(duì)電子數(shù)據(jù)編號(hào)進(jìn)行重新編碼,而分錄號(hào)如果是從財(cái)務(wù)數(shù)據(jù)后臺(tái)導(dǎo)出的完整數(shù)據(jù),使用憑證日期,憑證號(hào)就能確定一張會(huì)計(jì)憑證,分錄號(hào)只是多一張會(huì)計(jì)憑證內(nèi)分錄的不重復(fù)約束。這種方法對(duì)分錄號(hào)修改后,適用于在導(dǎo)入過(guò)程中使用選擇憑證表的分錄號(hào)字段,若不進(jìn)行修改,則無(wú)法使用憑證表分錄號(hào),同時(shí),該方法下導(dǎo)入的財(cái)務(wù)數(shù)據(jù),無(wú)法通過(guò)AO間相互導(dǎo)入導(dǎo)出。
方法二:在不修改數(shù)據(jù)庫(kù)后臺(tái)的情況下,對(duì)憑證表的導(dǎo)入過(guò)程中,使用分錄自動(dòng)編號(hào)功能,經(jīng)測(cè)試也能夠成功導(dǎo)入,也能夠在AO用戶間互相導(dǎo)入導(dǎo)出。
以上兩種方法優(yōu)缺點(diǎn):方法一對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行了保留,特別是在原數(shù)據(jù)分錄上,未做修改,但由于對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)的主鍵進(jìn)行了改動(dòng),導(dǎo)致無(wú)法在AO成員間進(jìn)行數(shù)據(jù)交互。方法二沒(méi)有對(duì)基礎(chǔ)數(shù)據(jù)庫(kù)進(jìn)行修改,能夠在AO成員間進(jìn)行數(shù)據(jù)交互,操作方法簡(jiǎn)單。但是,對(duì)數(shù)據(jù)分錄進(jìn)行了重新編排,沒(méi)能保留原數(shù)據(jù)的分錄號(hào)。
四、后期工作
1、與被審計(jì)單位提供的總賬余額表進(jìn)行核對(duì),查看導(dǎo)入數(shù)據(jù)是否與總賬余額一致。
2、保存好導(dǎo)入模塊,以便下次使用。這里有一個(gè)注意事項(xiàng),就是在使用方法一編寫的模塊導(dǎo)入過(guò)程中,仍然會(huì)出現(xiàn)報(bào)錯(cuò)情況,提示信息為:數(shù)據(jù)庫(kù)中不存在憑證庫(kù)數(shù)據(jù)表或數(shù)據(jù)為空!此問(wèn)題本人也為找到是什么原因,但是以原數(shù)據(jù)表為基礎(chǔ),新建一個(gè)模塊卻能夠?qū)耄椒ǘt沒(méi)有出現(xiàn)以上情況,制作的導(dǎo)入模塊具有通用性。