《審計方法的編寫》由會員分享,可在線閱讀,更多相關(guān)《審計方法的編寫(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,審計方法的編寫,房海濤,2010-03-05,前言,根據(jù)自治區(qū)審計廳關(guān)于轉(zhuǎn)發(fā),審計署辦公廳關(guān)于征集計算機審計方法的通知,的通知要求,在,2010,年,6,月,1,日至,6,月,30,日期間上報審計方法。,征集的計算機審計方法要素包括方法代碼(填寫一級和二級分類碼)、方法名稱、目標功能、所需數(shù)據(jù)、分析步驟、流程圖、方法語言、適用法規(guī)、延伸建議、作者單位、時間、標志等,12,項內(nèi)容。,審計方法編制要求,每個審計方法的電子資料應(yīng)包括:方法正文,WORD,文檔,文件名格式為“計算機審計方法名稱,.doc”;,方法語
2、言,AO,導(dǎo)出文件,審計腳本語言(,ASL,)導(dǎo)出文件的文件名格式為“計算機審計方法名稱,.,func,”,,,SQL,語句導(dǎo)出文件的文件名格式為“計算機審計方法名稱,.SQL”,;電子數(shù)據(jù),AO,導(dǎo)出文件,文件名格式為“計算機審計方法名稱,.,sjfx,”,。,審計方法編制要求,每個審計方法創(chuàng)建一個文件夾并將上報的電子資料保存在該文件夾內(nèi),文件夾名稱格式為“申報年份,_,申報單位,_,計算機審計方法名稱,_,作者”,如“,2009_,省審計廳,_,計算機審計方法,_,張,”,建立審計方法的步驟,一、進入“審計分析”,“,審計方法”,“,審計方法管理”,在“審計師方法”下新增行業(yè)。,二、右擊新
3、增加的行業(yè)名稱,點擊“創(chuàng)建審計方法”后,填寫相關(guān)信息進行方法的建立。,三、右擊新建立的方法,點擊“創(chuàng)建審計步驟”,在右側(cè)窗口可直接輸入該步驟對應(yīng)的,SQL,語句和,ASL,程序。也可先創(chuàng)建,SQL,語句,然后再添加到該步驟中,具體方法是:,建立審計方法的步驟,右擊新建的審計步驟,點擊“創(chuàng)建,SQL,語句”,在右側(cè)窗口中輸入,SQL,語句,然后在該審計步驟中將該,SQL,語句引入。,四、右擊新建的審計方法,點擊“方法設(shè)置”,進行實例數(shù)據(jù)庫設(shè)置和方法說明文檔設(shè)置。,五、如果有其他審計步驟,則可繼續(xù)新疆審計步驟。,舉例,方法名稱:銀行存款,審計提示:與銀行對帳單進行核對,審查這些轉(zhuǎn)帳事項是否真實、合
4、法。有無出租、出借帳戶、挪用公款,非法出借資金,隱瞞利息收入等問題。,審計目標:注意審查有無通過銀行存款一借一貸的會計處理進行出租、出借帳戶、挪用公款,非法出借資金等違紀問題。,方法說明:篩選出“借:銀行存款,貸:銀行存款”的分錄。,舉例,SQL,語句:,SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=102 AND,借方金額,0 AND,源憑證號,IN(SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=102 AND,貸方金額,0),ASL,語句:,var,a,b,i,;,begin,a:=
5、,createq(SELECT,DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=102 AND,借方金額,0 AND,源憑證號,IN(SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=102 AND,貸方金額,0),-1);,b:=,qeof(a,);,if b#1 then,begin,repeat,i:=,qfdvalue(a,源憑證號,);,addvourslt(i,);,b:=qmov(a,1);,b:=,qeof(a,);,until b=1;,end;,end.,方法的導(dǎo)入和導(dǎo)出,在審計方法管理
6、界面下,直接點擊“方法導(dǎo)入”和“方法導(dǎo)出”即可進行方法的導(dǎo)入和導(dǎo)出。,審計腳本語言介紹,審計腳本語言(,Audit script Language,,,ASL,),是審計署基于,PASCAL,語言開發(fā)的一門專為審計人員書寫審計方法的編程語言。,根據(jù)審計業(yè)務(wù)特征需要,審計人員可以將審計思路方法轉(zhuǎn)換成為計算機自動處理的命令語言,可以用,ASL,編寫程序存儲為審計方法并編譯執(zhí)行。,語法規(guī)則,一、約束,1.,變量、標志符、函數(shù)及過程名稱一律使用英文字母開頭,可以使用英文和數(shù)字。,2.,變量、標志符、函數(shù)及過程名稱不區(qū)分大小寫。,3.,一段程序中變量、過程不能超過,100,個。,4.,數(shù)字最大位數(shù)為,2
7、4,位。,5.,過程嵌套不超過,3,層。,6.,一行程序不超過,5000,個字符。,語法規(guī)則,二、語法規(guī)則,1.,語法規(guī)則近似于,Pascal,語言。,2.,任何一段超過一行以上的程序需要使用,beginend,語句約束,表明哪里是開始,哪里是結(jié)束。,3.,每行程序以分號作為結(jié)束符。,4.,全程序以,end,作為結(jié)束。,5.,變量定義要在主程序的,begin,之前。,6.,賦值語句使用:,=,為運算符。,常用函數(shù)及運算符,一、運算符,1.“,:,=”,:等于號(賦值符、算術(shù)表達式),二、屆符,1.“,,”變量界符。,2.“,;”語句界符。用來作為每一行程序段的結(jié)束標志。,三、系統(tǒng)保留字,1.V
8、ar,:變量定義基本字。,舉例:,var,a,,,b,;,2.begin:,程序開始基本字,一段程序的開始標志。,3.End,:程序結(jié)束基本字,常用函數(shù)及運算符,4.if-then-else,判斷基本字。,舉例:,if a0 then,write(a,是正數(shù),);,else,write(a,不是正數(shù),),常用函數(shù)及運算符,5.repeat-until,循環(huán)基本字。循環(huán)是直到,until,后的條件滿足循環(huán)就停止。,例:,i:=0;,repeat,a:=i*i,write(a,);,i:=i+1;,until i5,常用函數(shù)及運算符,四、數(shù)據(jù)庫函數(shù),1.CreateQ,(,SQL,語句,查詢變量)
9、,描述:創(chuàng)建查詢函數(shù)。執(zhí)行,SQL,語句,返回該,SQL,語句的執(zhí)行結(jié)果。第一個參數(shù)是查詢的,SQL,語句,第二個參數(shù)的值可是是,-1,或者已經(jīng)存在的數(shù)據(jù)變量。,例:,a,:,=,CreateQ(select,*from,憑證庫,,-1),常用函數(shù)及運算符,2.Qeof,(查詢變量),描述:查詢判空函數(shù)。判斷查詢變量當前指向的記錄是否為空,如果為空,則函數(shù)返回值為,1.,3.Qmov(,查詢變量,移動方向,),描述:查詢移動函數(shù)。用于移動查詢游標、重新定位當前查詢變量記錄,返回成功與否。移動方向參數(shù)可以設(shè)置為,1,或,-1,,,1,表示向后移動查詢游標,即將查詢游標移到下一條記錄;,-1,表示
10、相反方向移動。,常用函數(shù)及運算符,4.QFDValue(,查詢變量,字段名稱,),描述:查詢?nèi)≈岛瘮?shù)。返回當前查詢變量當前記錄的指定字段的值。,例:,i:=,qfdvalue(a,源憑證號,);,5.CreateTempTable,(新表名,,SQL,語句),描述:生成臨時表函數(shù),,SQL,語句應(yīng)有返回結(jié)果集。將,SQL,語句執(zhí)行的結(jié)果以審計人員輸入的新表名存儲在數(shù)據(jù)庫中。,例:,CreateTempTable,(現(xiàn)金明細賬,,select*from,憑證庫,where,科目編碼,=“”101,),常用函數(shù)及運算符,6.AddVouRslt(,源憑證號,),描述:輸出財務(wù)數(shù)據(jù)疑點函數(shù)。將源憑證
11、號輸出到疑點庫中,該源憑證號對應(yīng)的憑證將被定義為未落實疑點。,7.AddtransRslt,(查詢變量,疑點說明),描述:輸出業(yè)務(wù)數(shù)據(jù)疑點函數(shù)。將查詢變量的當前記錄附加疑點說明作為未落實疑點輸出到臨時疑點庫中。,常用函數(shù)及運算符,8.TransBatch,(查詢變量,批量疑點說明),描述:輸出業(yè)務(wù)數(shù)據(jù)疑點函數(shù)。將臨時疑點庫中保存的已落實疑點和未落實疑點附加批量疑點說明正式輸出為業(yè)務(wù)輸出疑點,并清空臨時庫中相應(yīng)的數(shù)據(jù)。,實例語句說明,var,a,b,i,;/,定義三個變量,Begin /,程序開始字,a:=,createq(SELECT,DISTINCT,源憑證號,FROM,憑證庫,WHERE
12、LEFT(,科目編碼,3)=102 AND,借方金額,0 AND,源憑證號,IN(SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=102 AND,貸方金額,0),-1);/,利用,SQL,語句讀取憑證記錄,創(chuàng)建數(shù)據(jù)集,初始情況下查詢游標定位在數(shù)據(jù)集的第一條紀錄,將結(jié)果賦給,a,。,b:=,qeof(a,);/,判斷是否為空,并將值賦給,b,if b#1 then /,如果結(jié)果不為空,則執(zhí)行下面的語句,begin /,程序段超過,1,行以上,必須使用,begin,repeat /,循環(huán)基本字,i:=,qfdvalue(a,源憑證號,);/,取第
13、一條記錄的源憑證號賦值給,i,addvourslt(i,);/,將該憑證號對應(yīng)的憑證被定義為未落實疑點。,b:=qmov(a,1);/,記錄下移一行,b:=,qeof(a,);/,判斷是否為空,until b=1;/,當記錄為空時,停止,end;,end.,練習(xí),1,方法名稱:暫存款問題,審計提示:注意有無隱瞞收入問題。,審計目標:審查有無隱瞞轉(zhuǎn)移收入問題等。,方法說明:篩選出“借:收入類(,4*,)科目,貸:,203”,的所有記錄。,SQL,語句:,SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE,源憑證號,IN(SELECT DISTINCT,源憑證號,FROM,憑證
14、庫,WHERE LEFT(,科目編碼,3)=203 AND,貸方金額,0)AND LEFT(,科目編碼,1)=4 AND,借方金額,0,ASL,語句:,var,a,b,i,;,begin,a:=,createq(SELECT,DISTINCT,源憑證號,FROM,憑證庫,WHERE,源憑證號,IN(SELECT DISTINCT,源憑證號,FROM,憑證庫,WHERE LEFT(,科目編碼,3)=203 AND,貸方金額,0)AND LEFT(,科目編碼,1)=4 AND,借方金額,0,-1);,b:=,qeof(a,);,if b#1 then,begin,repeat,i:=,qfdval
15、ue(a,源憑證號,);,addvourslt(i,);,b:=qmov(a,1);,b:=,qeof(a,);,until b=1;,end;,end.,練習(xí),2,方法名稱:航空企業(yè)常旅客營銷系統(tǒng)免票情況,審計提示:各航空為了穩(wěn)定客源,推出了各種各樣的消費獎勵措施,其中一種普遍采用的是常旅客免票制度,即一名旅客在乘坐該航空公司飛機累計達到一定的里程數(shù)后,可享受免費機票。通過調(diào)查,我們發(fā)現(xiàn)對于常旅客的免票,航空公司未作收入,也沒有交納相應(yīng)的營業(yè)稅。按照相關(guān)的法規(guī),該部分免票應(yīng)視同銷售,繳納相應(yīng)的營業(yè)稅。,審計步驟,1,:構(gòu)建消費明細,_,里程明細表,將里程明細表與常旅客消費明細表建立關(guān)聯(lián),計算
16、出每張免票所對應(yīng)的里程數(shù)。,SQL,語句:,select,業(yè)務(wù),_,消費明細表,.,流水號,業(yè)務(wù),_,消費明細表,.,航班日期,業(yè)務(wù),_,消費明細表,.,消費品編號,業(yè)務(wù),_,消費明細表,.,票號,業(yè)務(wù),_,消費明細表,.,承運人,業(yè)務(wù),_,消費明細表,.,航班號,業(yè)務(wù),_,消費明細表,.,航班起飛地,業(yè)務(wù),_,消費明細表,.,到達地,IIF(,業(yè)務(wù),_,消費明細表,.,來回程標志,=N,1,2)as,來回程,業(yè)務(wù),_,里程明細表,.,標準公里數(shù),from,業(yè)務(wù),_,消費明細表,inner join,業(yè)務(wù),_,里程明細表,on,業(yè)務(wù),_,消費明細表,.,航班起飛地,=,業(yè)務(wù),_,里程明細表,.,起飛地,and ,業(yè)務(wù),_,消費明細表,.,到達地,=,業(yè)務(wù),_,里程明細表,.,到達地,ASL,語言:,var,CXYJ;/,定義變量,CXYJ:,查詢語句,begin,CXYJ:=select,業(yè)務(wù),_,消費明細表,.,流水號,業(yè)務(wù),_,消費明細表,.,航班日期,業(yè)務(wù),_,消費明細表,.,消費品編號,業(yè)務(wù),_,消費明細表,.,票號,業(yè)務(wù),_,消費明細表,.,承運人,業(yè)務(wù),_,消費明細表,.,