會(huì)計(jì)軟件分析與設(shè)計(jì)_第1頁(yè)
會(huì)計(jì)軟件分析與設(shè)計(jì)_第2頁(yè)
會(huì)計(jì)軟件分析與設(shè)計(jì)_第3頁(yè)
會(huì)計(jì)軟件分析與設(shè)計(jì)_第4頁(yè)
會(huì)計(jì)軟件分析與設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩183頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論