版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會(huì)計(jì)軟件分析與設(shè)計(jì)
第一章帳務(wù)處理程序分析
學(xué)習(xí)目的與要求:
帳務(wù)核算系統(tǒng)是會(huì)計(jì)核算軟件中使用最為廣泛、最為重要的一個(gè)子系統(tǒng)。
本章以系統(tǒng)開發(fā)過程為主線,簡要介紹各過程的任務(wù)、要求及注意事項(xiàng)。
通過本章的學(xué)習(xí),要求讀者對(duì)帳務(wù)處理系統(tǒng)的開發(fā)過程及每個(gè)過程所涉
及的原理有一個(gè)初步的了解,明白各個(gè)過程完成的內(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)狀沒有調(diào)
查清晰就進(jìn)行系統(tǒng)
設(shè)計(jì),則可能顯現(xiàn)許多咨詢題,滿足不了用戶的需要和功能不全的咨詢題
就要使設(shè)計(jì)人員從頭再
來進(jìn)行系統(tǒng)的調(diào)查,因此,設(shè)計(jì)人員應(yīng)認(rèn)真對(duì)待調(diào)查工作。
第二節(jié)系統(tǒng)規(guī)劃
一、系統(tǒng)規(guī)劃的任務(wù)
按照現(xiàn)狀調(diào)查所獲得的資料,第一應(yīng)歸納出用戶的差不多需求,除滿足用
戶提
出的要求外,應(yīng)講明還有哪些附加功能,關(guān)于不能滿足的用戶要求要講明
原
因,所有的系統(tǒng)功能要清晰,在運(yùn)算機(jī)系統(tǒng)的配置,會(huì)計(jì)數(shù)據(jù)處理方法,
系
統(tǒng)開發(fā)的初步安排等方面進(jìn)行規(guī)劃,編寫需求分析講明書。
二、系統(tǒng)規(guī)劃的內(nèi)容
1、運(yùn)算機(jī)系統(tǒng)的配置方面。
2、在信息的處理方式方面。
3、在軟件開發(fā)打算方面。
第三節(jié)概要設(shè)計(jì)
一、概要設(shè)計(jì)的任務(wù)及意義
概要設(shè)計(jì)是在系統(tǒng)可行性分析之后,為實(shí)現(xiàn)系統(tǒng)進(jìn)行的技術(shù)設(shè)計(jì),概要設(shè)
計(jì)
工作的好壞,直截了當(dāng)阻礙到賽用的多少,開發(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ù),承諾哪些人只讀或禁止訪咨詢;文件名。
第四節(jié)詳細(xì)設(shè)計(jì)
一、詳細(xì)設(shè)計(jì)的任務(wù)
1、對(duì)概要設(shè)計(jì)的功能模塊進(jìn)行過程描述,開發(fā)一個(gè)能夠直截了當(dāng)轉(zhuǎn)換成
程序語言
代碼的軟件表示,這種表示應(yīng)當(dāng)是無歧義且高度結(jié)構(gòu)化的。
2.為每個(gè)模塊建立一個(gè)“軟件開發(fā)卷宗”文件。
二、詳細(xì)設(shè)計(jì)時(shí)期的實(shí)施步驟
1、將概要設(shè)計(jì)產(chǎn)生的構(gòu)成軟件系統(tǒng)的各個(gè)功能模塊逐步細(xì)化,形成若干
個(gè)
程序模塊。
2、采納詳細(xì)設(shè)計(jì)工具對(duì)程序模塊進(jìn)行過程描述。
3、確定各個(gè)模塊間的詳細(xì)接口信息。
4、編寫“程序設(shè)計(jì)講明書
5、按完成標(biāo)志進(jìn)行評(píng)審,如未發(fā)覺專門咨詢題,則處理終止,否則而進(jìn)
行
修改,修改后再次評(píng)審,直至通過為止。
三、詳細(xì)設(shè)計(jì)的完成標(biāo)志
1、詳細(xì)地規(guī)定了各模塊之間的接口,包括參數(shù)的形式和傳遞方式,上下
層調(diào)用關(guān)系。
2、確定了模塊內(nèi)的算法及數(shù)據(jù)結(jié)構(gòu)。
四、過程的結(jié)構(gòu)化構(gòu)造
1、過程的結(jié)構(gòu)化與非結(jié)構(gòu)化
2、過程的結(jié)構(gòu)化應(yīng)遵循的原則
使用有限數(shù)量的差不多邏輯結(jié)構(gòu);利用差不多結(jié)構(gòu)將過程組成容易識(shí)別的
“塊;
每塊都有且只能有一個(gè)入口和一個(gè)出口;易于轉(zhuǎn)換成程序代碼;容易修改
設(shè)
計(jì)
五、詳細(xì)設(shè)計(jì)工具
1、圖形工具,以圖示方法描述模塊處理過程。
2、語言工具,有偽代碼或結(jié)構(gòu)化英語來描述數(shù)據(jù)和處理過程。
3、表格工具,用表格來表示詳細(xì)處理過程,這類工具適于處理邏輯十分
復(fù)雜
的條件和活動(dòng)間的關(guān)聯(lián)。
4、幾種常用的詳細(xì)設(shè)計(jì)工具:
流程圖;框圖;判定樹
第五節(jié)詳細(xì)設(shè)計(jì)交付的文件
一、程序設(shè)計(jì)講明書
程序設(shè)計(jì)講明書又稱詳細(xì)設(shè)計(jì)講明書。編制目的是講明一個(gè)軟件系統(tǒng)各層
次中的
每一個(gè)模塊的設(shè)計(jì)考慮,其應(yīng)考慮如下內(nèi)容:
1.編寫目的;2.程序系統(tǒng)的結(jié)構(gòu);3.程序設(shè)計(jì)講明(程序描述;功能;性能;
輸入項(xiàng);輸出項(xiàng);算法;流程邏輯;接口;存貯分配;注釋設(shè)計(jì);限制條
件;
測(cè)試打算;尚未解決的咨詢題)
二、模塊開發(fā)講明書
模塊開發(fā)講明書是在詳細(xì)設(shè)計(jì)講明書經(jīng)評(píng)審和批準(zhǔn)后建立的,并在模塊開
發(fā)過程
中逐步編寫出來,它是治理人員監(jiān)督開發(fā)進(jìn)度并為以后的愛護(hù)人員使用的
技術(shù)文
件,其要緊內(nèi)容如下:
標(biāo)題;模塊開發(fā)情形(時(shí)刻安排);功能講明;設(shè)計(jì)講明;源代碼清單;
測(cè)試講明;評(píng)審的結(jié)論
第二章用戶界面程序設(shè)計(jì)
學(xué)習(xí)目的與要求:
用戶界面確實(shí)是用戶與運(yùn)算機(jī)系統(tǒng)進(jìn)行相互交流數(shù)據(jù)與信息的一些接口規(guī)
#
氾,
用戶界面的友好性直截了當(dāng)關(guān)系到軟件系統(tǒng)的質(zhì)量。本章通過介紹數(shù)據(jù)輸
入界面、
菜單等有關(guān)內(nèi)容,講明在進(jìn)行系統(tǒng)友好界面設(shè)計(jì)時(shí)應(yīng)遵循的一些差不多規(guī)
則及
常用慣例,通過學(xué)習(xí),要求讀者把握菜單概念及菜單選擇的程序?qū)崿F(xiàn)。
內(nèi)容提要
第一節(jié)數(shù)據(jù)輸入界面設(shè)計(jì)
一、用戶界面及其設(shè)計(jì)要求
1、用戶界面這一術(shù)語指的是用戶和程序如何相互溝通,屏幕上的任何信
息、
文檔資料以及鍵盤輸入的命令差不多上用戶界面的一部分,對(duì)屏幕設(shè)置,
提
示、菜單和聯(lián)機(jī)關(guān)心信息設(shè)計(jì)的好壞決定著用戶界面是否高效、友好,
也決定著軟件是否能為用戶同意,最佳的用戶界面強(qiáng)調(diào)良好的屏幕設(shè)計(jì),
易于使用和用戶友好。
2、用戶界面設(shè)計(jì)時(shí)應(yīng)考慮的一樣原則:
必須集成于系統(tǒng)設(shè)計(jì)之中,而不最后加上;減少擊鍵次數(shù)來提升用戶效率;
推測(cè)用戶的下一步動(dòng)作;提供錯(cuò)誤信息來關(guān)心糾正錯(cuò)誤;
提供文檔來減少培訓(xùn)時(shí)刻;帶有關(guān)心信息;支持其它的輸入裝置。
二、輸入數(shù)據(jù)程序設(shè)計(jì)要遵循如下原則:
1、簡明性
2、一致性
3、完整性
4、使用顏色的原則
5、輸入格式
第二節(jié)菜單和命令設(shè)計(jì)
一、菜單及其功能
1、菜單系統(tǒng)將當(dāng)前承諾用戶選擇操作的功能名稱在屏幕上顯示出來,讓
用戶
選擇并完成該功能的一種用戶界面形式。
2、菜單的功能
?使不熟練的的用戶熟練軟件,即表述其功能和特性
?提供可選項(xiàng)的清單
?簡化選擇,從而防止產(chǎn)生錯(cuò)誤
?降低訓(xùn)練費(fèi)用,因?yàn)椴藛我徊讲揭龑?dǎo)用戶完成任務(wù)
-減少用戶的經(jīng)歷負(fù)擔(dān)
二、菜單式樣
1、水平上托式菜單。
2、豎直上托式。
3、下拉菜單。
4、全屏幕菜單。
5、圖標(biāo)式菜單(類WINDOWS風(fēng)格)。
三、菜單設(shè)計(jì)的考慮及權(quán)衡
1、設(shè)計(jì)按下ESC鍵將操縱返回到上一級(jí)菜單。
2、同時(shí)提供亮條選擇菜單及字母菜單選擇。
3、考慮用戶擁有使用過的其它軟件的菜單風(fēng)格。
4、提供快捷選擇。
四、菜單設(shè)計(jì)原則
1、菜單設(shè)計(jì)所使用的名稱要前后一致。
2、減少選項(xiàng)的數(shù)目,一樣不要超過8項(xiàng)。
3、減少菜單級(jí)數(shù)的數(shù)目,一樣不要超過4級(jí)。
4、提供快速返回鍵。
5、菜單選項(xiàng)的選項(xiàng)內(nèi)容易于懂得,一樣不要使用技術(shù)性強(qiáng)的術(shù)語。
第四第用戶界面程序設(shè)計(jì)舉例
一、下拉式菜單設(shè)計(jì)舉例
CLEAR
DOWHILE.T.
@1,1PROMPT"憑證輸入”
@1,10PROMPT“查詢”
@1,20PROMPT“記帳”
@1,30PROMPT“打印”
@1,40PROMPT“系統(tǒng)設(shè)置”
@1,50PROMPT“月末結(jié)轉(zhuǎn)”
@1,60PROMPT“數(shù)據(jù)庫愛護(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,采購單輸入”
@6,3PROMPT“2,領(lǐng)料單輸入”
@7,3PROMPT“3,修改采購單”
@8,3PROMPT“4,修改領(lǐng)料單”
@9,3PROMPT“0,退出”
MENUTOCHOI
DOCASE
ENDCASE
ENDCASE
ENDDO
二、全屏幕菜單設(shè)計(jì)舉例
三、全屏幕菜單設(shè)計(jì)舉例2
第四章憑證處理程序分析與設(shè)計(jì)
第一節(jié)憑證的手工處理
一、憑證的分類
1、憑證一樣分為原始憑證和記帳憑證
2、記帳憑證一樣分為收款憑證、付款憑證和轉(zhuǎn)帳憑證。
記帳憑證一樣具有以下內(nèi)容:
1.憑證的名稱。
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)貸帳戶的名稱。
7.所附原始憑證的張數(shù)和過帳備注。
二、會(huì)計(jì)人員對(duì)記帳憑證的處理程序大至如下:
1.按照原始憑證填制記帳憑證;
2.審核憑證,審查其合法性、正確性;
3.修改憑證,對(duì)錯(cuò)誤的憑證進(jìn)行修改;
4.查閱憑證,查閱已填制的憑證;
5.傳遞憑證,從填制或取得會(huì)計(jì)憑證到將其歸檔儲(chǔ)存為止,在有關(guān)業(yè)務(wù)部門
之
間按照規(guī)定的時(shí)刻,路線傳遞處理的程序。
第二節(jié)電算化憑證處理
一、電算化憑證處理的功能
1.錄入為用戶提供:
顯示憑證表格;靈活的編輯手段;儲(chǔ)存用戶錄入的憑證;
提供一定的檢控功能;返回主控模塊;
2.查詢?yōu)橛脩籼峁?/p>
用戶查詢某個(gè)特定憑證;按憑證編號(hào)查詢;
按任一條件查詢滿足條件的第一張憑證;
按任意組合條件查詢滿足條件的第一張憑證(憑證編號(hào)不能參加條件組合);
用戶查詢多張憑證;
按任一條件逐個(gè)查詢滿足條件的憑證;
按任意組合條件逐個(gè)查詢滿足條件的憑證;
暫存查詢信息;
3、修改及刪除
4、憑證輸出
二、電算化憑證處理與手工憑證處理的區(qū)別:
1.信息項(xiàng)不完全相同
2.憑證的編號(hào)方法不一樣
3.儲(chǔ)備形式不同
4.儲(chǔ)備空間的利用率不一樣
第三節(jié)憑證處理程序的安全可靠性
一、憑證出錯(cuò)的來源
1、人為造成
2、(系統(tǒng))處理程序出錯(cuò)。
3、電算化憑證處理模塊的安全可靠性操縱的措施:
L嚴(yán)格的多級(jí)安全操縱用戶級(jí);憑證級(jí)
2.全方位的錄入檢測(cè)
二、數(shù)據(jù)安全可靠性的實(shí)施措施
1、邏輯校驗(yàn)法利用數(shù)據(jù)間的邏輯關(guān)系
2、平穩(wěn)校驗(yàn)法利用“有借必有貸,借貸必相等”的會(huì)計(jì)差不多準(zhǔn)則。
3、查詢校驗(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)滿足的要求
1.穩(wěn)固性
系統(tǒng)應(yīng)能保證所有的處理穩(wěn)固、處理的結(jié)果不隨時(shí)刻波動(dòng),僅僅依靠于輸
入。
2.一致性
系統(tǒng)內(nèi)的數(shù)據(jù)必須保持一致。
3.良好的用戶界面
用戶界面要求方便適用、美觀簡潔。
4.靈活性
不受時(shí)刻、過程的限制。
5.完備性
提供一切有關(guān)憑證處理的功能,并加以強(qiáng)化。
6.快速
二、憑證處理模塊的設(shè)計(jì)
第五節(jié)憑證處理程序的實(shí)現(xiàn)
一、憑證錄入
<}c<]c^{c
*憑證輸入總控程序PZSR.PRG
*{c<}c5{c*fcr|c<|c^|c
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,5
0,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=O
PACK
CHO=0
CASEBAR_NUM=10
DOPZXG22
SELE1
DELEALLFORJE=O
PACK
CHO=0
CASEBAR_NUM=11
DOPZXG4
SELE1
DELEALLFORJE=O
PACK
CHO=0
CASEBAR_NUM=13
DODYPZ
CASEBAR_NUM=14
DODYPZMXB1
CASEBARNUM=15
DODYPZHZB
ENDCASE
IFCHO=0
DOPZKBF
ENDIF
CLEARWINDOWSZ
RETURN
*:EOF:PZSR.PRG
*收款憑證輸入程序PZSR11.PRG
JjC*|c^{c
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(ll)
XMH(I)=SPACE(IO)
JE(I)=0.00
I=1+1
ENDDO
CLEAR
DOWHILE,T.
CLEARTYPE
A2="XXXXXXXXXXXXXXXXXXXXXXXX"
A3="999########"
A5="XXXXXXXXXX"
A6="999999999.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.EOFO
ACTIWINDPZSR1
@0,1SAY"重號(hào),按任意鍵重新輸入”
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
SELECT2
SEEK"&BH1"+"S"
IF.NOT.EOFO
ACTIWINDPZSR1
@0,1SAY”重號(hào),按任意鍵重新輸入”
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
ENDIF
SELE1
IFLEN(TRIM(BH1))<4
ACTIWINDPZSR1
@0,1SAY”編號(hào)長度不夠4位,按任鍵重新輸入!”
WAIT""
DEACWINDPZSR1
LOOP
ENDIF
SELECT3
IFJFKM1=""
LOOP
ELSE
SEEKJFKM1
IF.NOT.EOF()
ACTIWINDPZSR2
@0,1SAY"借方科目名稱:"+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=1+1
ENDDO
@15,61GETMHJ1PICTURE"#########.##"
READ
IFMHJ1OMHJ2
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.EOFO
MKMDM=TRIM(DFKM(J))
KMMC1=""
DOZW_KMMCWITHMKMDM,KMMC1
IFLEN(TRIM(KMMCl))<>0
ACTIWINDPZSR2
@0,1SAY"貸方科目名稱:"+TRIM(KMMC1)+"按任意鍵連續(xù)"
WAIT""
DEACWINDPZSR2
ENDI
ENDIF
IFEOF().OR.UPPE(KMRB)="H"
FLAG=1
EXIT
ENDIF
ENDIF
ENDIF
J=J+l
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⑴)+"錯(cuò),按任意鍵重新輸入"
WAIT""
DEACWINDPZSR1
FLAG3=1
EXIT
ENDIF
ACTIWINDPZSR2
@0,1SAY"名稱:"+TRIM(DWMC)+”按任意鍵連續(xù)”
WAIT""
DEACWINDPZSR2
ENDIF
I=1+1
ENDDO
IFFLAG3=1
MHJ2=MHJ
LOOP
ENDIF
YN="Y"
ACTIWINDPZSR1
@0,1SAY"請(qǐng)檢查錄入憑證正確否?Y/N"GETYN
READ
IFUPPER(YN)o"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+l
ENDDO
ACTIWINDPZSR1
STORE"N"TOMX
@0,1SAY"還有同號(hào)憑證否Y/N?"GETMX
READ
DEACWINDPZSR1
IFUPPER(MX)="N"
APPENDBLANK
REPLACERQWITHRQ1,BHWITHBH1,ZYWITHZY(1),KMD
MWITHJFKM1
REPLACEJEWITHMHJ,PZRBWITH"S",JDWITH"J"
REPLACEFDJWITHFDJ1
EXIT
ENDIF
MX="Y"
MY=0
ENDDO
ACTIWINDPZSR1
@0,1SAY"連續(xù)輸入否?Y/N"GETAN
READ
DEACWINDPZSR1
IFUPPER(AN)o"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
XI=VAL(BH)
XI=Xl+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
XI=VAL(BH)
XI=Xl+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
51c<{c^}c^|c
*憑證輸入格式文件PZSR11.FMT
JjC^|c<|c<]c^{c^|c
*fc*jC^|c*}c^c*{c^c^c<{c^c
*第一屏*
<|c^c<|c*!*<|c<{cJ|C<|c^c^c
@17,50SAY,附單據(jù)張,
@5,16GETJFKM1
@5,36GETRQ1
@5,64GETBH1
@9,3GETZY(1)PICTA2
@9,30GETDFKM(l)PICTA3
@9,43GETXMH(l)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'輸入完一張憑證鍵Fl退出,
READ
51c
*生成科目名稱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&MJo""
SEEKKMDM&MJ
KMMC1=KMMC1+TRIM(KMMC)+'7"
KMDM&MJ=""
ENDIF
MI=MI+1
ENDDO
RETURN
*查詢憑證程序CXPZKHC1.PRG*
PARAPZLXQ
PUBLICDIMENSIONPZHl(lOOO)
STORE""TOPZH1
DEFIWINDPZCXFROM3,25TO16,50SHADDOUBLCOLOSCHE
14
DEFIWINDPZCX1FROM18,20TO21,60SHADDOUBLCOLOSC
HE14
DOWHILE.T.
ACTIWINDPZCX
@0,3SAY”憑證查詢功能選擇模塊”
@2,3PROMPT"1按日期查詢"
@3,3PROMPT"2按憑證號(hào)查詢"
@4,3PROMPT"3按科目碼查詢"
@5,3PROMPT"4按金額查詢"
@6,3PROMPT"5按組合條件查詢"
@7,3PROMPT"6查詢期限發(fā)生額"
@8,3PROMPT"0退出"
@10,2SAY"請(qǐng)選擇"
MENUTOCH
DEACWINDPZCX
B12=DATE()
Bll=DATE()
Il=1
DOCASE
CASECH=1
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY"輸入查詢?nèi)掌谇螅喝罩寥?/p>
@0,15GETBll
@0,27GETB12
READ
DEACWINDPZCX1
IFB11>B12
LOOP
ELSE
EXIT
ENDIF
ENDDO
SELECT1
BO=""'+DTOC(B11)+
B2=+DTOC(B12)+
Bl="RQ>=CTOD("+BO+").AND.RQ<=CTOD("+B2+").AND.UPP
E(PZRB)=";
+UPPE(PZLXQ)+
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZlo""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=2
DOWHILE,T.
All=""
A12=""
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢憑證號(hào):號(hào)至號(hào)"
@0,18GETAllPICTURE"9999"
@0,28GETA12PICTURE"9999"
READ
A11=TRIM(A11)
A12=TRIM(A12)
DEACWINDPZCX1
IFA11>A12.OR.LEN(TRIM(A11))=O.OR.LEN(TRIM(A12))=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
Bl="BH>='"+All+",.AND.BH<='"+A12+",.AND.UPPE(PZRB)=,"+
UPPE(PZLXQ)+
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZlo""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=3
KMBM1=""
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY”請(qǐng)輸入查詢科目編碼:"GETKMBM1PICTURE"9999999
9999"
READ
DEACWINDPZCX1
IFLEN(TRIM(KMBM1))=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
KMBM1=+KMBM1+
Bl="KMDM="+KMBM1+".AND.UPPE(PZRB)="++UPPE(PZLXQ)+
SELECT1
KZ1tl
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZlo""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=4
Cll=0
ACTIWINDPZCX1
@0,0SAY”請(qǐng)輸入查詢金額:"GETCllPICTURE"9999999999.99"
READ
DEACWINDPZCX1
Bl="JE="+STR(C11,12,2)+".AND.UPPE(PZRB)="++UPPE(PZLXQ)+
SELECT1
KZ1=""
DOCXPZKHC2WITHPZLXQ,KZ1
IFKZlo""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=5
DOWHILE.T.
Alli=0
A112=0
Cll=""
C12=0
ACTIWINDPZCX1
@0,0SAY"輸入查詢要求:日期日至日"
@1,0SAY"憑證號(hào)號(hào)至號(hào)"
@0,17GETB11
@0,27GETB12
@1,17GETAlliPICTURE"9999"
@1,27GETA112PICTURE"9999"
READ
DEACWINDPZCX1
IFA111>A112.OR.B11>B12.OR.A111=O.OR.A112=0
LOOP
ELSE
EXIT
ENDIF
ENDDO
BO=+DTOC(B11)+
B2="'"+DTOC(B12)+
Bl="RQ>=CTOD("+BO+").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
IFKZlo""
LOOP
ENDIF
DOCXPZKHC3WITHPZLXQ
CASECH=6
KMBM1=""
RQ1=0
RQ2=0
DOWHILE,T.
ACTIWINDPZCX1
@0,1SAY”請(qǐng)輸入查詢科目代碼:"GETKMBM1PICTURE"9999999
tl
READ
DEACWINDPZCX1
IFKMBM1=""
LOOP
ELSE
EXIT
ENDIF
ENDDO
SELECT3
SEEKKMBM1
IFEOF()
ACTIWINDPZCX1
@0,0SAY"查無此科目碼!按任一鍵返回!"
WAIT""
DEACWINDPZCX1
LOOP
ENDIF
DOWHILE.T.
ACTIWINDPZCX1
@0,0SAY"請(qǐng)輸入查詢期限從日至日"
@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
*查詢憑證子程序CXPZKHC2.PRG*
<}c
PARAMETERSPZLXQ,KZ1
DEFIWINDPZCX21FROM18,20TO20,60SHADCOLOSCHE12
SELECT1
GOTOP
LOCAFOR&B1
IFEOF()
ACTIWINDPZCX21
@0,0SAY"查無此憑證!按任一鍵返回!"
WAIT""
DEACWINDPZCX21
KZ1="N"
RETURN
ENDIF
PZH1=SPACE(4)
DOWHILE.NOT.EOF()
IFPZH1(I1)<>BH
Il=11+1
PZHl(Il)=BH
ENDIF
CONTINUE
ENDDO
RETURN
<jc5jc
*查詢憑證子程序CXPZKHC3.PRG*
?{c51c*|c^|c^|c^|c<}c^}c?|c
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="?11——I
LINE3="|摘要|科目名稱|JD|金額|"
LINE4="|11-
H-
@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=1+1
@1,0SAY"|"+SUBS(ZY,1,18)
@I,20SAY"|"+TRIM(KMMCl)+"-"+TRIM(KMMC2)+"-"+TRIM(KM
MC3)
IFLOWER(JD)="J"
@I,56SAY"|"+"借"+"|"+STR(JE,12,2)+"|"
ELSE
@I,56SAY"|"+"貸"+"|"+STR(JE,12,2)+"|"
ENDIF
ELSE
@ROW(),0SAY"111—
@ROW()+1,20SAY"閱畢,按任一鍵連續(xù)"
WAIT""
CLEA
@1,35SAYLX+"憑證"
@2,0SAYLINE1
@3,0SAYLINE2
@4,0SAYLINE3
@5,0SAYLINE4
1=6
@1,0SAY"|"+SUBS(ZY,1,18)
@I,20SAY"|"+TRIM(KMMC1)+"-"+TRIM(KMMC2)+"-"+TRIM(KM
MC3)
IFLOWER(JD)="J"
@I,56SAY"|"+"借|"+STR(JE/2,2)+"|"
ELSE
@I,56SAY"|"+"貸|"+STR(JE,12,2)+"|"
ENDIF
ENDIF
SKIP
ENDDO
@1+1,0SAY"111——1—
@1+2,10SAY"第"+LTRIM(RTRIM(STR(J-1)))+"張”
@1+3,10SAY"按R鍵返屏!Q鍵退出!其它鍵連續(xù)…"
WAIT""TOFl
IFUPPE(F1)="Q"
CLEA
RETURN
ENDIF
CLEA
IFUPPE(F1)="R"
J=J-2
ENDIF
IFJ<1
J=1
ENDIF
J=J+l
ENDDO
IFJ=2
RETURN
ENDIF
@1+3,8SAY"查詢完畢,按任一鍵返回.?…"
WAIT""
@1+3,8SAYSPACE(70)
RETURN
第五章登記帳簿程序分析與設(shè)計(jì)
第一節(jié)登記帳簿程序分析
在憑證輸入終止后即需要用憑證數(shù)據(jù)來更新科目余額文件中相應(yīng)科目的發(fā)
生額數(shù)
據(jù)項(xiàng)和累計(jì)發(fā)生額數(shù)據(jù)項(xiàng),并運(yùn)算出期末余額數(shù)據(jù)項(xiàng),由于憑證數(shù)據(jù)中相
同科目
的業(yè)務(wù)不止一筆,因此,在更新數(shù)據(jù)之前,即要將憑證數(shù)據(jù)按科目代碼進(jìn)
行匯總
,將匯總的結(jié)果來對(duì)科目余額文件中相應(yīng)的科目余額數(shù)據(jù)項(xiàng)進(jìn)行更新操作,
從而
形成最新的科目余額數(shù)據(jù),然后按照逐級(jí)匯總的方法,下級(jí)科目匯總后生
成上級(jí)
科目余額數(shù)據(jù),這確實(shí)是登記帳薄的過程。那個(gè)過程有兩個(gè)要緊步驟,一
是憑證匯
總,二是按科目逐級(jí)匯總。
只有明細(xì)科目的數(shù)據(jù)是從臨時(shí)匯總庫得到的,其它的數(shù)據(jù)差不多上由下級(jí)
科目經(jīng)匯總
后得到的,在登記帳薄程序中所要用到的數(shù)據(jù)庫有PZKHC.DBF文件(未登
帳憑證數(shù)
據(jù))、KMYE.DBF(科目余額)、DMMCK.DBF(單位往來帳余額文件)和PZK.
DBF(已登帳
憑證文件),另外確實(shí)是一些臨時(shí)用匯總文件,臨時(shí)用匯總文件的文件結(jié)構(gòu)
與憑證庫
文件結(jié)構(gòu)相同,這些文件的內(nèi)容如下所示:
憑證庫文件結(jié)構(gòu)
1RQ日期D8
2BH憑證號(hào)C4
3KMDM科目代碼C11322:2:2與科目代碼庫的內(nèi)容一致
4ZY摘要C24
5JE金額N122
6FDJ附單據(jù)N2
7PZRB憑證類別C1S,F,Z
8JD借貸C1J,D
9PJH單位代碼C10與單位往來帳的一致
科目余額庫文件結(jié)構(gòu)
1RQ(日期)日期型8
2KMDM(科目代碼)字符型113:2;2:2:2
3KMMC(科目名稱)字符型12
4NCYE(年初余額)數(shù)值型122
5NCLX(年初類型)字符型12J,D
6QCYE(期初余額)數(shù)值型142
7QCLX(期初類型)字符型1J,D
8JFF(借方發(fā)生)數(shù)值型142
9DFF(貸方發(fā)生)數(shù)值型142
10JFLJ(借方累計(jì))數(shù)值型142
11DFLJ(貸方累計(jì))數(shù)值型142
12QMYE(期末余額)數(shù)值型142
13QMLX(期末類型)字符型1J,D
14KMRB(科目待征)字符型1H匯總型,M明細(xì)型
單位往來帳文件結(jié)構(gòu)
1PJH單位編號(hào)字符型10
2DWMC單位名稱字符型24
3QCYE期初余額數(shù)字型122
4QCLX期初類型字符型1
5JFF借方發(fā)生額數(shù)字型122
6DFF貸方發(fā)生額數(shù)字型122
7JFLJ借方累計(jì)額數(shù)字型122
8DFLJ貸方累計(jì)額數(shù)字型122
9QMYE期末余額數(shù)字型122
10QMLX期末類型字符型1
第二節(jié)登記帳薄程序設(shè)計(jì)
文件被打開的工作區(qū)間是:
A區(qū):憑證文件(未登帳憑證文件)PZKHC.DBF
B區(qū):憑證文件(已登帳憑證文件)PZK.DBF
C區(qū):科目余額文件KMYE.DBF
D區(qū):單位往來帳文件DWMC.DBF
E區(qū):單位往來帳憑證文件
*更新帳簿GXZP.PRG*
*}c
DEFIWINDGXZPFROM4,20TO16,60SHADCOLOSCHE14DOU
BL
DEFIWINDGXZP1FROM18,20TO20,60SHADCOLOSCHE12
ACTIWINDGXZP
YY="N"
@0,1SAY”登計(jì)帳簿否Y/N?"GETYYPICTURE"X"
READKLM》
UH14*23[JZ]圖5.2
IFUPPER(YY)o"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"憑證緩沖文件沒有記錄,按任意鍵退出!"
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)oSPACE(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->J
E,;
DFLJWITHDFLJ+KMHZD->JE,RQWITHRQRANDOM
PH="Y"
@3,1SAY"正在匯總余額文件的本期發(fā)生額
DOGXFSEWITH"F",PH
IFUPPER(PH)o"Y"
SELECTKMYE
DELETEALL
PACK
APPENDFROMBAK\KMYEBF
SELECTDMMCK
DELETEALL
PACK
APPENDFROMBAK\DMMCKBF
ACTIWINDGXZP1
@0,1SAY"此次做帳不成功,請(qǐng)檢查憑證,按任意鍵退出"
WAIT""
DEACWINDGXZP1
DEACWINDGXZP
SELE1
SETINDETODATA\PZKHC1
DOKMBJ
RETURN
ENDIF
@4,1SAY"正在更新往來帳余額文件的本期發(fā)生額...”
SELECT4
UPDAONPJHFROMMKMHZJREPLJFFWITHJFF+MKMHZJ->JE,;
JFLJWITHJFLJ+MKMHZJ->JERANDOM
UPDAONPJHFROMMKMHZDREPLDFFWITHDFF+MKMHZD->J
E,;
DFLJWITHDFLJ+MKMHZD->JERANDOM
SELECT3
DOGXQC
@5,1SAY"正在匯總余額文件的累計(jì)發(fā)生額
DOGXFSEWITH"LJ",PH
@6,1SAY"正在更新余額文件的期末數(shù)據(jù)
DOGXQM1
@7,1SAY"正在匯總往來帳本期發(fā)生額
DOGXFSE1WITH"F"
@8,1SAY"正在匯總往來帳累計(jì)發(fā)生額
DOGXFSE1WITH"LJ"
@9,1SAY"正在匯總往來帳期末發(fā)生額
DOGXQM2
SELECT2
APPENDFROMDATA\PZKHC
REINDEX
SELE1
ZAP
@10,1SAY"對(duì)科目余額文件進(jìn)行備份!"
SELE9
USEBAK\KMYEBFINDEBAK\KMYEBF1
ZAP
APPEFROMDATA\KMYE
@10,1SAY"對(duì)記帳憑證文件進(jìn)行備份!"
SELE9
USE
SELE9
USEBAK\PZKBFINDEBAK\PZKBF1,BAK\PZKBF2
ZAP
APPEFROMDATA\PZK
@10,1SAY"往來帳余額文件備份!"
SELE9
USE
USEBAK\DMMCKBFINDEBAK\DMMCKBF1
ZAP
APPEFROMDATA\DMMCK
SELECT5
ZAP
APPENDFROMDATA\PZKFORTRIM(PJH)<>SPACE(LEN(TRIM(PJ
H)))
DEACWINDGXZP
CLOSEDATA
ERASEKMHZJ.DBF
ERASEKMHZD.DBF
ERASEMKMHZJ.DBF
ERASEMKMHZD.DBF
DOZWOPEN
RETURN
更新上級(jí)發(fā)生額數(shù)據(jù)源程序
5jc*{c
*更新發(fā)生額GXFSE.PRG*
?{c51c*|c^|c<|c^|c^c*|c^c
PARAMETERSZD,PH
SELECT3
GOBOTTOM
ZD1="JF"-ZD
ZD2="DF"-ZD
STORE0TOBM5J,BM5D,BM7J,BM7D,BM9J,BM9D,JZJ,
DZJ
DOWHILE.NOT.BOF()
IFLEN(TRIM(KMDM))=9
BM9J=BM9J+&ZD1
BM9D=BM9D+&ZD2
ELSE
IFLEN(TRIM(KMDM))=7
IFBM9J<>0
REPLACE&ZD1WITHBM9J
BM9J=0
ENDIF
IFBM9D<>0
REPL&ZD2WITHBM9D
BM9D=0
ENDIF
BM7J=BM7J+&ZD1
BM7D=BM7D+&ZD2
ELSE
IFLEN(TRIM(KMDM))=5
IFBM7J<>0
REPLACE&ZD1WITHBM7J
BM7J=0
EDIF
IFBM7D<>0
REPLACE&ZD2WITHBM7D
BM7D=0
ENDIF
BM5J=BM5J+&ZD1
BM5D=BM5D+&ZD2
ELSE
IFBM5J<>0
REPLACE&ZD1WITHBM5J
BM5J=0
ENDIF
IFBM5D<>0
REPLACE&ZD2WITHBM5D
BM5D=0
ENDIF
ENDIF
ENDIF
ENDIF
IFLEN(TRIM(KMDM))=3
JZJ=JZJ+&ZD1
DZJ=DZJ+&ZD2
ENDIF
SKIP-1
ENDDO
IFJZJoDZJ
PH="N"
ENDIF
RETURN
更新期末數(shù)據(jù)源程序
?|c
*更新期末GXQM2.PRG*
^|c^}c^|c
SELECT4
GOTOP
MQMYE=0
DOWHILE.NOT.EOF()
IFQCLX="J"
MQMYE=QCYE+JFF-DFF
IFMQMYE<0
MQMLX="D"
ELSE
MQMLX="J"
ENDIF
ELSE
MQMYE=QCYE+DFF-JFF
IFMQMYE<0
MQMLX="J"
ELSE
MQMLX="D"
ENDIF
ENDIF
REPLACEQMLXWITHMQMLX,QMYEWITHABS(MQMYE)
SKIP
ENDDO
RETURN
第六章帳簿打印程序分析與設(shè)計(jì)
第一節(jié)帳簿數(shù)據(jù)的生成過程
一、三欄式明細(xì)帳數(shù)據(jù)的生成過程
在帳簿打印程序中數(shù)據(jù)來自兩個(gè)數(shù)據(jù)文件一一憑證庫和科目余額庫,而明
細(xì)
帳的結(jié)構(gòu)是:如果本明細(xì)帳存在期初余額,則生成所需的明細(xì)帳數(shù)據(jù)庫的
第
一行應(yīng)從科目余額庫中取出相應(yīng)科目的期初余額,如果余額為零,則明細(xì)
數(shù)
據(jù)庫中就不需要設(shè)置“期初余額”這一條記錄,接下來的明細(xì)數(shù)據(jù)就要從
憑
證庫中去取,憑證庫中的金額是在借方則憑證數(shù)據(jù)轉(zhuǎn)存到明細(xì)帳數(shù)據(jù)庫的
借
方金額項(xiàng),否則轉(zhuǎn)存到貸方金額項(xiàng),依此規(guī)定取出全部符合要求的憑證數(shù)
據(jù)
,最后還要從科目余額庫中取出本明細(xì)帳的期末余額(如果需要還要取出本
年
累計(jì)發(fā)生額數(shù)據(jù)項(xiàng))
二、單位往來帳數(shù)據(jù)生成程序分析
*生成往來帳數(shù)據(jù)DYWLZ.PRG
51c
DEFINWINDDYWLZ1FROM4,20TO10,60SHADCOLOSCHE14
DEFINWINDDYWLZ2FROM18,20TO20,60SHADCOLOSCHE1
2
SETTALKOFF
SETCOLORTOW/N
SELECT5
DOWHILE,T.
ACTIWINDDYWLZ1
MPZRB=""
MKMMC=SPACE(12)
@0,0SAY”請(qǐng)輸入往來帳科目:"GETMPZRBPICTURE"99999"
@1,0SAY”請(qǐng)輸入往來帳名稱:"GETMKMMCPICTURE"XXXXX
XXXXXXX"
@2,0SAY"只需輸入科目或名稱!”
READ
IFLEN(TRIM(MPZRB))=O.AND.LEN(TRIM(MKMMC))=O
DEACWINDDYWLZ1
RETURN
ENDIF
SELECT3
IFLEN(TRIM(MPZRB))<>0
IFLEN(TRIM(MPZRB))=5
SEEKSUBSTR(TRIM(MPZRB),1,3)
MKMMC=KMMC
ENDIF
SEEKTRIM(MPZRB)
IFEOF()
ACTIWINDDYWLZ2
@0,0SAY"科目錯(cuò),按任意鍵連續(xù)”
WAIT""
DEACWINDDYWLZ2
LOOP
ENDIF
MKMMC=TRIM(MKMMC)+KMMC
@1,0SAYSPACE(40)
@1,0SAY”科目名稱:"+MKMMC
EXIT
ELSE
IFMKMMCo""
LOCATEFORTRIM(KMMC)=TRIM(MKMMC)
IFEOF()
ACTIWINDDYWLZ2
@0,0SAY"科目名稱錯(cuò),按任意鍵連續(xù)"
WAIT""
DEACWINDDYWLZ2
LOOP
ENDIF
@0,0SAYSPACE(40)
@0,0SAY"往來帳科目:"+KMDM
MPZRB=KMDM
EXIT
ENDIF
ENDIF
ENDDO
MSL=0
MX="N"
MA=0
@3,0SAY”查詢某個(gè)單位或個(gè)人否Y/N?"GETMXPICTURE"X"
READ
SELECT4
IFUPPER(MX)="Y"
STORESPACE(IO)TOMBH
@4,0SAY”請(qǐng)輸入單位或個(gè)人編號(hào)(<=10位)"GETMBHPICTUR
E"9999999999"
READ
MBH=TRIM(MBH)
SEEKMBH
MA=1
ELSE
SEEKMPZRB
MA=0
ENDIF
MPJH=TRIM(PJH)
SELECT8
USEDATA\WLZDYK
DELETEALL
PACK
SELECT4
DOWHILE.NOT.EOF()
SELECT8
APPENDBLANK
IFUPPER(D->QCLX)="J"
ZFH=1
ELSE
ZFH=-1
ENDIF
REPLACEZYWITHTRIM(D->DWMC)+”期初余額",JE3WITHD->Q
CYE*ZFH
MJE=JE3
MPJH=TRIM(D->PJH)
SELECT5
IFMA=1
LOCATEFORTRIM(PJH>TRIM(MBH).AND.LEN(TRIM(PJH))=LEN(TRI
M(MBH))
ELSE
LOCATEFORTRIM(PJH)=TRIM(D->PJH).AND.LEN(TRIM(PJH))=LEN(T
RIM(D->PJH))
ENDIF
DOWHILE.NOT.EOF()
SELECT8
APPENDBLANK
IFUPPER(E->PZRB)="S"
MPZRB="收"
ENDIF
IFUPPER(E->PZRB)="F"
MPZR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣東省普通高等學(xué)校招收中等職業(yè)學(xué)校畢業(yè)生統(tǒng)一模擬考試語文題真題(解析版)
- 寒冷性脂膜炎的臨床護(hù)理
- 鼻竇壓痛的健康宣教
- 2021年工業(yè)機(jī)器人行業(yè)埃斯頓分析報(bào)告
- 汗孔角化病的臨床護(hù)理
- 聲音嘶啞的健康宣教
- 糖原貯積?、蛐偷呐R床護(hù)理
- 《酒店禮儀知識(shí)培訓(xùn)》課件
- 黑色素沉著的臨床護(hù)理
- JJF(陜) 041-2020 寬帶采集回放系統(tǒng)校準(zhǔn)規(guī)范
- 2024秋國家開放大學(xué)《馬克思主義基本原理》專題測(cè)試1-8參考答案
- 新概念英語第二冊(cè)33課市公開課獲獎(jiǎng)?wù)n件省名師示范課獲獎(jiǎng)?wù)n件
- 企業(yè)國際化經(jīng)營戰(zhàn)略規(guī)劃與實(shí)施方案
- 3.3-棧的應(yīng)用-迷宮求解解析
- 慢性腎衰竭血液透析患者的流行病學(xué)調(diào)查分析
- 大學(xué)生體質(zhì)健康標(biāo)準(zhǔn)與鍛煉方法(吉林聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年東北師范大學(xué)
- 任職資格體系3-某公司營銷銷售族銷售、供應(yīng)、客服和職能任職資格
- 2012電池制造行業(yè)分析報(bào)告
- 2024年軍隊(duì)文職統(tǒng)一考試《專業(yè)科目》管理學(xué)試卷(網(wǎng)友回憶版)
- JT-T-973-2015路用非氯有機(jī)融雪劑
- 物業(yè)工作未來規(guī)劃與展望
評(píng)論
0/150
提交評(píng)論