版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
年5月29日會(huì)計(jì)軟件分析與設(shè)計(jì)文檔僅供參考會(huì)計(jì)軟件分析與設(shè)計(jì)
第一章帳務(wù)處理程序分析
學(xué)習(xí)目的與要求:
帳務(wù)核算系統(tǒng)是會(huì)計(jì)核算軟件中使用最為廣泛、最為重要的一個(gè)子系統(tǒng)。
本章以系統(tǒng)開(kāi)發(fā)過(guò)程為主線(xiàn),簡(jiǎn)要介紹各過(guò)程的任務(wù)、要求及注意事項(xiàng)。
經(jīng)過(guò)本章的學(xué)習(xí),要求讀者對(duì)帳務(wù)處理系統(tǒng)的開(kāi)發(fā)過(guò)程及每個(gè)過(guò)程所涉
及的原理有一個(gè)初步的了解,明白各個(gè)過(guò)程完成的內(nèi)容及任務(wù)對(duì)以后工
作的重要性。
內(nèi)容提要
第一節(jié)會(huì)計(jì)工作現(xiàn)狀調(diào)查
一、系統(tǒng)工作狀況調(diào)查的主要內(nèi)容
1、數(shù)據(jù)方面的調(diào)查。
2、處理內(nèi)容方面的調(diào)查。
3、特殊事務(wù)方面的調(diào)查。
4、處理方式方面的調(diào)查。
5、代碼方面的調(diào)查。
二、企業(yè)一般采用的帳務(wù)處理程序
1、記帳憑證帳務(wù)處理程序
2、科目匯總表帳務(wù)處理程序
3、匯總記帳憑證帳務(wù)處理程序
4、多欄式日記帳務(wù)處理程序
三、會(huì)計(jì)工作狀況調(diào)查的意義
會(huì)計(jì)工作現(xiàn)狀調(diào)查是進(jìn)行系統(tǒng)初步設(shè)計(jì)的基礎(chǔ),如果會(huì)計(jì)工作現(xiàn)狀沒(méi)有調(diào)查清楚就進(jìn)行系統(tǒng)
設(shè)計(jì),則可能出現(xiàn)許多問(wèn)題,滿(mǎn)足不了用戶(hù)的需要和功能不全的問(wèn)題就要使設(shè)計(jì)人員從頭再
來(lái)進(jìn)行系統(tǒng)的調(diào)查,因此,設(shè)計(jì)人員應(yīng)認(rèn)真對(duì)待調(diào)查工作。
第二節(jié)系統(tǒng)規(guī)劃
一、系統(tǒng)規(guī)劃的任務(wù)
根據(jù)現(xiàn)狀調(diào)查所獲得的資料,首先應(yīng)歸納出用戶(hù)的基本需求,除滿(mǎn)足用戶(hù)提
出的要求外,應(yīng)說(shuō)明還有哪些附加功能,對(duì)于不能滿(mǎn)足的用戶(hù)要求要說(shuō)明原
因,所有的系統(tǒng)功能要清楚,在計(jì)算機(jī)系統(tǒng)的配置,會(huì)計(jì)數(shù)據(jù)處理方法,系
統(tǒng)開(kāi)發(fā)的初步安排等方面進(jìn)行規(guī)劃,編寫(xiě)需求分析說(shuō)明書(shū)。
二、系統(tǒng)規(guī)劃的內(nèi)容
1、計(jì)算機(jī)系統(tǒng)的配置方面。
2、在信息的處理方式方面。
3、在軟件開(kāi)發(fā)計(jì)劃方面。
第三節(jié)概要設(shè)計(jì)
一、概要設(shè)計(jì)的任務(wù)及意義
概要設(shè)計(jì)是在系統(tǒng)可行性分析之后,為實(shí)現(xiàn)系統(tǒng)進(jìn)行的技術(shù)設(shè)計(jì),概要設(shè)計(jì)
工作的好壞,直接影響到費(fèi)用的多少,開(kāi)發(fā)進(jìn)度的快慢。
二、概要設(shè)計(jì)的內(nèi)容
1、系統(tǒng)要求。
2、系統(tǒng)目標(biāo)的確定。
3、環(huán)境設(shè)計(jì)。
4、通用性設(shè)計(jì)。
5、保密性設(shè)計(jì)。
6、可維護(hù)性設(shè)計(jì)。
7、外部設(shè)計(jì)。
8、文件設(shè)計(jì)及其應(yīng)考慮的因素
數(shù)據(jù)的使用頻度;數(shù)據(jù)的基本內(nèi)容;記錄格式;數(shù)據(jù)的流量;在某些時(shí)刻
下,是否有兩個(gè)及以上的程序使用數(shù)據(jù);占用文件時(shí),是對(duì)文件的全部記
錄進(jìn)行處理,還是處理其中某一部分;文件及數(shù)據(jù)的保密度,允許哪些人
存取數(shù)據(jù),允許哪些人只讀或禁止訪(fǎng)問(wèn);文件名。
第四節(jié)詳細(xì)設(shè)計(jì)
一、詳細(xì)設(shè)計(jì)的任務(wù)
1、對(duì)概要設(shè)計(jì)的功能模塊進(jìn)行過(guò)程描述,開(kāi)發(fā)一個(gè)能夠直接轉(zhuǎn)換成程序語(yǔ)言
代碼的軟件表示,這種表示應(yīng)當(dāng)是無(wú)歧義且高度結(jié)構(gòu)化的。
2.為每個(gè)模塊建立一個(gè)”軟件開(kāi)發(fā)卷宗”文件。
二、詳細(xì)設(shè)計(jì)階段的實(shí)施步驟
1、將概要設(shè)計(jì)產(chǎn)生的構(gòu)成軟件系統(tǒng)的各個(gè)功能模塊逐步細(xì)化,形成若干個(gè)
程序模塊。
2、采用詳細(xì)設(shè)計(jì)工具對(duì)程序模塊進(jìn)行過(guò)程描述。
3、確定各個(gè)模塊間的詳細(xì)接口信息。
4、編寫(xiě)”程序設(shè)計(jì)說(shuō)明書(shū)”。
5、按完成標(biāo)志進(jìn)行評(píng)審,如未發(fā)現(xiàn)異常問(wèn)題,則處理結(jié)束,否則而進(jìn)行
修改,修改后再次評(píng)審,直至經(jīng)過(guò)為止。
三、詳細(xì)設(shè)計(jì)的完成標(biāo)志
1、詳細(xì)地規(guī)定了各模塊之間的接口,包括參數(shù)的形式和傳遞方式,上下
層調(diào)用關(guān)系。
2、確定了模塊內(nèi)的算法及數(shù)據(jù)結(jié)構(gòu)。
四、過(guò)程的結(jié)構(gòu)化構(gòu)造
1、過(guò)程的結(jié)構(gòu)化與非結(jié)構(gòu)化
2、過(guò)程的結(jié)構(gòu)化應(yīng)遵循的原則
使用有限數(shù)量的基本邏輯結(jié)構(gòu);利用基本結(jié)構(gòu)將過(guò)程組成容易識(shí)別的”塊”;
每塊都有且只能有一個(gè)入口和一個(gè)出口;易于轉(zhuǎn)換成程序代碼;容易修改設(shè)
計(jì)
五、詳細(xì)設(shè)計(jì)工具
1、圖形工具,以圖示方法描述模塊處理過(guò)程。
2、語(yǔ)言工具,有偽代碼或結(jié)構(gòu)化英語(yǔ)來(lái)描述數(shù)據(jù)和處理過(guò)程。
3、表格工具,用表格來(lái)表示詳細(xì)處理過(guò)程,這類(lèi)工具適于處理邏輯十分復(fù)雜
的條件和活動(dòng)間的關(guān)聯(lián)。
4、幾種常見(jiàn)的詳細(xì)設(shè)計(jì)工具:
流程圖;框圖;判定樹(shù)
第五節(jié)詳細(xì)設(shè)計(jì)交付的文件
一、程序設(shè)計(jì)說(shuō)明書(shū)
程序設(shè)計(jì)說(shuō)明書(shū)又稱(chēng)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。編制目的是說(shuō)明一個(gè)軟件系統(tǒng)各層次中的
每一個(gè)模塊的設(shè)計(jì)考慮,其應(yīng)考慮如下內(nèi)容:
1.編寫(xiě)目的;2.程序系統(tǒng)的結(jié)構(gòu);3.程序設(shè)計(jì)說(shuō)明(程序描述;功能;性能;
輸入項(xiàng);輸出項(xiàng);算法;流程邏輯;接口;存貯分配;注釋設(shè)計(jì);限制條件;
測(cè)試計(jì)劃;尚未解決的問(wèn)題)
二、模塊開(kāi)發(fā)說(shuō)明書(shū)
模塊開(kāi)發(fā)說(shuō)明書(shū)是在詳細(xì)設(shè)計(jì)說(shuō)明書(shū)經(jīng)評(píng)審和批準(zhǔn)后建立的,并在模塊開(kāi)發(fā)過(guò)程
中逐步編寫(xiě)出來(lái),它是管理人員監(jiān)督開(kāi)發(fā)進(jìn)度并為以后的維護(hù)人員使用的技術(shù)文
件,其主要內(nèi)容如下:
標(biāo)題;模塊開(kāi)發(fā)情況(時(shí)間安排);功能說(shuō)明;設(shè)計(jì)說(shuō)明;源代碼清單;
測(cè)試說(shuō)明;評(píng)審的結(jié)論
第二章用戶(hù)界面程序設(shè)計(jì)
學(xué)習(xí)目的與要求:
用戶(hù)界面就是用戶(hù)與計(jì)算機(jī)系統(tǒng)進(jìn)行相互交流數(shù)據(jù)與信息的一些接口規(guī)范,
用戶(hù)界面的友好性直接關(guān)系到軟件系統(tǒng)的質(zhì)量。本章經(jīng)過(guò)介紹數(shù)據(jù)輸入界面、
菜單等有關(guān)內(nèi)容,說(shuō)明在進(jìn)行系統(tǒng)友好界面設(shè)計(jì)時(shí)應(yīng)遵循的一些基本規(guī)則及
常見(jiàn)慣例,經(jīng)過(guò)學(xué)習(xí),要求讀者掌握菜單概念及菜單選擇的程序?qū)崿F(xiàn)。
內(nèi)容提要
第一節(jié)數(shù)據(jù)輸入界面設(shè)計(jì)
一、用戶(hù)界面及其設(shè)計(jì)要求
1、用戶(hù)界面這一術(shù)語(yǔ)指的是用戶(hù)和程序如何相互溝通,屏幕上的任何信息、
文檔資料以及鍵盤(pán)輸入的命令都是用戶(hù)界面的一部分,對(duì)屏幕設(shè)置,提
示、菜單和聯(lián)機(jī)幫助信息設(shè)計(jì)的好壞決定著用戶(hù)界面是否高效、友好,
也決定著軟件是否能為用戶(hù)接受,最佳的用戶(hù)界面強(qiáng)調(diào)良好的屏幕設(shè)計(jì),
易于使用和用戶(hù)友好。
2、用戶(hù)界面設(shè)計(jì)時(shí)應(yīng)考慮的一般原則:
必須集成于系統(tǒng)設(shè)計(jì)之中,而不最后加上;減少擊鍵次數(shù)來(lái)提高用戶(hù)效率;
預(yù)測(cè)用戶(hù)的下一步動(dòng)作;提供錯(cuò)誤信息來(lái)幫助糾正錯(cuò)誤;
提供文檔來(lái)減少培訓(xùn)時(shí)間;帶有幫助信息;支持其它的輸入裝置。
二、輸入數(shù)據(jù)程序設(shè)計(jì)要遵循如下原則:
1、簡(jiǎn)明性
2、一致性
3、完整性
4、使用顏色的原則
5、輸入格式
第二節(jié)菜單和命令設(shè)計(jì)
一、菜單及其功能
1、菜單系統(tǒng)將當(dāng)前允許用戶(hù)選擇操作的功能名稱(chēng)在屏幕上顯示出來(lái),讓用戶(hù)
選擇并完成該功能的一種用戶(hù)界面形式。
2、菜單的功能
·使不熟練的的用戶(hù)熟練軟件,即表述其功能和特性
·提供可選項(xiàng)的清單
·簡(jiǎn)化選擇,從而防止產(chǎn)生錯(cuò)誤
·降低訓(xùn)練費(fèi)用,因?yàn)椴藛我徊讲揭龑?dǎo)用戶(hù)完成任務(wù)
·減少用戶(hù)的記憶負(fù)擔(dān)
二、菜單式樣
1、水平上托式菜單。
2、豎直上托式。
3、下拉菜單。
4、全屏幕菜單。
5、圖標(biāo)式菜單(類(lèi)WINDOWS風(fēng)格)。
三、菜單設(shè)計(jì)的考慮及權(quán)衡
1、設(shè)計(jì)按下ESC鍵將控制返回到上一級(jí)菜單。
2、同時(shí)提供亮條選擇菜單及字母菜單選擇。
3、考慮用戶(hù)擁有使用過(guò)的其它軟件的菜單風(fēng)格。
4、提供快捷選擇。
四、菜單設(shè)計(jì)原則
1、菜單設(shè)計(jì)所使用的名稱(chēng)要前后一致。
2、減少選項(xiàng)的數(shù)目,一般不要超過(guò)8項(xiàng)。
3、減少菜單級(jí)數(shù)的數(shù)目,一般不要超過(guò)4級(jí)。
4、提供快速返回鍵。
5、菜單選項(xiàng)的選項(xiàng)內(nèi)容易于理解,一般不要使用技術(shù)性強(qiáng)的術(shù)語(yǔ)。
第四第用戶(hù)界面程序設(shè)計(jì)舉例
一、下拉式菜單設(shè)計(jì)舉例
CLEAR
DOWHILE.T.
@1,1PROMPT"憑證輸入”
@1,10PROMPT”查詢(xún)”
@1,20PROMPT”記帳”
@1,30PROMPT”打印”
@1,40PROMPT”系統(tǒng)設(shè)置”
@1,50PROMPT”月末結(jié)轉(zhuǎn)”
@1,60PROMPT”數(shù)據(jù)庫(kù)維護(hù)”
@1,70PROMPT”退出”
MENUTOCHO
DOCASE
CASECHO=1
SELECT10
USEGQCW1
APPENDBLANK
REPLACEBHWITHMXM,RRWITH"憑證輸入”;
RQWITHMA1,SJ1WITHTIME()
SETCOLORTOGB
@4,2CLEARTO11,22DOUBLE
SETCOLORTOWIB
@3,1CLEARTO10,21DOUBLE
@5,3PROMPT”1,采購(gòu)單輸入”
@6,3PROMPT”2,領(lǐng)料單輸入”
@7,3PROMPT”3,修改采購(gòu)單”
@8,3PROMPT”4,修改領(lǐng)料單”
@9,3PROMPT”0,退出”
MENUTOCHO1
DOCASE
······
ENDCASE
······
ENDCASE
ENDDO
二、全屏幕菜單設(shè)計(jì)舉例
三、全屏幕菜單設(shè)計(jì)舉例2
第三章系統(tǒng)設(shè)置程序程序分析與設(shè)計(jì)
學(xué)習(xí)目的與要求:
本章介紹系統(tǒng)設(shè)置模塊中的系統(tǒng)人員管理、科目設(shè)置與管理、自動(dòng)轉(zhuǎn)帳設(shè)置、
銀行對(duì)賬設(shè)置等功能模塊的有關(guān)內(nèi)容。經(jīng)過(guò)本章的學(xué)習(xí),要求讀者對(duì)口令設(shè)置及
校驗(yàn)、科目代碼設(shè)置的意義、科目代碼增刪的有關(guān)原則、自動(dòng)轉(zhuǎn)帳設(shè)置的原理、
銀行對(duì)賬設(shè)制的原理及實(shí)現(xiàn)要有一定的理解。
內(nèi)容提要
第一節(jié)系統(tǒng)人員管理及口令設(shè)置
一、系統(tǒng)人員管理
1、系統(tǒng)人員管理的意義
2、在帳務(wù)處理系統(tǒng)可設(shè)立如下一些崗位,各自具有一定的權(quán)限范圍:
(1)系統(tǒng)管理:可進(jìn)行科目代碼設(shè)置,系統(tǒng)人員管理、結(jié)帳、數(shù)據(jù)管理
等功能的操作。
(2)制單:可進(jìn)行會(huì)計(jì)憑證的錄入操作。
(3)復(fù)核:可進(jìn)行會(huì)計(jì)憑證的復(fù)核操作。
(4)修改:可進(jìn)行會(huì)計(jì)憑證的修改操作;
(5)處理:可進(jìn)行記帳、對(duì)帳等操作;
(6)打印:可進(jìn)行打印輸出各種帳、證、表的操作。
3、人員設(shè)置數(shù)據(jù)庫(kù)中應(yīng)設(shè)置的數(shù)據(jù)項(xiàng)。
二、口令的設(shè)置與修改。
*口令修改模塊
SETTALKOFF
CLEAR
IFFILE(”KL.DBF”)
RESTOREFROMKL.DBFADDI
ENDTF
JX=Y
DOWHILEJX
KL="KL"+LTRIM(STR(K,3))
KLM="KLM"+LTRIM(STR(K,3))
IFTYPE("&KLM")=UPPER("C")
STOREUPPER("AAA")TO&KL
STORESPACE(30)TO&KLM
ELSE
STORE&KLM+SPAC(30-LFN(&KLM))TO&KLM
ENDIF
STORECHR(ASC(SUBS(&KL、1、1))+50)+CHR(ASC(SUBS(&KL、2、1))+45);
+CHP(ASC(SUBS(&KL、3、1))+40)TO&KL
CLEAR
@1,30SAY”修改口令”+STR(K,2)
@3,5SAY”原口令名為:”+&KLM
@3,50SAY”原口令為”+&KL
@5,5SAY”口令名改為:”GET&KLM
@5,50SAY”改口令為:”GET&KL
@8,32SAY”繼續(xù)修改?”GETJXPICTURE"Y"
READ
STORETRIM(&KLM)TO&KLM
STORECHR(ASC(SUBS(&KL,1,1))-50)+CHR(ASC(SUBS(&KL2.1))-45);
+CHR(ASC(SUBS(&KL3.1))-40)TO&KL
K=K+1
ENDDO
SAVETOKL.DBFALLLIKEKL*
RETURN
三、口令校驗(yàn)程序的設(shè)計(jì)應(yīng)注意以下一些問(wèn)題:
1、口令明碼不能顯示。
2、口令輸入允許一定的出錯(cuò)次數(shù)。
3、口令密碼的檢驗(yàn)?zāi)軌虿捎猛ㄓ媚K完成。
4、口令明碼長(zhǎng)度有一定的要求。
5、口令輸入出錯(cuò)時(shí)的處理要恰當(dāng)。
第二節(jié)科目設(shè)置與管理
一、設(shè)置科目代碼的意義
1、便于反映會(huì)計(jì)科目間的邏輯關(guān)系,便于分類(lèi)、檢索、加快計(jì)算機(jī)處理速度,
利用會(huì)計(jì)科目代碼的不同位數(shù),能夠反映會(huì)計(jì)科目間的邏輯關(guān)系。
2、減少數(shù)據(jù)含義的不確定性。
3、能夠節(jié)省存儲(chǔ)單元、提高運(yùn)算速度和正確性。
4、便于輸入。
二、科目代碼的設(shè)置要求和編碼方式
1、科目代碼設(shè)置要求
適合計(jì)算機(jī)處理;簡(jiǎn)明實(shí)用;要有系統(tǒng)性(一級(jí)科目代碼位長(zhǎng)3位,代碼
首位為1表示資產(chǎn)類(lèi)科目;2表示負(fù)債類(lèi)科目;3表示所有者權(quán)益類(lèi)科目;
4表示成本類(lèi)科目;5表示損益類(lèi)科目);要有擴(kuò)展性;單義性。
2、編碼方式
會(huì)計(jì)科目的編碼方式,一般采用群碼,組碼和順序碼等相結(jié)合的編碼方式。
三、科目代碼設(shè)置
1、科目代碼設(shè)置主控模塊
該模塊是科目代碼設(shè)置的主控模塊,用戶(hù)能夠根據(jù)需求分別選擇科目代碼
的增、刪、改、查詢(xún)、打印等功能,退出模塊前,應(yīng)根據(jù)總分類(lèi)帳戶(hù)與明
細(xì)帳戶(hù)平行登記的原理,將各明細(xì)科目自下向上逐級(jí)匯總,進(jìn)行核對(duì),判
斷總分類(lèi)帳戶(hù)的金額與其所屬各明細(xì)分類(lèi)帳戶(hù)金額的合計(jì)數(shù)是否相等;還
應(yīng)根據(jù)資產(chǎn)等于負(fù)債加所有者權(quán)益的平衡關(guān)系,核對(duì)所有科目的借方余額
是否等于貸方余額,以確保輸入數(shù)據(jù)的正確性。
2、增加科目的內(nèi)容及注意事項(xiàng)
應(yīng)包括的內(nèi)容主要有:科目代碼、科目名稱(chēng)、科目級(jí)別、科目類(lèi)別、余額
方向,年初余額、期初余額、借方發(fā)生額、貸方發(fā)生額、借方累計(jì)發(fā)生額、
貸方累計(jì)發(fā)生額。系統(tǒng)正常運(yùn)行時(shí),如果某科目已記帳,在該科目下級(jí)增
加新的明細(xì)科目,應(yīng)考慮該科目下級(jí)各明細(xì)科目金額的合計(jì)數(shù)是否與該科
目的金額相等。
3、科目代碼設(shè)置主控模塊
DEFIWINDZWSZ2FROM4,28TO15,50SHADCOLOSCHE14
DOWHILE.T.
ACTIWINDZWSZ2
@0,2SAY"科目維護(hù)控制模塊"
@2,5PROMPT"1:增加科目"
@3,5PROMPT"2:單項(xiàng)查詢(xún)"
@4,5PROMPT"3:刪除科目"
@5,5PROMPT"4:修改科目"
@6,5PROMPT"5:全屏查詢(xún)"
@7,5PROMPT"6:打印科目表"
@8,5PROMPT"0:退出"
@9,2SAY"請(qǐng)選擇"
MENUTOCHO
DEACWINDZWSZ2
DOCASE
CASECHO=1
DOZWSZ21
CASECHO=2
DOKMBRO
CASECHO=3
DOKMDE
CASECHO=4
DOKMXG
CASECHO=5
DOKMBRO1
CASECHO=6
DOK2D
CASECHO=7
EXIT
ENDCASE
ENDDO
DEACWINDZWSZ2
RETURN
4、增加科目的程序?qū)崿F(xiàn)
5、修改科目模塊程序設(shè)計(jì)時(shí)應(yīng)考慮的問(wèn)題主要有:
為方便操作、修改方式既可單一科目修改,也可對(duì)科目余額表進(jìn)行瀏覽修改;
被修改的科目應(yīng)該沒(méi)有被登帳,沒(méi)有發(fā)生額和余額,避免造成會(huì)計(jì)核算的數(shù)
據(jù)丟失或失真。
6、刪除科目
用于刪除無(wú)用的科目,既可是一級(jí)科目或控制科目,也可是明細(xì)科目。刪除
科目模塊程序設(shè)計(jì)時(shí)考慮的問(wèn)題主要有:
1.如果刪除的是明細(xì)科目,則要求該明細(xì)科目既無(wú)余額,也無(wú)發(fā)生額。
2.若是一級(jí)科目(總帳科目)或控制性科目,則要求該科目本身,及其所
屬的所有明細(xì)科目都沒(méi)有余額和發(fā)生額,且該一級(jí)科目或控制性科目被
刪除后,其所屬的所有明細(xì)科目也自動(dòng)被刪除。
第三節(jié)自動(dòng)轉(zhuǎn)帳設(shè)置
一、自動(dòng)轉(zhuǎn)帳及其意義
1、自動(dòng)轉(zhuǎn)帳
2、機(jī)制憑證
3、自動(dòng)轉(zhuǎn)帳分錄
4、為什么要進(jìn)行自動(dòng)轉(zhuǎn)帳設(shè)置
二、自動(dòng)轉(zhuǎn)帳分錄的分類(lèi)
1、第一類(lèi)自動(dòng)轉(zhuǎn)帳分錄其金額的大小與本月發(fā)生的任何經(jīng)濟(jì)業(yè)務(wù)無(wú)關(guān),稱(chēng)為獨(dú)立
自動(dòng)分錄。獨(dú)立自動(dòng)分錄能夠在任何時(shí)候用于編制機(jī)制憑證,即能夠在月初使
用,也可能在月末使用。
2、第二類(lèi)自動(dòng)轉(zhuǎn)帳分錄其金額的大小與本月發(fā)生的業(yè)務(wù)有關(guān),稱(chēng)為相關(guān)自動(dòng)分錄。
相關(guān)自動(dòng)分錄只能在某些相關(guān)的經(jīng)濟(jì)業(yè)務(wù)發(fā)生后才能用來(lái)編制機(jī)制憑證。
三、自動(dòng)轉(zhuǎn)帳分錄的定義
1、自動(dòng)轉(zhuǎn)帳分錄文件的結(jié)構(gòu)
1、自動(dòng)轉(zhuǎn)帳分錄的定義
第四節(jié)銀行對(duì)帳的設(shè)計(jì)
一、未達(dá)賬項(xiàng)的類(lèi)型及產(chǎn)生原因
1、未達(dá)賬項(xiàng)的類(lèi)型:
銀收我未收未達(dá)帳項(xiàng);銀付我未付未達(dá)帳項(xiàng);
我收銀未收未達(dá)帳項(xiàng);我付銀未付未達(dá)帳項(xiàng)。
2、未達(dá)賬項(xiàng)的產(chǎn)生原因:
時(shí)間上的延誤;記錄上的錯(cuò)誤。
二、銀行對(duì)賬模塊應(yīng)設(shè)置的功能
1、輸入對(duì)帳單。經(jīng)過(guò)此功能,把銀行給企事業(yè)單位的對(duì)帳單輸入計(jì)算機(jī),
存入”對(duì)帳單文件”。
2、初始銀行未達(dá)帳項(xiàng)錄入。經(jīng)過(guò)此模塊,把使用計(jì)算機(jī)輔助對(duì)帳前已存在的
我有銀無(wú)業(yè)務(wù)從銀行存款余額調(diào)節(jié)表上摘錄下來(lái),存入”銀行日記帳未達(dá)
帳項(xiàng)文件”。
3、自動(dòng)銀行對(duì)帳。由計(jì)算機(jī)自動(dòng)在”對(duì)帳單文件”和”銀行日記帳未達(dá)帳項(xiàng)
文件”中尋找完全相同的經(jīng)濟(jì)業(yè)務(wù)予以核銷(xiāo),所謂完全相同的經(jīng)濟(jì)業(yè)務(wù)是
指經(jīng)濟(jì)業(yè)務(wù)發(fā)生的時(shí)間、內(nèi)容、摘要、結(jié)算票據(jù)號(hào)、金額都相同的經(jīng)濟(jì)業(yè)
務(wù),由于同一筆業(yè)務(wù)在銀行和單位日記帳上分別由不同的人記載,經(jīng)濟(jì)業(yè)
務(wù)發(fā)生的時(shí)間,摘要等不可能一模一樣,因此比較經(jīng)濟(jì)業(yè)務(wù)是否相同的標(biāo)
準(zhǔn)(也稱(chēng)匹配標(biāo)準(zhǔn))只有票據(jù)號(hào)(如:支票號(hào))和金額,對(duì)于沒(méi)有票據(jù)號(hào)的經(jīng)
濟(jì)業(yè)務(wù),只能看金額是否相同,一般情況下,可由計(jì)算機(jī)先比較票據(jù)號(hào)和
金額,核銷(xiāo)掉相同的經(jīng)濟(jì)業(yè)務(wù),剩下的經(jīng)濟(jì)業(yè)務(wù)再用金額作匹配標(biāo)準(zhǔn)進(jìn)行
匹配。
無(wú)論同時(shí)用票據(jù)號(hào)和金額作匹配標(biāo)準(zhǔn),還是只用金額作匹配標(biāo)準(zhǔn),都可能
有下列幾種可能:
1.”對(duì)帳單文件”中一條業(yè)務(wù)記錄只和”銀行日記帳未達(dá)帳項(xiàng)”文件
中一條業(yè)務(wù)記錄相同。
2.”對(duì)帳單文件”中一條業(yè)務(wù)記錄和”銀行日記帳未達(dá)帳項(xiàng)文件”中
多條業(yè)務(wù)記錄相同。
3.”對(duì)帳單文件”中多條業(yè)務(wù)記錄和”銀行日記帳未達(dá)帳項(xiàng)文件”中
一條業(yè)務(wù)記錄相同。
4.”對(duì)帳單文件”中多條業(yè)務(wù)記錄和”銀行日記帳未達(dá)帳項(xiàng)文件”中
多條業(yè)務(wù)記錄相同。
4、手工核銷(xiāo)未達(dá)帳項(xiàng)
有些經(jīng)濟(jì)業(yè)務(wù)是不可能經(jīng)過(guò)”自動(dòng)銀行對(duì)帳”模塊核銷(xiāo)的,只能用強(qiáng)制的
方式由人工核銷(xiāo)。
四、銀行對(duì)帳主程序
DEFIWINDZHDZDSRFROM4,30TO12,50SHADCOLOSCHE14
DOWHILE.T.
ACTIWINDZHDZDSR
B1=2
@0,2SAY"對(duì)帳單處理"
@1,B1PROMPT"錄入銀行對(duì)帳單"
@2,B1PROMPT"查詢(xún)修改對(duì)帳單"
@3,B1PROMPT"打印銀行對(duì)帳單"
@4,B1PROMPT"生成銀行調(diào)節(jié)表"
@5,B1PROMPT"返回"
MENUTOYHDZ
DOCASE
CASEYHDZ=1
DOZHSR
CASEYHDZ=2
DOZHCX
CASEYHDZ=3
DEACWINDZHDZDSR
DOZHDY
ACTIWINDZHDZDSR
CASEYHDZ=4
DEACWINDZHDZDSR
DOSCDZD
ACTIWINDZHDZDSR
CASEYHDZ=5
EXIT
ENDCASE
ENDDO
DEACWINDZHDZDSR
RETU
五、對(duì)帳單輸入程序
DEFIWINDZHSR1FROM2,12TO17,68SHADCOLOSCHE14
DEFIWINDZHSR2FROM18,20TO20,60SHADCOLOSCHE12
DEFIWINDZHSR3FROM18,20TO20,60SHADCOLOSCHE14
ACTIWINDZHSR2
MY="N"
@0,0SAY"銀行對(duì)帳單數(shù)據(jù)將丟失!繼續(xù)否Y/N?"GETMY
READ
DEACWINDZHSR2
IFUPPE(MY)<>"Y"
RETU
ENDI
ACTIWINDZHSR3
@0,0SAY"帳號(hào)和金額同時(shí)為空則退出"
SELE10
USEDATA\ZHDZBINDEDATA\ZHDZB1
SELE9
USEDATA\ZHSRINDEDATA\ZHSR1
ZAP
DIMEMJE1(10),MJE2(10),MZH(10)
DOWHILE.T.
I=1
DOWHILEI<=10
STOR0.00TOMJE1(I),MJE2(I)
STORSPACE(20)TOMZH(I)
I=I+1
ENDD
I=1
MZJE=0.0
ACTIWINDZHSR1
@0,0SAY"銀行對(duì)帳單"
@1,4SAY"請(qǐng)輸入總金額"GETMZJEPICT".99"
@2,1SAY"==============================="
@3,1SAY"帳號(hào)收入付出"
DOWHILEI<=10
@I+3,1GETMZH(I)
@I+3,25GETMJE1(I)
@I+3,40GETMJE2(I)
READ
IFLEN(TRIM(MZH(I)))=0.AND.(MJE1(I)=0.OR.MJE2(I)=0)
DEACWINDZHSR1
DEACWINDZHSR3
SELE9
USE
SELE10
USE
RETU
ENDI
SELE10
SEEKTRIM(MZH(I))
IFEOF()
ACTIWINDZHSR2
@0,0SAY"帳號(hào)錯(cuò),按任意繼續(xù)!"
WAIT""
MJE1(I)=0
MJE2(2)=0
MZH(I)=SPACE(20)
DEACWINDZHSR2
LOOP
ENDI
SELE9
APPEBLAN
REPLZHWITHMZH(I),JE1WITHMJE1(I),JE2WITHMJE2(I)
REPLZJEWITHMZJE
I=I+1
ENDD
DEACWINDZHSR1
ACTIWINDZHSR3
MX="Y"
@0,0SAYSPACE(55)
@0,0SAY"繼續(xù)輸入否Y/N?"GETMX
READ
DEACWINDZHSR3
IFUPPE(MX)<>"Y"
SELE10
USE
SELE9
USE
RETU
ELSE
LOOP
ENDI
ENDD
習(xí)題:
1.試編寫(xiě)”科目代碼設(shè)置”主控模塊的程序。
2.試編寫(xiě)”修改科目”模塊的程序。
3.試編寫(xiě)”刪除科目”模塊的程序。
4.如果口令存放于數(shù)據(jù)庫(kù)中,”口令設(shè)置”和”口第四章憑證處理程序分析與設(shè)計(jì)
第一節(jié)憑證的手工處理
一、憑證的分類(lèi)
1、憑證一般分為原始憑證和記帳憑證
2、記帳憑證一般分為收款憑證、付款憑證和轉(zhuǎn)帳憑證。
記帳憑證一般具有以下內(nèi)容:
1.憑證的名稱(chēng)。
2.填制憑證的日期和編號(hào)。
3.經(jīng)濟(jì)業(yè)務(wù)的內(nèi)容摘要。
4.經(jīng)濟(jì)業(yè)務(wù)的金額。
5.填制憑證的單位及有關(guān)人員。
6.應(yīng)借應(yīng)貸帳戶(hù)的名稱(chēng)。
7.所附原始憑證的張數(shù)和過(guò)帳備注。
二、會(huì)計(jì)人員對(duì)記帳憑證的處理程序大至如下:
1.根據(jù)原始憑證填制記帳憑證;
2.審核憑證,審查其合法性、正確性;
3.修改憑證,對(duì)錯(cuò)誤的憑證進(jìn)行修改;
4.查閱憑證,查閱已填制的憑證;
5.傳遞憑證,從填制或取得會(huì)計(jì)憑證到將其歸檔保存為止,在有關(guān)業(yè)務(wù)部門(mén)之
間按照規(guī)定的時(shí)間,路線(xiàn)傳遞處理的程序。
第二節(jié)電算化憑證處理
一、電算化憑證處理的功能
1.錄入為用戶(hù)提供:
顯示憑證表格;靈活的編輯手段;保存用戶(hù)錄入的憑證;
提供一定的檢控功能;返回主控模塊;
2.查詢(xún)?yōu)橛脩?hù)提供:
用戶(hù)查詢(xún)某個(gè)特定憑證;按憑證編號(hào)查詢(xún);
按任一條件查詢(xún)滿(mǎn)足條件的第一張憑證;
按任意組合條件查詢(xún)滿(mǎn)足條件的第一張憑證(憑證編號(hào)不能參加條件組合);
用戶(hù)查詢(xún)多張憑證;
按任一條件逐個(gè)查詢(xún)滿(mǎn)足條件的憑證;
按任意組合條件逐個(gè)查詢(xún)滿(mǎn)足條件的憑證;
暫存查詢(xún)信息;
3、修改及刪除
4、憑證輸出
二、電算化憑證處理與手工憑證處理的區(qū)別:
1.信息項(xiàng)不完全相同
2.憑證的編號(hào)方法不一樣
3.存儲(chǔ)形式不同
4.存儲(chǔ)空間的利用率不一樣
第三節(jié)憑證處理程序的安全可靠性
一、憑證出錯(cuò)的來(lái)源
1、人為造成
2、(系統(tǒng))處理程序出錯(cuò)。
3、電算化憑證處理模塊的安全可靠性控制的措施:
1.嚴(yán)格的多級(jí)安全控制用戶(hù)級(jí);憑證級(jí)
2.全方位的錄入檢測(cè)
二、數(shù)據(jù)安全可靠性的實(shí)施措施
1、邏輯校驗(yàn)法利用數(shù)據(jù)間的邏輯關(guān)系
2、平衡校驗(yàn)法利用”有借必有貸,借貸必相等”的會(huì)計(jì)基本準(zhǔn)則。
3、查詢(xún)校驗(yàn)法利用數(shù)據(jù)的相對(duì)穩(wěn)定性
4、關(guān)聯(lián)校驗(yàn)法利用憑證數(shù)據(jù)的對(duì)應(yīng)不可能性
5、重復(fù)校驗(yàn)法利用概率統(tǒng)計(jì)的原理
第四節(jié)憑證處理程序的設(shè)計(jì)
一、系統(tǒng)應(yīng)滿(mǎn)足的要求
1.穩(wěn)定性
系統(tǒng)應(yīng)能保證所有的處理穩(wěn)定、處理的結(jié)果不隨時(shí)間波動(dòng),僅僅依賴(lài)于輸入。
2.一致性
系統(tǒng)內(nèi)的數(shù)據(jù)必須保持一致。
3.良好的用戶(hù)界面
用戶(hù)界面要求方便適用、美觀簡(jiǎn)潔。
4.靈活性
不受時(shí)間、過(guò)程的限制。
5.完備性
提供一切有關(guān)憑證處理的功能,并加以強(qiáng)化。
6.快速
二、憑證處理模塊的設(shè)計(jì)
第五節(jié)憑證處理程序的實(shí)現(xiàn)
一、憑證錄入
****************
*憑證輸入總控程序PZSR.PRG
****************
PARAW_TITLE,BAR_NUM
HIDEMENUMAINMENU
SETCOLOROFSCHEME13TORGB(150,150,150,50,50,50),,;
RGB(150,150,150,50,50,50),RGB(150,150,150,150,0,0),RGB(150,150,150,50,50,50)
DEFINEWINDOWSZFROM1,0TO23,79FOOTER""+W_TITLE+""COLORSCHEME13
ACTIVATEWINDOWSZ
CHO=1
DOCASE
CASEBAR_NUM=1
DOPZSR11
CHO=0
CASEBAR_NUM=2
DOPZSR22
CHO=0
CASEBAR_NUM=3
DOPZSR4
CHO=0
CASEBAR_NUM=5
PZLXQ="S"
DOCXPZKHC1WITHPZLXQ
CASEBAR_NUM=6
PZLXQ="F"
DOCXPZKHC1WITHPZLXQ
CASEBAR_NUM=7
PZLXQ="Z"
DOCXPZKHC1WITHPZLXQ
CASEBAR_NUM=9
DOPZXG11
SELE1
DELEALLFORJE=0
PACK
CHO=0
CASEBAR_NUM=10
DOPZXG22
SELE1
DELEALLFORJE=0
PACK
CHO=0
CASEBAR_NUM=11
DOPZXG4
SELE1
DELEALLFORJE=0
PACK
CHO=0
CASEBAR_NUM=13
DODYPZ
CASEBAR_NUM=14
DODYPZMXB1
CASEBAR_NUM=15
DODYPZHZB
ENDCASE
IFCHO=0
DOPZKBF
ENDIF
CLEARWINDOWSZ
RETURN
*:EOF:PZSR.PRG
*******************
*收款憑證輸入程序PZSR11.PRG
*******************
SETTALKOFF
DEFIWINDPZSR1FROM19,20TO21,60SHADCOLOSCHE12
DEFIWINDPZSR2FROM19,10TO21,70SHADCOLOSCHE14
AN="Y"
PUBLICDIMENSIONZY(25),DFKM(25),JE(25),XMH(25)
DOWHILEUPPER(AN)="Y"
JFKM1=""
FDJ1=0
BH1=""
RQ1=MRQ
MRB="S"
DOZWBHWITHBH1
MY=1
MX="Y"
MHJ=0
MHJ1=0
MHJ2=0
MX="Y"
DOWHILEUPPER(MX)="Y"
I=1
DOWHILEI<=25
STORESPACE(24)TOZY(I)
DFKM(I)=SPACE(11)
XMH(I)=SPACE(10)
JE(I)=0.00
I=I+1
ENDDO
CLEAR
DOWHILE.T.
CLEARTYPE
A2="XXXXXXXXXXXXXXXXXXXXXXXX"
A3="999########"
A5="XXXXXXXXXX"
A6=".99"
DOWHILE.T.
SETFORMATTOPZ12
READ
IFREADKEY()=36.OR.READKEY()=292
EXIT
ELSE
LOOP
ENDIF
ENDDO
SETFORMATTO
@17,58GETFDJ1PICTURE"99"
READ
IFJFKM1="".AND.BH1=""
CLEAR
RETURN
ENDIF
IFMY=1
SELECT1
SEEK"&BH1"+"S"
IF.NOT.EOF()
ACTIWINDPZSR1
@0,1SAY"重號(hào),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
SELECT2
SEEK"&BH1"+"S"
IF.NOT.EOF()
ACTIWINDPZSR1
@0,1SAY"重號(hào),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
ENDIF
SELE1
IFLEN(TRIM(BH1))<4
ACTIWINDPZSR1
@0,1SAY"編號(hào)長(zhǎng)度不夠4位,按任鍵重新輸入!"
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
SELECT3
IFJFKM1=""
LOOP
ELSE
SEEKJFKM1
IF.NOT.EOF()
ACTIWINDPZSR2
@0,1SAY"借方科目名稱(chēng):"+TRIM(KMMC)+"按任意鍵繼續(xù)"
WAIT""
DEACWINDPZSR2
ENDIF
IFEOF().OR.UPPE(KMRB)="H"
ACTIWINDPZSR1
@0,1SAY"借方科目錯(cuò),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
ENDIF
I=1
DOWHILEI<=25
IFDFKM(I)<>""
MHJ2=MHJ2+JE(I)
MHJ1=MHJ2
ENDIF
I=I+1
ENDDO
@15,61GETMHJ1PICTURE"#########.##"
READ
IFMHJ1<>MHJ2
ACTIWINDPZSR1
@0,1SAY"輸入金額錯(cuò),按任意鍵繼續(xù)"
WAIT""
DEACWINDPZSR1
MHJ2=MHJ
LOOP
ENDIF
FLAG=0
SELECT3
J=1
DOWHILEJ<=25
IFJE(J)<>0.00
IFTRIM(DFKM(J))<>""
SEEKTRIM(DFKM(J))
IF.NOT.EOF()
MKMDM=TRIM(DFKM(J))
KMMC1=""
DOZW_KMMCWITHMKMDM,KMMC1
IFLEN(TRIM(KMMC1))<>0
ACTIWINDPZSR2
@0,1SAY"貸方科目名稱(chēng):"+TRIM(KMMC1)+"按任意鍵繼續(xù)"
WAIT""
DEACWINDPZSR2
ENDI
ENDIF
IFEOF().OR.UPPE(KMRB)="H"
FLAG=1
EXIT
ENDIF
ENDIF
ENDIF
J=J+1
ENDDO
IFFLAG=1
ACTIWINDPZSR1
@0,1SAYTRIM(DFKM(J))+"貸方科目代碼錯(cuò),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
MHJ2=MHJ
LOOP
ENDIF
FLAG3=0
SELECT4
I=1
DOWHILEI<=25
IFLEN(TRIM(XMH(I)))<>0
SEEKTRIM(XMH(I))
IFEOF()
ACTIWINDPZSR1
@0,1SAY"編號(hào):"+TRIM(XMH(I))+"錯(cuò),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
FLAG3=1
EXIT
ENDIF
IFLEN(TRIM(XMH(I)))<>LEN(TRIM(PJH))
ACTIWINDPZSR1
@0,1SAY"編號(hào):"+TRIM(XMH(I))+"錯(cuò),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
FLAG3=1
EXIT
ENDIF
ACTIWINDPZSR2
@0,1SAY"名稱(chēng):"+TRIM(DWMC)+"按任意鍵繼續(xù)"
WAIT""
DEACWINDPZSR2
ENDIF
I=I+1
ENDDO
IFFLAG3=1
MHJ2=MHJ
LOOP
ENDIF
YN="Y"
ACTIWINDPZSR1
@0,1SAY"請(qǐng)檢查錄入憑證正確否?Y/N"GETYN
READ
IFUPPER(YN)<>"Y"
MHJ2=MHJ
DEACWINDPZSR1
LOOP
ELSE
MHJ=MHJ2
DEACWINDPZSR1
EXIT
ENDIF
ENDDO
SELECT1
J=1
DOWHILEJ<=25
IFJE(J)<>0.00
IFDFKM(J)<>""
APPENDBLANK
REPLACERQWITHRQ1,BHWITHBH1,ZYWITHZY(J)
REPLACEKMDMWITHDFKM(J),JEWITHJE(J),PZRBWITH"S"
REPLACEJDWITH"D",PJHWITHXMH(J)
ENDIF
ENDIF
J=J+1
ENDDO
ACTIWINDPZSR1
STORE"N"TOMX
@0,1SAY"還有同號(hào)憑證否Y/N?"GETMX
READ
DEACWINDPZSR1
IFUPPER(MX)="N"
APPENDBLANK
REPLACERQWITHRQ1,BHWITHBH1,ZYWITHZY(1),KMDMWITHJFKM1
REPLACEJEWITHMHJ,PZRBWITH"S",JDWITH"J"
REPLACEFDJWITHFDJ1
EXIT
ENDIF
MX="Y"
MY=0
ENDDO
ACTIWINDPZSR1
@0,1SAY"繼續(xù)輸入否?Y/N"GETAN
READ
DEACWINDPZSR1
IFUPPER(AN)<>"Y"
EXIT
ENDIF
ENDDO
CLEAR
RETURN
*:EOF:PZSR11.PRG
****************
*生成憑證號(hào)ZWBH.PRG
****************
PARAMETERSMBH
SETTALKOFF
SELE1
SETINDETODATA\PZKHC1
GOTOP
LOCATEFORUPPER(PZRB)=UPPER(MRB)
IFEOF()
SELECT2
SETINDETOPZK1
LOCATEFORUPPER(PZRB)=UPPER(MRB)
IFEOF()
MBH="0001"
RETURN
ELSE
GOBOTTOM
MBH=BH
DOWHILE.NOT.BOF()
IFUPPER(PZRB)<>UPPER(MRB)
SKIP-1
IFBOF()
MBH="0001"
EXIT
ENDIF
ELSE
X1=VAL(BH)
X1=X1+1
X2=TRIM(LTRIM(STR(X1)))
DOCASE
CASELEN(X2)=1
MBH="000"+X2
CASELEN(X2)=2
MBH="00"+X2
CASELEN(X2)=3
MBH="0"+X2
CASELEN(X2)=4
MBH=X2
ENDCASE
EXIT
ENDIF
ENDDO
RETURN
ENDIF
ELSE
GOBOTTOM
MBH=BH
DOWHILE.NOT.BOF()
IFUPPER(PZRB)<>UPPER(MRB)
SKIP-1
IFBOF()
MBH="0001"
EXIT
ENDIF
ELSE
X1=VAL(BH)
X1=X1+1
X2=TRIM(LTRIM(STR(X1)))
DOCASE
CASELEN(X2)=1
MBH="000"+X2
CASELEN(X2)=2
MBH="00"+X2
CASELEN(X2)=3
MBH="0"+X2
CASELEN(X2)=4
MBH=X2
ENDCASE
EXIT
ENDIF
ENDDO
ENDIF
RETURN
******************
*憑證輸入格式文件PZSR11.FMT*
******************
*****************
*第一屏*
*****************
@17,50SAY'附單據(jù)張'
@5,16GETJFKM1
@5,36GETRQ1
@5,64GETBH1
@9,3GETZY(1)PICTA2
@9,30GETDFKM(1)PICTA3
@9,43GETXMH(1)PICTA5
@9,60GETJE(1)PICTA6
@10,3GETZY(2)PICTA2
@10,30GETDFKM(2)PICTA3
@10,43GETXMH(2)PICTA5
@10,60GETJE(2)PICTA6
@11,3GETZY(3)PICTA2
@11,30GETDFKM(3)PICTA3
@11,43GETXMH(3)PICTA5
@11,60GETJE(3)PICTA6
@12,3GETZY(4)PICTA2
@12,30GETDFKM(4)PICTA3
@12,43GETXMH(4)PICTA5
@12,60GETJE(4)PICTA6
@13,3GETZY(5)PICTA2
@13,30GETDFKM(5)PICTA3
@13,43GETXMH(5)PICTA5
@13,60GETJE(5)PICTA6
@17,20SAY'第一屏'
@20,26SAY'輸入完一張憑證鍵F1退出'
READ
******************
*生成科目名稱(chēng)ZW_KMMC*
******************
PARAMETERSKMDM,KMMC1
KMDM1=""
KMDM2=""
KMDM3=""
KMDM4=""
KMDM1=SUBSTR(KMDM,1,3)
DOCASE
CASELEN(TRIM(KMDM))=11
KMDM2=SUBSTR(KMDM,1,5)
KMDM3=SUBSTR(KMDM,1,7)
KMDM4=SUBSTR(KMDM,1,9)
KMDM4=SUBSTR(KMDM,1,11)
CASELEN(TRIM(KMDM))=9
KMDM2=SUBSTR(KMDM,1,5)
KMDM3=SUBSTR(KMDM,1,7)
KMDM4=SUBSTR(KMDM,1,9)
CASELEN(TRIM(KMDM))=7
KMDM2=SUBSTR(KMDM,1,5)
KMDM3=SUBSTR(KMDM,1,7)
CASELEN(TRIM(KMDM))=5
KMDM2=SUBSTR(KMDM,1,5)
ENDCASE
MI=1
KMMC1=""
SELECT3
DOWHILEMI<=4
MJ=STR(MI,1)
IFKMDM&MJ<>""
SEEKKMDM&MJ
KMMC1=KMMC1+TRIM(KMMC)+"/"
KMDM&MJ=""
ENDIF
MI=MI+1
ENDDO
RETURN
*******************
*查詢(xún)憑證程序CXPZKHC1.PRG*
*******************
PARAPZLXQ
PUBLICDIMENSIONPZH1(1000)
STORE""TOPZH1
DEFIWINDPZCXFROM3,25TO16,50SHADDOUBLCOLOSCHE14
DEFIWINDPZCX1FROM18,20TO21,60SHADDOUBLCOLOSCHE14
DOWHILE.T.
ACTIWINDPZCX
@0,3SAY"憑證查詢(xún)功能選擇模塊"
@2,3PROMPT"1.按日期查詢(xún)"
@3,3PROMPT"2.按憑證號(hào)查詢(xún)"
@4,3PROMPT"3.按科目碼查詢(xún)"
@5,3PROMPT"4.按金額查詢(xún)"
@6,3PROMPT"5.按組合條件查詢(xún)"
@7,3PROMPT"6.查詢(xún)期限發(fā)生額"
@8,3PROMPT"0.退出"
@10,2SAY"請(qǐng)選擇"
MENUTOCH
DEACWINDPZCX
B12=DATE()
B11=DATE()
I1=1
DOCASE
CASECH=1
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY"輸入查詢(xún)?nèi)掌谇?日至日"
@0,15GETB11
@0,27GETB12
READ
DEACWINDPZCX1
IFB11>B12
LOOP
ELSE
EXIT
ENDIF
ENDDO
SELECT1
B0="'"+DTOC(B11)+"'"
B2="'"+DTOC(B12)+"'"
B1="RQ>=CTOD("+B0+").AND.RQ<=CTOD("+B2+").AND.UPPE(PZRB)='";
+UPPE(PZLXQ)+"'"
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZ1<>""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=2
DOWHILE.T.
A11=""
A12=""
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢(xún)憑證號(hào):號(hào)至號(hào)"
@0,18GETA11PICTURE"9999"
@0,28GETA12PICTURE"9999"
READ
A11=TRIM(A11)
A12=TRIM(A12)
DEACWINDPZCX1
IFA11>A12.OR.LEN(TRIM(A11))=0.OR.LEN(TRIM(A12))=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
B1="BH>='"+A11+"'.AND.BH<='"+A12+"'.AND.UPPE(PZRB)='"+
UPPE(PZLXQ)+"'"
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZ1<>""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=3
KMBM1=""
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢(xún)科目編碼:"GETKMBM1PICTURE""
READ
DEACWINDPZCX1
IFLEN(TRIM(KMBM1))=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
KMBM1="'"+KMBM1+"'"
B1="KMDM="+KMBM1+".AND.UPPE(PZRB)="+"'"+UPPE(PZLXQ)+"'"
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZ1<>""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=4
C11=0
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢(xún)金額:"GETC11PICTURE".99"
READ
DEACWINDPZCX1
B1="JE="+STR(C11,12,2)+".AND.UPPE(PZRB)="+"'"+UPPE(PZLXQ)+"'"
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZ1<>""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=5
DOWHILE.T.
A111=0
A112=0
C11=""
C12=0
ACTIWINDPZCX1
@0,0SAY"輸入查詢(xún)要求:日期日至日"
@1,0SAY"憑證號(hào)號(hào)至號(hào)"
@0,17GETB11
@0,27GETB12
@1,17GETA111PICTURE"9999"
@1,27GETA112PICTURE"9999"
READ
DEACWINDPZCX1
IFA111>A112.OR.B11>B12.OR.A111=0.OR.A112=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
B0="'"+DTOC(B11)+"'"
B2="'"+DTOC(B12)+"'"
B1="RQ>=CTOD("+B0+").AND.RQ<=CTOD("+B2+").AND.BH>="+"'"+;
STR(A111,4,0)+"'"+".AND.BH<="+"'"+STR(A112,4,0)+"'"+;
".AND.UPPE(PZRB)="+"'"+UPPE(PZLXQ)+"'"
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZ1<>""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=6
KMBM1=""
RQ1=0
RQ2=0
DOWHILE.T.
ACTIWINDPZCX1
@0,1SAY"請(qǐng)輸入查詢(xún)科目代碼:"GETKMBM1PICTURE"9999999"
READ
DEACWINDPZCX1
IFKMBM1=""
LOOP
ELSE
EXIT
ENDIF
ENDDO
SELECT3
SEEKKMBM1
IFEOF()
ACTIWINDPZCX1
@0,0SAY"查無(wú)此科目碼!按任一鍵返回!"
WAIT""
DEACWINDPZCX1
LOOP
ENDIF
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢(xún)期限從日至日"
@0,17GETRQ1PICTURE"99"VALIDRQ1>=1.AND.RQ1<=31
@0,24GETRQ2PICTURE"99"VALIDRQ2>=1.AND.RQ2<=31
READ
DEACWINDPZCX1
IFRQ1>RQ2.OR.RQ1=0.OR.RQ2=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
DOCXPZKHC4
CASECH=7
RETURN
ENDCASE
ENDDO
RETURN
*:EOF:CXPZKHC1.PRG
*******************
*查詢(xún)憑證子程序CXPZKHC2.PRG*
*******************
PARAMETERSPZLXQ,KZ1
DEFIWINDPZCX21FROM18,20TO20,60SHADCOLOSCHE12
SELECT1
GOTOP
LOCAFOR&B1
IFEOF()
ACTIWINDPZCX21
@0,0SAY"查無(wú)此憑證!按任一鍵返回!"
WAIT""
DEACWINDPZCX21
KZ1="N"
RETURN
ENDIF
PZH1=SPACE(4)
DOWHILE.NOT.EOF()
IFPZH1(I1)<>BH
I1=I1+1
PZH1(I1)=BH
ENDIF
CONTINUE
ENDDO
RETURN
**********************
*查詢(xún)憑證子程序CXPZKHC3.PRG*
**********************
PARAPZLXQ
SELE12
USEDATA\ZWKLK
MDWMC=DWMC
SELECT1
J=2
DOWHILEJ<=I1
LOCATEFORBH=PZH1(J).AND.PZRB=PZLXQ
IFLOWER(PZLXQ)="S"
LX="收款"
ELSE
IFLOWER(PZLXQ)="F"
LX="付款"
ELSE
LX="轉(zhuǎn)帳"
ENDIF
ENDIF
@1,35SAYLX+"憑證"
LINE1="單位:"+TRIM(MDWMC)+""+NN+"年"+YY+"月"+RR+"日"+"第"+BH+"號(hào)"
LINE2="┏━━━━━━━━━┳━━━━━━━━━━━┳━┳━━━━━━┓"
LINE3="┃摘要┃科目名稱(chēng)┃JD┃金額┃"
LINE4="┣━━━━━━━━━╋━━━━━━━━━━━╋━╋━━━━━━┫"
@2,0SAYLINE1
@3,0SAYLINE2
@4,0SAYLINE3
@5,0SAYLINE4
PZH1(J)=BH
I=5
DOWHILE.NOT.EOF().AND.BH=PZH1(J).AND.PZRB=PZLXQ
SELECT3
STORE""TOKMMC1,KMMC2,KMMC3
IFLEN(TRIM(A->KMDM))=3
SEEKA->KMDM
KMMC1=TRIM(KMMC)
ELSE
IFLEN(TRIM(A->KMDM))=5
SEEKLEFT(A->KMDM,3)
KMMC1=TRIM(KMMC)
SEEKA->KMDM
KMMC2=TRIM(KMMC)
ELSE
IFLEN(TRIM(A->KMDM))=7
SEEKLEFT(A->KMDM,3)
KMMC1=TRIM(KMMC)
SEEKLEFT(A->KMDM,5)
KMMC2=TRIM(KMMC)
SEEKA->KMDM
KMMC3=TRIM(KMMC)
ELSE
SEEKLEFT(A->KMDM,3)
KMMC1=TRIM(KMMC)
SEEKLEFT(A->KMDM,5)
KMMC2=TRIM(KMMC)
SEEKLEFT(A->KMDM,7)
KMMC3=TRIM(KMMC)
SEEKA->KMDM
KMMC3=KMMC3+TRIM(KMMC)
ENDIF
ENDIF
ENDIF
SELECT1
IFI<=12
I=I+1
@I,0SAY"┃"+SUBS(ZY,1,18)
@I,20SAY"┃"+TRIM(KMMC1)+"-"+TRIM(KMMC2)+"-"+TRIM(KMMC3)
IFLOWER(JD)="J"
@I,56SAY"┃"+"借"+"┃"+STR(JE,12,2)+"┃"
ELSE
@I,56SAY"┃"+"貸"+"┃"+STR(JE,12,2)+"┃"
ENDIF
ELSE
@ROW(),0SAY"┗━━━━━━━━━┻━━━━━━━━━━━┻━┻━━━━━━┛"
@ROW()+1,20SAY"閱畢,按任一鍵繼續(xù)"
WAIT""
CLEA
@1,35SAYLX+"憑證"
@2,0SAYLINE1
@3,0SAYLINE2
@4,0SAYLINE3
@5,0SAYLINE4
I=6
@I,0SAY"┃"+SUBS(ZY,1,18)
@I,20SAY"┃"+TRIM(KMMC1)+"-"+TRIM(KMMC2)+"-"+TRIM(KMMC3)
IFLOWER(JD)="J"
@I,56SAY"┃"+"借"+"┃"+STR(JE,12,2)+"┃"
ELSE
@I,56SAY"┃"+"貸"+"┃"+STR(JE,12,2)+"┃"
ENDIF
ENDIF
SKIP
ENDDO
@I+1,0SAY"┗━━━━━━━━━┻━━━━━━━━━━━┻━┻━━━━━━┛"
@I+2,10SAY"第"+LTRIM(RTRIM(STR(J-1)))+"張"
@I+3,10SAY"按'R'鍵返屏!'Q'鍵退出!其它鍵繼續(xù)..."
WAIT""TOF1
IFUPPE(F1)="Q"
CLEA
RETURN
ENDIF
CLEA
IFUPPE(F1)="R"
J=J-2
ENDIF
IFJ<1
J=1
ENDIF
J=J+1
ENDDO
IFJ=2
RETURN
ENDIF
@I+3,8SAY"查詢(xún)完畢,按任一鍵返回"
WAIT""
@I+3,8SAYSPACE(70)
RETURN
第五章登記帳薄程序分析與設(shè)計(jì)
第一節(jié)登記帳薄程序分析
在憑證輸入結(jié)束后即需要用憑證數(shù)據(jù)來(lái)更新科目余額文件中相應(yīng)科目的發(fā)生額數(shù)
據(jù)項(xiàng)和累計(jì)發(fā)生額數(shù)據(jù)項(xiàng),并計(jì)算出期末余額數(shù)據(jù)項(xiàng),由于憑證數(shù)據(jù)中相同科目
的業(yè)務(wù)不止一筆,因此,在更新數(shù)據(jù)之前,即要將憑證數(shù)據(jù)按科目代碼進(jìn)行匯總
,將匯總的結(jié)果來(lái)對(duì)科目余額文件中相應(yīng)的科目余額數(shù)據(jù)項(xiàng)進(jìn)行更新操作,從而
形成最新的科目余額數(shù)據(jù),然后根據(jù)逐級(jí)匯總的方法,下級(jí)科目匯總后生成上級(jí)
科目余額數(shù)據(jù),這就是登記帳薄的過(guò)程。這個(gè)過(guò)程有兩個(gè)主要步驟,一是憑證匯
總,二是按科目逐級(jí)匯總。
只有明細(xì)科目的數(shù)據(jù)是從臨時(shí)匯總庫(kù)得到的,其它的數(shù)據(jù)都是由下級(jí)科目經(jīng)匯總
后得到的,在登記帳薄程序中所要用到的數(shù)據(jù)庫(kù)有PZKHC.DBF文件(未登帳憑證數(shù)
據(jù))、KMYE.DBF(科目余額)、DMMCK.DBF(單位往來(lái)帳余額文件)和PZK.DBF(已登帳
憑證文件),另外就是一些臨時(shí)用匯總文件,臨時(shí)用匯總文件的文件結(jié)構(gòu)與憑證庫(kù)
文件結(jié)構(gòu)相同,這些文件的內(nèi)容如下所示:
憑證庫(kù)文件結(jié)構(gòu)
1RQ日期D8
2BH憑證號(hào)C4
3KMDM科目代碼C113:2:2:2:2與科目代碼庫(kù)的內(nèi)容一致
4ZY摘要C24
5JE金額N122
6FDJ附單據(jù)N2
7PZRB憑證類(lèi)別C1S,F,Z
8JD借貸C1J,D
9PJH單位代碼C10與單位往來(lái)帳的一致
科目余額庫(kù)文件結(jié)構(gòu)
1RQ(日期)日期型8
2KMDM(科目代碼)字符型113:2;2:2:2
3KMMC(科目名稱(chēng))字符型12
4NCYE(年初余額)數(shù)值型122
5NCLX(年初類(lèi)型)字符型12J,D
6QCYE(期初余額)數(shù)值型142
7QCLX(期初類(lèi)型)字符型1J,D
8JFF(借方發(fā)生)數(shù)值型142
9DFF(貸方發(fā)生)數(shù)值型142
10JFLJ(借方累計(jì))數(shù)值型142
11DFLJ(貸方累計(jì))數(shù)值型142
12QMYE(期末余額)數(shù)值型142
13QMLX(期末類(lèi)型)字符型1J,D
14KMRB(科目待征)字符型1H匯總型,M明細(xì)型
單位往來(lái)帳文件結(jié)構(gòu)
1PJH單位編號(hào)字符型10
2DWMC單位名稱(chēng)字符型24
3QCYE期初余額數(shù)字型122
4QCLX期初類(lèi)型字符型1
5JFF借方發(fā)生額數(shù)字型122
6DFF貸方發(fā)生額數(shù)字型122
7JFLJ借方累計(jì)額數(shù)字型122
8DFLJ貸方累計(jì)額數(shù)字型122
9QMYE期末余額數(shù)字型122
10QMLX期末類(lèi)型字符型1
第二節(jié)登記帳薄程序設(shè)計(jì)
文件被打開(kāi)的工作區(qū)間是:
A區(qū):憑證文件(未登帳憑證文件)PZKHC.DBF
B區(qū):憑證文件(已登帳憑證文件)PZK.DBF
C區(qū):科目余額文件KMYE.DBF
D區(qū):單位往來(lái)帳文件DWMC.DBF
E區(qū):單位往來(lái)帳憑證文件
***************
*更新帳薄GXZP.PRG*
***************
DEFIWINDGXZPFROM4,20TO16,60SHADCOLOSCHE14DOUBL
DEFIWINDGXZP1FROM18,20TO20,60SHADCOLOSCHE12
ACTIWINDGXZP
YY="N"
@0,1SAY"登計(jì)帳簿否Y/N?"GETYYPICTURE"X"
READ〖LM〗
〖KH14*2〗[JZ]圖5.2
IFUPPER(YY)<>"Y"
DEACWINDGXZP
RETURN
ENDIF
SELECT9
USEBAK\KMYEBFINDEXBAK\KMYEBF1
DELETEALL
PACK
APPENDFROMDATA\KMYE
USE
SELECT9
USEBAK\DMMCKBFINDEXBAK\DMMCKBF1
DELETEALL
PACK
APPENDFROMDATA\DMMCK
USE
SELECT3
REINDEX
SELECT1
SETINDETODATA\PZKHC2
REINDEX
SELECT4
REINDEX
IFFILE("MKMHZJ.DBF")
ERASEMKMHZJ.DBF
ENDI
IFFILE("MKMHZD.DBF")
ERASEMKMHZD.DBF
ENDI
SELECT1
PZH1=BH
GOBOTTOM
PZH2=BH
IFRECCOUNT()=0
ACTIWINDGXZP1
@0,1SAY"憑證緩沖文件沒(méi)有記錄,按任意鍵退出!"
WAIT""
DEACWINDGXZP1
DEACWINDGXZP
RETURN
ENDIF
MDWMC=""
@1,1SAY"正在進(jìn)行匯總"+TRIM(MDWMC)+"記帳憑證..."
IFFILES("KMHZJ.DBF")
ERASEKMHZJ.DBF
ENDIF
IFFILES("KMHZD.DBF")
ERASEKMHZD.DBF
ENDIF
SELECT1
TOTALONKMDMTOKMHZJFORUPPER(JD)="J"FIELDSJE
TOTALONKMDMTOKMHZDFORUPPER(JD)="D"FIELDSJE
TOTALONPJHTOMKMHZJFORUPPER(JD)="J";
.AND.TRIM(PJH)<>SPACE(LEN(TRIM(PJH)))FIELDSJE
TOTALONPJHTOMKMHZDFORUPPER(JD)="D";
.AND.TRIM(PJH)<>SPACE(LEN(TRIM(PJH)))FIELDSJE
SELECT0
USEKMHZJ
INDEXONKMDMTOKMHZJ1
SETINDEXTOKMHZJ1
SELECT0
USEKMHZD
INDEXONKMDMTOKMHZD1
SETINDEXTOKMHZD1
SELECT0
USEMKMHZJ
INDEXONPJHTOMKMHZJ1
SETINDEXTOMKMHZJ1
SELECT0
USEMKMHZD
INDEXONPJHTOMKMHZD1
SETINDEXTOMKMHZD1
@2,1SAY"正在更新科目余額文件的本期發(fā)生額..."
SELECT3
UPDAONKMDMFROMKMHZJREPLJFFWITHJFF+KMHZJ->JE,;
JFLJWITHJFLJ+KMHZJ->JE,RQWITHRQRANDOM
UPDAONKMDMFROMKMHZDREPLDFFWITHDFF+KMHZD->JE,;
DFLJWITHDFLJ+KMHZD->JE,RQWITHRQRANDOM
PH="Y"
@3,1SAY"正在匯總余額文件的本期發(fā)生額.."
DOGXFSEWITH"F",PH
IFUPPER(PH)<>"Y"
SELECTKMYE
DELETEALL
PACK
APPENDFROMBAK\KMYEBF
SELECTDMMCK
DELETEALL
PACK
APPENDFROMBAK\DMMCKBF
ACTIWINDGXZP1
@0,1SAY"本次做帳不成功,請(qǐng)檢查憑證,按任意鍵退出"
WAIT""
DEACWINDGXZ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職中西面點(diǎn)(糕點(diǎn)烘焙技術(shù))試題及答案
- 2026年導(dǎo)游服務(wù)(景點(diǎn)講解)試題及答案
- 2025年中職汽車(chē)電子技術(shù)(汽車(chē)電子控制系統(tǒng))試題及答案
- 2025年中職設(shè)施農(nóng)業(yè)技術(shù)(大棚蔬菜種植)試題及答案
- 中學(xué)女生安全教育課件
- 運(yùn)輸專(zhuān)業(yè)制度匯編模板
- 養(yǎng)老院老人生活照顧人員社會(huì)保險(xiǎn)制度
- 養(yǎng)老院老人健康飲食制度
- 養(yǎng)老院入住老人交通安全保障制度
- 央視介紹教學(xué)課件
- 2025北京陳經(jīng)綸中學(xué)高一9月月考物理(貫通班)試題含答案
- 中國(guó)鋁礦行業(yè)現(xiàn)狀分析報(bào)告
- 物業(yè)人員消防安全培訓(xùn)課件
- 2025年大學(xué)大四(預(yù)防醫(yī)學(xué))環(huán)境衛(wèi)生學(xué)階段測(cè)試試題及答案
- 文物安全保護(hù)責(zé)任書(shū)范本
- 產(chǎn)房護(hù)士長(zhǎng)年度工作業(yè)績(jī)總結(jié)與展望
- 【初中 歷史】2025-2026學(xué)年統(tǒng)編版八年級(jí)上學(xué)期歷史總復(fù)習(xí) 課件
- 2025~2026學(xué)年黑龍江省哈爾濱市道里區(qū)第七十六中學(xué)校九年級(jí)上學(xué)期9月培優(yōu)(四)化學(xué)試卷
- 2025年律師事務(wù)所黨支部書(shū)記年終述職報(bào)告
- 中國(guó)腦小血管病診治指南2025
- 中國(guó)零排放貨運(yùn)走廊創(chuàng)新實(shí)踐經(jīng)驗(yàn)、挑戰(zhàn)與建議
評(píng)論
0/150
提交評(píng)論