徐 歡
(上海市浦東新區(qū)審計(jì)管理與信息中心 上海 200125)
?
腳本語(yǔ)言在審計(jì)工作中運(yùn)用的探討
徐歡
(上海市浦東新區(qū)審計(jì)管理與信息中心上海 200125)
摘要在審計(jì)信息化的應(yīng)用過程中,存在著審計(jì)軟件功能不完善和用戶需求多樣性的問題。針對(duì)這種情況,提出用腳本語(yǔ)言技術(shù)解決此類問題。首先歸納出審計(jì)工作的實(shí)際技術(shù)需求,分析腳本語(yǔ)言的特點(diǎn)、優(yōu)勢(shì)和腳本語(yǔ)言技術(shù)適用于審計(jì)工作的原因;并在具體的審計(jì)案例中,對(duì)所運(yùn)用的腳本語(yǔ)言以及發(fā)揮的作用進(jìn)行詳細(xì)探討,進(jìn)一步表明腳本語(yǔ)言技術(shù)能夠提高審計(jì)軟件的效率、滿足特定功能的審計(jì)需求。腳本語(yǔ)言技術(shù)是易學(xué)易用的編程技術(shù),能夠幫助審計(jì)人員開發(fā)出便捷高效的特定功能程序,更好地滿足審計(jì)需求。希望借助拓寬審計(jì)信息化建設(shè)工作的思路,更好地服務(wù)于審計(jì)事業(yè)的發(fā)展。
關(guān)鍵詞審計(jì)信息化審計(jì)軟件腳本語(yǔ)言
0引言
隨著時(shí)代的進(jìn)步,各行業(yè)的信息化應(yīng)用越來(lái)越普及。審計(jì)人員必須要將信息化技術(shù)與審計(jì)需求相結(jié)合,并且尋找最適合的技術(shù)手段來(lái)解決審計(jì)工作中的問題。審計(jì)軟件作為計(jì)算機(jī)輔助審計(jì)的技術(shù)工具被越來(lái)越廣泛地使用。審計(jì)軟件使用的好壞直接影響著審計(jì)工作的效率。專業(yè)的審計(jì)軟件也并不能包打天下,因?yàn)檫@與審計(jì)軟件的使用情況關(guān)系密切。
1審計(jì)軟件的使用情況
在審計(jì)工作中,審計(jì)人員會(huì)用到多種計(jì)算機(jī)軟件,有專業(yè)的審計(jì)作業(yè)軟件,如現(xiàn)場(chǎng)審計(jì)實(shí)施系統(tǒng)(AO)軟件;也有各種通用軟件,比如與電子數(shù)據(jù)處理相關(guān)的Excel、Access、SQL Server等。
AO軟件是審計(jì)署為了幫助審計(jì)人員在審計(jì)現(xiàn)場(chǎng)進(jìn)行審計(jì)作業(yè),在“金審工程”一期中開發(fā)的一套專業(yè)審計(jì)軟件[1]。該軟件是用具有復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法、能夠確保代碼的安全性和健壯性的高級(jí)編程語(yǔ)言進(jìn)行開發(fā)的。這似乎是一個(gè)完美的計(jì)算機(jī)軟件,然而現(xiàn)實(shí)情況并非如此。
1.1審計(jì)期望與軟件實(shí)現(xiàn)的差距
實(shí)際操作中,AO是一個(gè)完全的Windows GUI操作界面系統(tǒng),每一步操作都是通過鼠標(biāo)點(diǎn)擊完成的。這樣做的初衷是好的,可視化工具提供的多窗口、交互式、可視化圖形界面便于審計(jì)人員直觀、綜合、靈活地進(jìn)行分析處理[2]。但是在提高效率、節(jié)約時(shí)間方面,腳本工具確實(shí)有自己的重要性和用武之地[3]。
AO在進(jìn)行數(shù)據(jù)采集和轉(zhuǎn)換過程中,經(jīng)常需要處理同一單位、不同年份的數(shù)據(jù),而每一次的采集和轉(zhuǎn)換都會(huì)經(jīng)歷同樣的鼠標(biāo)點(diǎn)擊——【采集轉(zhuǎn)換】→【財(cái)務(wù)數(shù)據(jù)-GB/T 19581-2004數(shù)據(jù)】→【采集數(shù)據(jù)】→【選擇文件夾】→【確認(rèn)】→【立即賬表重建】→【重建賬表完成】。而AO又是完全依賴鼠標(biāo)進(jìn)行操作的,當(dāng)有大量需要鼠標(biāo)點(diǎn)擊的操作出現(xiàn)時(shí),審計(jì)人員必須時(shí)刻注意屏幕變化,不斷移動(dòng)鼠標(biāo)、定位對(duì)象點(diǎn)擊,使操作變成了一項(xiàng)十分枯燥而又容易出錯(cuò)的任務(wù)。
1.2審計(jì)人員的非專業(yè)
審計(jì)人員的專業(yè)大多是會(huì)計(jì)師、審計(jì)師等經(jīng)濟(jì)類,對(duì)于浩瀚的計(jì)算機(jī)專業(yè)知識(shí)和技能沒有長(zhǎng)期的學(xué)習(xí)和實(shí)踐,是無(wú)法深入使用的,最多做到熟練掌握。一旦使用過程中出現(xiàn)新情況,雖然希望通過其他軟件應(yīng)用,甚至自編軟件的方法去解決,但高深的計(jì)算機(jī)程序開發(fā)往往成為解決問題的攔路虎。
1.3審計(jì)需求的多樣性
審計(jì)需求往往體現(xiàn)在審計(jì)工作中,一套開發(fā)完成的審計(jì)軟件不可能窮盡所有的需求,這就需要依靠別的軟件來(lái)彌補(bǔ)。
例如,審計(jì)項(xiàng)目實(shí)施過程中,獲得電子數(shù)據(jù)后,由于各種各樣的原因,采集到的數(shù)據(jù)會(huì)出現(xiàn)一些影響審計(jì)工作質(zhì)量的問題,如值缺失、空值、數(shù)據(jù)冗余、字段類型不合法、數(shù)據(jù)域定義不完整等。這些問題必須加以修正,進(jìn)行必須的數(shù)據(jù)清理——對(duì)數(shù)據(jù)進(jìn)行檢查、分析和驗(yàn)證,有效控制審計(jì)數(shù)據(jù)的質(zhì)量,才能滿足后續(xù)數(shù)據(jù)分析工作的需要。
如果數(shù)據(jù)量不大,可以采用手工方法直接進(jìn)行數(shù)據(jù)清理,逐一檢查;而當(dāng)數(shù)據(jù)量大時(shí),則數(shù)據(jù)清理變成了一項(xiàng)十分艱巨的工作。例如某集團(tuán)有限公司的經(jīng)濟(jì)責(zé)任審計(jì)項(xiàng)目中,需要采集的電子賬套有48個(gè)之多,這還只是一部分。由于審計(jì)項(xiàng)目的時(shí)間跨度往往在3年以上,需要的電子數(shù)據(jù)不僅量大,而且面廣。
2改善審計(jì)軟件使用的技術(shù)方法
通過第1節(jié)的分析,可以將改善目標(biāo)歸納為兩類:
(1) 與審計(jì)軟件結(jié)合,擺脫煩瑣操作,實(shí)現(xiàn)審計(jì)軟件缺乏的功能;
(2) 便捷、高效地開發(fā)特定功能程序,更為理想的是,程序能夠隨時(shí)、任意部署。
我們可以要求改善現(xiàn)行的軟件,來(lái)完成此類的個(gè)性化需求,但通常不那么容易。因?yàn)?,這受制于軟件的整體維護(hù)要求、改善周期過長(zhǎng)等太多的客觀限制。尤其是那些用高級(jí)語(yǔ)言編寫的成形軟件,是無(wú)法在短時(shí)間內(nèi),通過修改源代碼,再重新編譯生成新的目標(biāo)文件,達(dá)到快速滿足特定功能審計(jì)需求的目的。
實(shí)現(xiàn)特定功能需求的唯一途徑是自編代碼,編寫程序。
在計(jì)算機(jī)編程語(yǔ)言中,有一種叫作腳本語(yǔ)言。它強(qiáng)調(diào)靈活性、快速開發(fā)和用戶定制,是解決審計(jì)需求的很好的技術(shù)途徑。相比那些需要編譯的編程語(yǔ)言,腳本語(yǔ)言的快速開發(fā)、容易部署、易學(xué)易用的特色,特別適用于信息化環(huán)境下的審計(jì)需求,是提高審計(jì)軟件效率的極好補(bǔ)充和完善。
2.1腳本語(yǔ)言的分析
腳本語(yǔ)言是為了縮短傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的編寫—編譯—鏈接—運(yùn)行過程而創(chuàng)建的編程語(yǔ)言[4]。一個(gè)腳本通常是解釋運(yùn)行[5]而非編譯,腳本重視的是表達(dá)方便而不是執(zhí)行速度。雖然許多腳本語(yǔ)言都成熟到可以編寫精巧的程序,但仍然還是被稱為腳本。在許多方面,高級(jí)編程語(yǔ)言和腳本語(yǔ)言之間互相交叉,二者之間沒有明確的界限。
2.1.1“腳本語(yǔ)言”與“非腳本語(yǔ)言”的區(qū)別
綜合來(lái)看,它們之間的主要區(qū)別是:
(1) 腳本語(yǔ)言和非腳本語(yǔ)言的運(yùn)行方式不同
這是一個(gè)重要的不同:腳本語(yǔ)言是被解釋,而非腳本語(yǔ)言是被編譯。被解釋的語(yǔ)言不需要耗時(shí)編譯、打包過程,由解釋器提供快速的轉(zhuǎn)換。解釋器使應(yīng)用程序更加靈活——腳本語(yǔ)言代碼能夠被實(shí)時(shí)生成和執(zhí)行。腳本語(yǔ)言的目的是希望能讓程序設(shè)計(jì)師快速完成程序的編寫工作。
(2) 腳本語(yǔ)言和非腳本語(yǔ)言被設(shè)計(jì)的目標(biāo)不同
腳本語(yǔ)言被設(shè)計(jì)用于把應(yīng)用程序集成起來(lái),而不是實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法。因此,為了保證實(shí)用性,腳本語(yǔ)言必須能夠訪問不同類型的組件。通常,腳本語(yǔ)言不會(huì)替代非腳本語(yǔ)言。
(3) 腳本語(yǔ)言和非腳本語(yǔ)言分屬不同的強(qiáng)、弱類型
非腳本語(yǔ)言是強(qiáng)類型的,能夠確保代碼的安全性和健壯性,但同時(shí)也使得代碼有了太多的限制性。在強(qiáng)類型語(yǔ)言中,變量必須被指定為一種類型,只能按照固定方式使用。而腳本語(yǔ)言是弱類型的,這意味著,在不同環(huán)境下,代碼變量可以以多種方式來(lái)使用。
舉例說(shuō)明,例如腳本語(yǔ)言VBA與高級(jí)編程語(yǔ)言VB[6]。VB可以獨(dú)立運(yùn)行在任何的Windows環(huán)境,VBA必須要“寄生于”它所控制的應(yīng)用程序;VBA可以隨意地組合Excel(或其他Office程序)中的所有功能,讓任務(wù)自動(dòng)運(yùn)行,提高效率、適應(yīng)需求,進(jìn)行無(wú)限的擴(kuò)展。VBA應(yīng)用了VB的語(yǔ)言結(jié)構(gòu),是一門易學(xué)易用的語(yǔ)言。
2.1.2腳本語(yǔ)言的特點(diǎn)
腳本語(yǔ)言具有電腦編程語(yǔ)言共有的特性——讓電腦根據(jù)指令完成指定工作,但其特點(diǎn)在于強(qiáng)調(diào)主要用途是把其他語(yǔ)言開發(fā)的獨(dú)立程序作為部件“粘到一起”[7]。以簡(jiǎn)單的方式快速完成某些復(fù)雜的事情通常是創(chuàng)造腳本語(yǔ)言的重要原則?;谶@項(xiàng)原則,使得腳本語(yǔ)言通常比C語(yǔ)言、C++語(yǔ)言類的系統(tǒng)編程語(yǔ)言要簡(jiǎn)單容易。
腳本語(yǔ)言的特點(diǎn):
(1) 能夠整合其他軟件的功能,讓任務(wù)自動(dòng)運(yùn)行,提高效率;
(2) 語(yǔ)法和結(jié)構(gòu)通常比較簡(jiǎn)單;
(3) 程序容易修改并被“解釋”運(yùn)行,便于開發(fā);
(4) 學(xué)習(xí)和使用比較簡(jiǎn)易,程序的開發(fā)產(chǎn)能優(yōu)于運(yùn)行性能。
2.1.3腳本語(yǔ)言適用的審計(jì)需求
腳本語(yǔ)言的特點(diǎn)正是審計(jì)工作最需要的(如表1所示)。
表1 腳本語(yǔ)言適用的審計(jì)需求
2.1.4腳本語(yǔ)言的分類
腳本語(yǔ)言可以分為:(1) 工作控制語(yǔ)言,如MS-DOS command;(2) GUI 腳本,如AutoHotKey;(3) 應(yīng)用程序定制的腳本語(yǔ)言,如VBScript;(4) Web編程腳本,如HTML、ASP、JavaScript;(5) 文本處理語(yǔ)言,處理基于文本的記錄;(6) 通用動(dòng)態(tài)語(yǔ)言,比如Perl;(7) 擴(kuò)展/可嵌入語(yǔ)言,如Tcl;(8) 其他。
3腳本技術(shù)對(duì)審計(jì)需求的解決之道
3.1幾種腳本語(yǔ)言的介紹
腳本語(yǔ)言很多,在此僅介紹幾種與審計(jì)工作結(jié)合緊密、使用效果較好的腳本語(yǔ)言。
3.1.1審計(jì)軟件AO中的腳本語(yǔ)言
ASL(Audit Script Language)[8]是審計(jì)署專為審計(jì)人員書寫計(jì)算機(jī)審計(jì)方法而開發(fā)的編程語(yǔ)言,內(nèi)嵌在AO軟件中,屬于應(yīng)用程序定制的腳本語(yǔ)言。它的變量設(shè)置、語(yǔ)句判斷、結(jié)果輸出等語(yǔ)句都十分簡(jiǎn)單明了,使得沒有計(jì)算機(jī)編程經(jīng)驗(yàn)的審計(jì)人員容易接受。并且,在使用過程中,隨時(shí)可以動(dòng)態(tài)調(diào)整代碼,實(shí)時(shí)生成和執(zhí)行。
ASL功能簡(jiǎn)單、結(jié)構(gòu)清晰、可讀性強(qiáng)。
(1) 基本結(jié)構(gòu)
Begin
Write(‘歡迎使用ASL’);
End.
(2) 關(guān)鍵技術(shù)
ASL功能簡(jiǎn)單、結(jié)構(gòu)清晰、可讀性強(qiáng),具備一般高級(jí)語(yǔ)言的必備部分(如read、write、while-do、if-then、call、begin-end、數(shù)組、過程、函數(shù)等)。ASL與其他腳本語(yǔ)言一樣,以文本形式存在,但具有數(shù)據(jù)庫(kù)操作、圖表輸出等一系列擴(kuò)展功能。例如創(chuàng)建查詢函數(shù):
CreateQ(’SQL語(yǔ)句’,查詢變量)
這種特制的腳本語(yǔ)言與AO軟件相結(jié)合,可以將寶貴的計(jì)算機(jī)審計(jì)方法用編寫代碼程序的形式保存下來(lái),幫助審計(jì)人員實(shí)現(xiàn)審計(jì)知識(shí)的積累、資源的共享和有效利用。突顯了腳本語(yǔ)言在計(jì)算機(jī)審計(jì)工作中,具有十分重要的作用。
3.1.2交互式操作的腳本語(yǔ)言
AutoHotKey是GUI腳本的代表軟件。它是面向普通電腦用戶的自由開源的自動(dòng)化軟件工具[9],讓用戶能夠快捷或自動(dòng)執(zhí)行重復(fù)性任務(wù)。它能夠在用戶和圖形界面、菜單、按鈕等之間互動(dòng),同時(shí)在熱鍵、熱字符串實(shí)現(xiàn)的快捷、高效、強(qiáng)大方面沒有其他語(yǔ)言能超越。
(1) 關(guān)鍵技術(shù)
用AutoHotKey腳本語(yǔ)言進(jìn)行替代手工點(diǎn)擊鼠標(biāo)操作的編程。首先要選擇操作對(duì)象的窗口,例如激活窗口的語(yǔ)句:
winActivate [,WinTitle]
然后,將手工操作用腳本語(yǔ)句來(lái)模擬,例如送出回車鍵的語(yǔ)句:
send {enter}
這樣,將需要的每一步操作都用代碼的形式組合在一起,成為一個(gè)完整的動(dòng)作集合,這是一個(gè)創(chuàng)建腳本的過程。在高效的計(jì)算機(jī)性能下,創(chuàng)建好的腳本能瞬間完成手工操作。
(2) 編程環(huán)境
AutoHotKey可以在任何的文本編輯器中進(jìn)行編寫代碼,編程環(huán)境寬松。
(3) 使用環(huán)境
將AutoHotKey的腳本文件通過Ahk2Exe轉(zhuǎn)換成EXE可執(zhí)行文件,使得程序在沒有安裝AutoHotkey的機(jī)器上就能夠運(yùn)行,大大拓展了該腳本程序的使用范圍。使得隨時(shí)、任意部署腳本語(yǔ)言編寫的可執(zhí)行程序成為可能,突破了腳本語(yǔ)句與解釋器分離的使用限制。
3.2運(yùn)用案例
3.2.1ASL編寫審計(jì)方法
浦東新區(qū)審計(jì)局投資建設(shè)審計(jì)處有個(gè)項(xiàng)目是檢查城市基礎(chǔ)設(shè)施配套費(fèi)是否全額上繳國(guó)庫(kù)和是否按照政府文件規(guī)定及時(shí)征收的情況。審計(jì)過程中要對(duì)開發(fā)商分階段逐步繳納的配套費(fèi)進(jìn)行核查,查找是否有未上繳的情況、是否按規(guī)定分階段征收到位。
用ASL腳本語(yǔ)言編寫項(xiàng)目的審計(jì)方法,將查找問題的分析過程固化,進(jìn)而在AO中推廣應(yīng)用到類似的收繳分離的審計(jì)工作中?!白≌涮踪M(fèi)未按期征收的審計(jì)方法”的部分ASL腳本代碼如下:
//財(cái)務(wù)收款與業(yè)務(wù)臺(tái)賬逐項(xiàng)金額比對(duì)
Var
strSql,dSet,isEmptyC,isEmptyT;
Begin
strSql:=′select [開票票號(hào)],[開票日期],[征收金額],[配套費(fèi)繳納合計(jì)],[建設(shè)單位],[通知單號(hào)] from (select * from [業(yè)務(wù)_ 配套費(fèi)財(cái)務(wù)收款] c left join [業(yè)務(wù)_ 配套費(fèi)繳納臺(tái)賬] t on c.[征收金額]=t.[配套費(fèi)繳納合計(jì)]) as tmpTbl where [建設(shè)單位] is null′; //找出財(cái)務(wù)有賬,業(yè)務(wù)無(wú)賬的記錄
dSet:=CreateQ(strSql,-1);
isEmptyC:=qeof(dSet);
if isEmptyC=1 then
AddTransRslt(dSet,′財(cái)務(wù)有賬,業(yè)務(wù)無(wú)賬的記錄′);
?
if (isEmptyC=1 and isEmptyT=1) then
begin
showmsg(′財(cái)務(wù)入賬與業(yè)務(wù)收賬一致!′); //左右連接都無(wú)不匹配的記錄
end
else
begin
showmsg(′財(cái)務(wù)入賬與業(yè)務(wù)收賬有不一致的情況!′);
end;
End.
?
//計(jì)算問題項(xiàng)目的數(shù)量和金額占比
strSql:=′select sum(配套費(fèi)繳納合計(jì)) as ptfjnhj from [業(yè)務(wù)_ 配套費(fèi)繳納臺(tái)賬 2009]′;
dSet:=CreateQ(strSql,-1);
a:=QFDvalue(dSet,'ptfjnhj');
write(′緩繳項(xiàng)目: ′,hjsl,′ 當(dāng)年征收項(xiàng)目數(shù): ′,xmsl,′ 占比: ′,hjsl/xmsl);
write(′緩繳金額: ′,hjje,′ 當(dāng)年征收金額數(shù): ′,a,′ 占比: ′,hjje/a);
End.
該審計(jì)方法入選2011年審計(jì)署計(jì)算機(jī)審計(jì)方法,并被評(píng)為“優(yōu)秀審計(jì)方法”。
3.2.2AutoHotKey替代AO軟件中人機(jī)交互時(shí)的重復(fù)操作
在用AutoHotKey腳本語(yǔ)言編寫的“Tools in AO2008”軟件中,腳本程序協(xié)助AO完成電子數(shù)據(jù)導(dǎo)入(如圖1所示),對(duì)電子數(shù)據(jù)實(shí)現(xiàn)自動(dòng)多項(xiàng)選擇、刪除(如圖2所示)等操作,大大簡(jiǎn)化了人機(jī)交互時(shí)的大量、重復(fù)的手工操作,提高了AO軟件的使用效率,而開發(fā)代碼只有少量的幾行。
圖1 腳本程序自動(dòng)完成電子數(shù)據(jù)導(dǎo)入
圖2 腳本程序?qū)崿F(xiàn)自動(dòng)多項(xiàng)選擇、刪除操作
程序“Tools in AO2008”的部分腳本代碼如下:
//AO進(jìn)行數(shù)據(jù)采集和轉(zhuǎn)換時(shí)的手工操作
?
WinActivate,會(huì)計(jì)核算標(biāo)準(zhǔn)接口數(shù)據(jù)采集
send !i
?
winWait,,立即賬表重建嗎
WinActivate,,立即賬表重建嗎
send !y
winWait,,重建賬表完成
WinActivate,,重建賬表完成
send {enter}
?
//AO對(duì)電子數(shù)據(jù)實(shí)現(xiàn)自動(dòng)多項(xiàng)選擇、刪除等操作
?
winActivate,電子數(shù)據(jù)管理
Loop, %nmbr%
{
MouseClick,left,88,30
send {Left}{enter}
}
3.2.3AutoHotKey實(shí)現(xiàn)數(shù)據(jù)清理,完成特定審計(jì)功能的程序開發(fā)
由于各種各樣的原因,審計(jì)人員采集到的數(shù)據(jù)會(huì)出現(xiàn)一些影響審計(jì)工作質(zhì)量的問題,如值缺失、空值、數(shù)據(jù)冗余、字段類型不合法、數(shù)據(jù)域定義不完整等。對(duì)這些問題必須加以修正,才能滿足審計(jì)工作需要。這就需要對(duì)電子數(shù)據(jù)進(jìn)行數(shù)據(jù)清理。
用AutoHotKey腳本語(yǔ)言編寫的“Treating data from Kingdee GB transcoder for AO2008”軟件(見圖3),能對(duì)文本格式的數(shù)據(jù)進(jìn)行清理,包括值缺失處理、空值處理、清除冗余數(shù)據(jù)、不易識(shí)別數(shù)據(jù)項(xiàng)的變換、去除重復(fù)的會(huì)計(jì)代碼和將文件編碼轉(zhuǎn)換為unicode形式等。后續(xù),通過代碼疊加就可以實(shí)現(xiàn)更多的功能。該腳本程序還具有恢復(fù)源數(shù)據(jù)的功能,提高了數(shù)據(jù)處理的安全性。
該腳本程序還可以經(jīng)過AutoHotKey的轉(zhuǎn)換,成為獨(dú)立的可執(zhí)行應(yīng)用程序,不再受到腳本環(huán)境的制約,使得運(yùn)行環(huán)境大為擴(kuò)展。
圖3 “Treating data from Kingdee GB transcoder for AO2008”程序運(yùn)行截圖
軟件“Treating data from Kingdee GB transcoder for AO2008”的部分腳本代碼如下:
/*-------------------------------------------------
Name:Treating data from Kingdee GB transcoder for AO2008
Author:XuHuan
對(duì)導(dǎo)入數(shù)據(jù)進(jìn)行清理,轉(zhuǎn)換為AO2008能夠識(shí)別的源數(shù)據(jù)。
*/
GuiMenu:
Gui,-sysmenu
Gui, Add, GroupBox, x46 y27 w300 h70 , 第一步:確定數(shù)據(jù)轉(zhuǎn)換方向
?
return
?
main:
{fun_GSSMDir()}
?
MsgBox,,X,,文件已轉(zhuǎn)換為Unicode編碼格式。,10
{fun_GSSMOriginalDir()}
MsgBox,,X,,文件還原為初始格式。,10
}
?
fun_GSSMDir(){……} ;查找需要進(jìn)行清理的數(shù)據(jù)目錄
fun_GSSMOriginalDir(){……} ;在數(shù)據(jù)備份目錄下,恢復(fù)原始數(shù)據(jù)
fun_all2unicode(){……} ;將文件編碼轉(zhuǎn)換為unicode形式
“Treating data from Kingdee GB transcoder for AO2008”程序被發(fā)布在上海市審計(jì)區(qū)縣共享平臺(tái)上,被更多的審計(jì)人員使用,受到了大家的贊許。
3.2.4案例啟示
上文中提到的用腳本語(yǔ)言編寫的應(yīng)用程序,是在審計(jì)工作中比較有代表性的。這僅僅是一小部分,但也已經(jīng)可以看出腳本語(yǔ)言在審計(jì)工作中無(wú)限的發(fā)展?jié)摿Α_本語(yǔ)言能內(nèi)嵌入專業(yè)應(yīng)用程序中(見3.2.1節(jié));腳本語(yǔ)言能輔助專業(yè)軟件實(shí)現(xiàn)缺乏的功能,而不用對(duì)專業(yè)軟件進(jìn)行修改(見3.2.2節(jié));腳本語(yǔ)言能夠完成特定審計(jì)功能的程序開發(fā),并且可以轉(zhuǎn)換為隨時(shí)、任意部署的EXE可執(zhí)行程序(見3.2.3節(jié))。對(duì)于非計(jì)算機(jī)專業(yè)的審計(jì)人員來(lái)說(shuō),簡(jiǎn)潔明了的編程語(yǔ)法易學(xué)易用。
展望今后,審計(jì)工作中的軟件也許將更多地整合進(jìn)腳本的身影,比如AO中引進(jìn)宏的概念,用腳本語(yǔ)言記錄使用人的操作步驟,能修改、能重復(fù)使用,從而提高AO審計(jì)軟件的效率。
4結(jié)語(yǔ)
尺有所短,寸有所長(zhǎng),某些情況下,高級(jí)編程語(yǔ)言也是不夠有效的。因此,不得不用腳本編寫應(yīng)用程序,而腳本語(yǔ)言作為系統(tǒng)程序設(shè)計(jì)語(yǔ)言的有效補(bǔ)充,被越來(lái)越多的案例所證實(shí)。隨著編程語(yǔ)言的發(fā)展,腳本語(yǔ)言與非腳本語(yǔ)言都在學(xué)習(xí)彼此的長(zhǎng)處和優(yōu)點(diǎn)。雖然兩者間有著諸多的不同,但彼此的最終目標(biāo)是一致的,那就是為軟件最初的設(shè)計(jì)目標(biāo)服務(wù)。
審計(jì)工作已離不開信息化技術(shù)的運(yùn)用,而靈活多變的腳本語(yǔ)言能夠提高專業(yè)審計(jì)軟件的效率、滿足特定功能的審計(jì)需求。腳本語(yǔ)言技術(shù)將與其他軟件技術(shù)一起促進(jìn)信息化技術(shù)在審計(jì)工作中的更好運(yùn)用。
參考文獻(xiàn)
[1] 石愛中.國(guó)家審計(jì)信息化發(fā)展報(bào)告[M].北京:中國(guó)時(shí)代經(jīng)濟(jì)出版社,2013.
[2] 陳偉.審計(jì)軟件現(xiàn)狀及發(fā)展趨勢(shì)研究[J].計(jì)算機(jī)科學(xué),2009(2):1-4.
[3] Pawan K Bhardwaj.Windows系統(tǒng)管理之道:命令行腳本應(yīng)用與解決方案[M].北京:中國(guó)水利水電出版社,2008.
[4] 劉紅梅.腳本語(yǔ)言在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用研究[J].電子科技,2009,22(11):72-75.
[5] 千葉滋.兩周自制腳本語(yǔ)言[M].北京:人民郵電出版社,2014.
[6] 何非,葉萃娟.Excel VBA高效辦公從入門到精通[M].北京:中國(guó)青年出版社,2006.
[7] 斯科特.程序設(shè)計(jì)語(yǔ)言:實(shí)踐之路[M].3版.電子工業(yè)出版社,2012.
[8] 編寫組.AO2011實(shí)用手冊(cè)[M].北京:清華大學(xué)出版社,2011.
[9] AutoHotKey-維基百科.http://zh.wikipedia.org/wiki/AutoHotkey#.
收稿日期:2015-01-31。徐歡,工程師,主研領(lǐng)域:計(jì)算機(jī)硬件,軟件技術(shù)及互聯(lián)網(wǎng)技術(shù)等在審計(jì)信息化中的應(yīng)用。
中圖分類號(hào)TP3
文獻(xiàn)標(biāo)識(shí)碼A
DOI:10.3969/j.issn.1000-386x.2016.07.026
DISCUSSING THE USE OF SCRIPTING LANGUAGE IN AUDIT WORK
Xu Huan
(ShanghaiPudongNewAreaAuditManagementandInformationCenter,Shanghai200125,China)
AbstractIn application process of audit informatisation, there are the problems of imperfection in auditing software’s functions and diverse users’ needs. In view of these, we proposed to solve such problems with scripting language technology. First, we summarised the practical technical demands in audit work, analysed the characteristics and advantages of the scripting language, and the reasons that the scripting language technology is applicable to audit work. Then in specific auditing cases, we discussed in detail the scripting language used and their roles played, these further explained that the scripting language technology can improve the efficiency of auditing software and satisfy the audit demand in particular function. Scripting language technology is a programming technique easily to learn and to use, it can help auditors to develop a convenient and efficient program with specific functions so as to better satisfy auditing demands. With this article we hope to broaden the ideas of audit informatisation construction work, and to better serve the development of auditing business.
KeywordsAudit informatisationAuditing softwareScripting language