畢業(yè)設計(論文)-vfp庫房管理信息系統(tǒng)的設計_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  江都農(nóng)行庫房管理信息系統(tǒng)的設計</p><p>  摘 要 本系統(tǒng)是以VFP為開發(fā)工具,結(jié)合實際工作開發(fā)而成,它包含七個模塊:檔案設置、物資管理、庫存管理、財務管理、系統(tǒng)維護、輔助功能、退出系統(tǒng)等,其功能基本符合用戶需求,能夠完成入庫、出庫、財務核算以及相關報表的查詢,并提供部分系統(tǒng)維護功能;由于設計時間較短,該系統(tǒng)還存在許多不盡如人意的地方,比如部分功能模塊的編碼工作還未全部完成,聯(lián)機

2、文檔比較少,出錯處理不夠等多方面的問題,還有待完善,另外從長遠角度考慮,本系統(tǒng)還應支持前臺開單,后臺管理控制,應采用客戶/服務器的模式用遠程視圖與數(shù)據(jù)庫建立連接。</p><p>  關鍵字: VFP6.0 庫房管理信息系統(tǒng)</p><p>  Abstract This system’s exploitation tool is VFP, it have b

3、een expoldered is according as the fact work, and includes seven modules :File setting 、 Material managing、 Storage managing Finance managing 、 System maintenance 、 Assistant function 、 Exit system and so on, is

4、basic answered for its function, can complete inbase 、outbase、finance managing and inqriring some report forms, and supply part of system mainterancing function; for time is too short to design, the syste&l

5、t;/p><p>  Keyword : VFP the managing system about the storeroom </p><p>  目 錄</p><p>  引言--------------------------------------------------------------------------------

6、---------------------3</p><p>  系統(tǒng)概述-----------------------------------------------------------------------------------------------3</p><p>  2.1系統(tǒng)的軟硬件配置 ----------------------------------------

7、-------------------------------------3</p><p>  2.2系統(tǒng)的功能簡介-------------------------------------------------------------------------------- -3</p><p>  2.2.1設置------------------------------------

8、---------------------------------------------------------3</p><p>  2.2.2入庫---------------------------------------------------------------------------------------------3</p><p>  2.2.3出庫--------

9、-------------------------------------------------------------------------------------3</p><p>  2.2.4庫存---------------------------------------------------------------------------------------------4</p>

10、<p>  2.2.5財務---------------------------------------------------------------------------------------------5</p><p>  2.2.6綜合----------------------------------------------------------------------------

11、-----------------5</p><p>  2.3數(shù)據(jù)分析-------------------------------------------------------------------------------------------5</p><p>  系統(tǒng)的實現(xiàn) ---------------------------------------------------

12、----------------------------------------6</p><p>  3.1用戶界面的設計與實現(xiàn)-------------------------------------------------------------------------6</p><p>  3.1.1 DEFINE MENU|PAD|BAR(定義菜單項命令)------------

13、-------------------------------6</p><p>  3.1.2 ON PAD(激活當前菜單項的一個彈出式菜單)----------------------------------------- 6 </p><p>  3.1.3 ON SELECTION MENU|PAD|BAR(指定選中一個對象以后需執(zhí)行的操作)-----6</p>&l

14、t;p>  3.2數(shù)據(jù)庫及相關系統(tǒng)功能模塊的設計簡介----------------------------------------------------7</p><p>  3.2.1建立項目-------------------- ------------------------------------------------------------------ 7 </p><

15、p>  3.2.2建立數(shù)據(jù)庫模型-------------------------------------------------------------------------------7</p><p>  3.2.3建立應用程序窗體----------------------------------------------------------------------------8</p&g

16、t;<p>  3.2.3.1可視類庫的設計--------------------------------------------------------------------------8</p><p>  3.2.3.2菜單的設計--------------------------------------------------------------------------------9

17、</p><p>  3.2.3.3報表的設計-------------------------------------------------------------------------------14</p><p>  系統(tǒng)的使用----------------------------------------------------------------------------

18、-----------------14</p><p>  系統(tǒng)的技術要點---------------------------------------------------------------------------------------14</p><p>  體會與小結(jié)------------------------------------------------------

19、---------------------------------------17</p><p>  附錄------------------------------------------------------------------------------------------------------17</p><p>  主要參考資料文獻-------------------

20、-----------------------------------------------------------------20</p><p><b>  庫房管理信息系統(tǒng)</b></p><p><b>  引言</b></p><p>  伴隨著企業(yè)規(guī)模的不斷擴大,原始的、手工的進行管理工作已經(jīng)不能適應工業(yè)企業(yè)

21、發(fā)展的現(xiàn)狀,更無法滿足企業(yè)對管理工作的快速、準確的要求。而計算機信息管理技術的迅速發(fā)展恰恰解決了這個問題,它使計算機技術與現(xiàn)代的管理技術相互配合,來更加準確、高速的完成工業(yè)企業(yè)日常的倉庫管理工作。使企業(yè)能夠以最少的人員來完成更多的工作。 </p><p>  庫房管理信息系統(tǒng)主要采用Microsoft Foxpro6.0 做為開發(fā)工具,應用面向?qū)ο蟮某绦蛟O計方法,進行開發(fā)與設計的。 它是一個典型的信息管理系統(tǒng)。

22、本系統(tǒng)可以根據(jù)各應用單位情況,適當加以修改,以便更好應用。</p><p>  庫房管理信息系統(tǒng)是根據(jù)某企業(yè)所屬倉庫的實際管理情況進行編寫的,主要目的是為了方便企業(yè)對倉庫來往業(yè)務及庫存情況進行集中的查詢與管理工作。在社會主義經(jīng)濟高速發(fā)展的今天,如果企業(yè)對倉庫的各項管理運做仍然停滯在以紙、筆為主要工具的階段,就會因為信息量的快速增長而無法迅速、準確的完成各項管理工作,這樣,必將成為企業(yè)各方面發(fā)展的一個瓶頸。而在當代

23、這個以信息時代為主題的社會里,將信息技術應用于對現(xiàn)代企業(yè)的管理,不但可以提高信息的處理速度和提高信息處理的準確性,更重要的是,可以解放勞動力,將他們分配到更需要人力資源的崗位上去,從而加快其現(xiàn)代化、綜合化的建設步伐。這樣,不但為企業(yè)管理部門節(jié)省了不必要的開支,更重要的是提高了它的工作效率。 </p><p>  金融系統(tǒng)的分、支行的庫房管理承擔著全行重要空白憑證、一般憑證、計算機耗材等物資的進貨、領用、庫存統(tǒng)計與

24、核銷、財務核算工作。但長期以來一直是手工操作和管理,經(jīng)常導致帳、實不符,同時手工結(jié)帳繁瑣、報表匯總速度慢,嚴重加重了庫房管理人員的工作負擔。因此設計適合金融系統(tǒng)的庫房管理信息系統(tǒng)迫在眉捷。設計庫房管理信息系統(tǒng)的目標除了要實現(xiàn)上述提出的庫房管理的基本要求外,應著重解決對重要空白憑證的先進先出、按份、按本靈活核算,自動生成重要空白憑證月報表;財務核算方式靈活,既可單筆結(jié)帳又可批量劃帳;報表格式自定義,分類查詢、打印靈活方便,界面相對統(tǒng)一。為

25、了實現(xiàn)這些目標,我從可行性研究、需求分析開始,對庫房管理信息系統(tǒng)進行了總體設計和詳細設計,實現(xiàn)了部分的編碼工作,較好地實現(xiàn)了系統(tǒng)目標。</p><p><b>  系統(tǒng)概述 </b></p><p>  (一)、系統(tǒng)的軟硬件配置</p><p>  由于庫房管理信息系統(tǒng)(MIS)相對獨立于大集中模式的門市業(yè)務系統(tǒng),應納入機關辦公自動化系統(tǒng)的范疇

26、。我之所以選擇基于windows98的vfp6.0數(shù)據(jù)庫系統(tǒng)開發(fā)工具,是為了利用其提供的各種面向?qū)ο蟮拈_發(fā)工具、強大的表單設計器和報表設計器功能快速地建立應用程序窗體和系統(tǒng)應用原型,然后對系統(tǒng)進行不斷修正和改進,形成用戶滿意的可行系統(tǒng),同時VISUAL FOXPRO6繼承了VISUAL FOXPRO3/5的所有功能,進一步強化了數(shù)據(jù)庫引擎、設計界面、客戶服務器結(jié)構,提供了多種可視化編程工具,支持最新的internet技術、WWW數(shù)據(jù)庫

27、設計及ActiveX等。硬件環(huán)境為:CPU:PII以上,內(nèi)存:32M以上,硬盤:1G以上。</p><p>  (二)、系統(tǒng)功能簡介</p><p>  庫房管理信息系統(tǒng)主要包括以下六個功能模塊。(系統(tǒng)結(jié)構總圖如下( 圖一 ))</p><p>  設置:設置主要包括物資屬性、物資、供方、領用單位、操作員、倉庫、密碼權限、單據(jù)初始化、系統(tǒng)初始化、數(shù)據(jù)整理、數(shù)據(jù)備份、

28、數(shù)據(jù)恢復等功能。物資屬性的設置主要區(qū)分物資是重要空白憑證、一般憑證還是計算機耗材,便于分類統(tǒng)計、核算。物資中單位數(shù)量的設置是為了解決一本重要空白憑證價格無法劃為按份計價的矛盾。倉庫的設置是為了分倉庫存放物資。密碼權限的設置是為不同的操作員設置不同級別的操作權限。數(shù)據(jù)整理是物理性地刪除數(shù)據(jù)表中己作刪除標志的記錄并且重建索引。</p><p>  入庫:入庫主要包括入庫單的錄入、修改以及相應的查詢、打印功能。單位是本

29、的輸入本數(shù),是份的輸入份數(shù)。入庫單中物資屬性是重要空白憑證的還要輸入起始號碼,同時根據(jù)單位數(shù)量自動生成終止號碼。同一重要空白憑證不同號碼段,按入庫時間順序排列。其它非重要空白憑證物資根據(jù)物資屬性無需輸入號碼段。在入庫單的下方按入庫物資的屬性的分類產(chǎn)生各物資屬性的匯總金額,便于分類核算的需要。在操作功能排列中提供存盤\新建、查找、刪除行、復制單、作廢單、打印、退出等命令按鈕。</p><p>  出庫:出庫主要包括

30、出庫單的錄入、修改以及相應的查詢打印功能。單位是本的輸入本數(shù),是份的輸入份數(shù)。出庫單中物資屬性是重要空白憑證的按入庫時間由小到大的順序自動跳出起始號碼,同時根據(jù)單位數(shù)量自動生成終止號碼。若出庫數(shù)量大于該段號碼的自動復制一行跳出下段起始號碼及需出庫的數(shù)量;若出庫數(shù)量大于該品種物資合計庫存數(shù)量時則自動提示最大可出庫數(shù)量并以最大出庫數(shù)量替換操作人員輸入的出庫數(shù)量。其它非重要空白憑證物資出庫數(shù)量大于庫存數(shù)量時自動提示最大可出庫數(shù)量,同時根據(jù)物資

31、屬性是一般物資的則無需輸入號碼字段。在出庫單的下方按出庫物資的屬性的分類產(chǎn)生各物資屬性的匯總金額,便于領用單位分類核算的需要。在操作功能排列中提供存盤\新建、查找、刪除行、復制單、作廢單、打印、退出等共性命令按鈕</p><p>  庫存:庫存主要包括庫存的即時查詢以及其它查詢,物資的轉(zhuǎn)倉、組裝、折分,庫存的盤點和重要空白憑證的作廢、銷毀。在庫存的即時查詢中按“物資+倉庫代碼”查庫存明細,對于重要空白憑證的則按“

32、入庫時間”分段顯示各段數(shù)量。在操作功能排列中有統(tǒng)計庫存金額、查找、打印、退出等命令按鈕。在庫存的盤點中有帳面數(shù)量、盤點數(shù)量、盈虧數(shù)量、盤點單價、盤點金額、盈虧金額,操作員只需輸入盤點數(shù)量和盤點單價,其它根據(jù)平衡關系自動生成。盈虧數(shù)量=盤點數(shù)量-帳面數(shù)量,盤點金額=盤點數(shù)量*盤點單價,盈虧金額=盤點金額-帳面金額(帳面金額=帳面數(shù)量*進貨單價)。對于物資屬性為重要空白憑證的,如果出現(xiàn)盤點數(shù)量不等于帳面數(shù)量則出現(xiàn)“重要憑證帳實不符不能繼續(xù),

33、請查找原因,并請主管授權?”提示框。功能菜單主要有調(diào)出庫存、更新庫存、打印盈虧等菜單。重要空白憑證的作廢、銷毀需主管授權進入,輸入作廢重要空白憑證物資代碼,起始號碼與數(shù)量。打印作廢、銷毀清單后選擇臨時存盤,換人復核輸入復核作廢、銷毀清單完全正確后才能真正存盤,更新庫存。</p><p><b>  ( 圖一 )</b></p><p>  財務:財務主要包括財務應收、

34、財務應付、月終報表以及各種明細帳、匯總帳等。</p><p>  財務應付主要包括應付款查詢(對應入庫單)、查欠付供方匯總、付款單錄入(對應入庫單)</p><p>  財務應收中包括應收款查詢(對應出庫單)、查欠收客戶匯總、單筆結(jié)帳(對應出庫單)和批量劃帳(對應欠收單位)。月終重要空白憑證報表主要是統(tǒng)計本月各種重要空白憑證的入庫數(shù)量、出庫數(shù)量、作廢銷毀數(shù)量以及庫存結(jié)余。</p>

35、;<p>  綜合:綜合包括其他報表的打印以及其它報表格式的修改和其它一些功能。如:系統(tǒng)的幫助說明、版本信息等。</p><p><b> ?。ㄈ?shù)據(jù)分析</b></p><p>  當庫房管理信息系統(tǒng)中的某種物資庫存數(shù)量少于庫存數(shù)量臨界值時就應該定貨,入庫操作使庫存數(shù)量增加,同時產(chǎn)生財務應付帳。倉庫管理員根據(jù)領用單位的的物資領用申請單進行出庫,出庫

36、操作使相應物資的庫存數(shù)量減少,同時產(chǎn)生財務應收款。因此入庫、出庫、財務三個子系統(tǒng)功能的實現(xiàn)均是圍繞庫存物資進行的。功能級系統(tǒng)流程圖如下( 圖二 )。</p><p>  D3  付款信息</p><p>  付款單                                                </p><p>  應付日記帳           

37、      付款單</p><p><b>  入庫單 </b></p><p>  送貨單 入庫單 定貨</p><p><b>  清單</b></p><p><b>  領</b

38、></p><p><b>  用</b></p><p>  申  庫存清單 定貨信息 定貨信息</p><p>  請 出庫單</p><p>  單

39、 D1  庫存清單 D2 定貨信息</p><p><b>  應收日記帳</b></p><p>  出庫單 收款單 收款單 </p><p>  D4 收款信息</p><p&

40、gt;  系統(tǒng)功能流程圖( 圖二 )</p><p><b>  系統(tǒng)的實現(xiàn)</b></p><p> ?。ㄒ唬⒂脩艚缑娴脑O計與實現(xiàn)</p><p>  庫房管理信息系統(tǒng)用戶界面的設計力求相對統(tǒng)一,操作簡單。主菜單采用的流行的主菜單嵌套下拉式菜單形式,并且提供熱鍵快擊功能。會用鍵盤鼠標即可操作。下面簡單介紹菜單程序使用的菜單命令的語法結(jié)構。&

41、lt;/p><p>  DEFINE MENU|PAD|BAR (定義菜單項命令)</p><p>  DEFINE PAD <菜單項名1>OF <菜單名> PROMPT <expC1> [SKIP [FOR <expL>]] [COLOR  SCHEME <expN2>] KEY <熱鍵標簽>[,<expC2>]<

42、/p><p>  示例:DEFINE PAD JXCMENU1 OF _MSYSMENU PROMPT ‘設置(\<S)’ COLOR SCHEME 3 KEY ALT+S , ' '</p><p>  示例:DEFINE BAR 1 OF 設置S PROMPT '\<A. 物資屬性' SKIP FOR .NOT. SUPER KEY AL

43、T+A , 'ALT+A'</p><p>  ON PAD (激活當前菜單項的一個彈出式菜單)</p><p>  ON PAD <菜單項名1> OF <菜單名> ACTIVATE POPUP <expC1></p><p>  示例:ON PAD JXCMENU1 OF _MSYSMENU ACTIVATE POPUP 設置S&l

44、t;/p><p> ?。?)ON SELECTION MENU|POPUP|PAD|BAR (指定選中一個對象以后需要執(zhí)行的操作) </p><p>  ON SELECTION BAR 1 OF 設置S DO dm_sx(物資屬性定義程序)</p><p>  根據(jù)庫房管理信息系統(tǒng)主要功能模塊設計系統(tǒng)主菜單如下( 圖三 )。</p><p>&

45、lt;b> ?。?圖三 )</b></p><p>  (二)、數(shù)據(jù)庫及相關系統(tǒng)功能模塊的設計簡介</p><p>  Vfp6.0是一種典型的關系數(shù)據(jù)庫管理系統(tǒng),利用它可以對一系列數(shù)據(jù)項目進行建立和維護。同時Vfp6.0利用數(shù)據(jù)庫容器(DBC)文件來控制數(shù)據(jù)庫表格(DBF)文件的各種關系。下面我們利用項目管理器可視化地創(chuàng)建庫房管理系統(tǒng)的數(shù)據(jù)庫容器Njxc1.dbc。&l

46、t;/p><p><b>  第一步:建立項目</b></p><p>  啟動Vfp6.0,然后單擊“文件”菜單,選擇“新建…”,選中“項目”單擊“新項目”按鈕。</p><p>  項目命名為kfgl,并保存在d:\kfgl目錄下,單擊“保存”按鈕,這樣就建立了一個“項目管理器”窗口,以后所有的操作都圍繞kfgl這個項目管理器進行。</p

47、><p>  第二步:建立數(shù)據(jù)庫模型</p><p>  在項目管理器中,選擇“數(shù)據(jù)”選項卡,單擊“新建…”,彈出“創(chuàng)建”對話框,在對話框的“數(shù)據(jù)庫名”欄中,填入數(shù)據(jù)庫名Njxc1,單擊“保存”按鈕。</p><p>  在“數(shù)據(jù)庫設計器”窗口中右擊鼠標,在彈出的快捷菜單中選擇“新表”進一步選擇“新表”按鈕,在“輸入表名”處填寫表名如:dm_wz。單擊“保存”按鈕。&l

48、t;/p><p>  進入到“表設計器”窗口,輸入字段名、類型、寬度、小數(shù)位等信息如下( 圖四 ) </p><p><b>  ( 圖四 )</b></p><p>  各字段名的定義如下表格:</p><p>  在“顯示”項的“標題”一欄內(nèi)分別填寫上對應字段的中文含義如下表格:</p><p>

49、  在“索引”選項卡,在mc欄選擇升序,確定后可不輸入數(shù)據(jù)退出。</p><p>  每三步:建立應用程序窗體</p><p>  這里我們利用Vfp6.0強大的表單設計器功能為應用程序可視化地建立和修改各種表單和表單集。利用Vfp6.0的表單控件(Form Controls)將各種所需的控件(如:標簽控件、正文框控件、編輯框控件、命令按鈕控件、組合框控件、網(wǎng)格控件等等)放置到表單設計器的

50、布局(Layout)里面,再對相應控件的屬性進行編緝,建立相應事件和方法的代碼即可設計出交互式的應用程序窗體。在Vfp6.0面向?qū)ο蟮某绦蛟O計中我們可以設計類(class)以便在不同的應用程序窗體中引用它們,并且把它們加到可視類庫里。</p><p><b>  可視類庫的設計</b></p><p><b>  語法結(jié)構:</b></p&

51、gt;<p>  建立VCX可視類庫  CREATE CLASSLIB 類庫名</p><p>  在VCX可視類庫里增加一個類  ADD CLASS 類名TO 類庫名</p><p>  例如:我們可以把查找、打印、添加、刪除、復制、退出等命令按鈕定義為一個類gridbtns,存儲于wizstyle類庫中,(如下圖五)類gridbtns的對象名分別為cmdfind、cmdp

52、rint、cmdadd、cmddelete、cmdcopy、cmdexit。在屬性中修改caption分別為查找(\<F)、打?。╘<R)、添加(\<A=、刪除(\<D)、復制(\<C)、退出(\<X)。然后還要建立相應事件的代碼:如cmddelete的過程Click Event的代碼(code)如下:</p><p><b>  類的示例圖五</b></

53、p><p>  IF MESSAGEBOX('是否刪除此記錄?',36,'') = 6</p><p><b>  DELETE </b></p><p>  IF THIS.PARENT.UPDATEROWS() &&確定對行的改動</p><p>  IF .NO

54、T. EOF()</p><p><b>  SKIP 1</b></p><p><b>  ENDIF </b></p><p>  IF EOF() AND .NOT. BOF()</p><p><b>  SKIP -1</b></p><p&g

55、t;<b>  ENDIF </b></p><p><b>  ENDIF </b></p><p><b>  ENDIF </b></p><p>  THISFORM.REFRESH()       ?。Γλ⑿卤韱?lt;/p><p>  IF THISFORM.SHOWW

56、INDOW = 2</p><p>  ACTIVATE WINDOW (THISFORM.NAME)</p><p><b>  ENDIF</b></p><p>  這樣我們就可在表單設計器中根據(jù)需要引用可視類庫中的定義的類了。</p><p>  表單的設計:這里我們以入庫單(ins1.scx)為例:</p

57、><p>  (1)、在項目管理器中,選擇“文檔”->“表單”單擊“新建”按鈕,選擇“新建表單”彈出“表單設計器”窗口。</p><p> ?。?)、單擊菜單“顯示”->“數(shù)據(jù)環(huán)境”在彈出的“添加表或視圖”對話框中選擇Njxc1數(shù)據(jù)庫,in_stru和ins1表,單擊“添加”按鈕,將表添加到數(shù)據(jù)環(huán)境中。然后關閉對話框。</p><p>  In_stru(入庫臨時表)和

58、Ins1(入庫單表)的結(jié)構一樣,字段名和中文含義如下表格:</p><p> ?。?)、利用標簽控件、正文框控件、命令按鈕控件、列表框控件、網(wǎng)格控件等控件畫出下(圖六)的表單界面。并在屬性框中修改相應的Caption 、ControlSource、Readonly為相應的值。如在標題欄的caption中輸入“入庫單”并在前加空格把它居中。Readonly選擇“T”的,其相應的backcolor的值設為192,19

59、2,192(灰色)。</p><p><b>  ( 圖六 )</b></p><p>  如圖:在表單對象INS1的過程Init Event中定義</p><p>  THISFORM.COMMAND5.ENABLED = .F.   ?。Γ椭茊危↘)初始隱成灰按鈕</p><p>  THISFORM.COMMAN

60、D8.ENABLED = .F.   ?。Γψ鲝U單(C)初始隱成灰按鈕</p><p>  在Load Event過程中我們定義了內(nèi)存變量的初值和相應的工作區(qū)</p><p><b>  PRIVATE I</b></p><p>  M_SAVE = .F.</p><p>  M_IN_NO = '新 單&#

61、39;</p><p>  M_BEGINREC = 1 &&開始記錄為1</p><p>  M_ENDREC = 80    &&最大記錄為80,即一次入庫品種不超過80</p><p>  IF USED('dm_gf')    &&dm_gf為供方表</p><p&

62、gt;  SELECT DM_GF    &&選定工作區(qū)</p><p><b>  ELSE </b></p><p><b>  SELECT 0</b></p><p>  USE SHARED dm_gf ?。Γσ怨蚕矸绞酱蜷_</p><p><b>  ENDIF

63、 </b></p><p>  SET ORDER TO DM</p><p>  IF USED('dm_ck')   &&dm_ck為倉庫表</p><p>  SELECT DM_CK</p><p><b>  ELSE </b></p><p>

64、;<b>  SELECT 0</b></p><p>  USE SHARED dm_ck</p><p><b>  ENDIF </b></p><p>  SET ORDER TO DM</p><p>  IF USED('dm_yw')     &&dm_yw為業(yè)務員表&

65、lt;/p><p>  SELECT DM_YW</p><p><b>  ELSE </b></p><p><b>  SELECT 0</b></p><p>  USE SHARED dm_yw</p><p><b>  ENDIF </b>&l

66、t;/p><p>  SET ORDER TO DM</p><p>  IF USED('dm_wz')    ?。Γm_wz為物資表</p><p>  SELECT DM_WZ</p><p><b>  ELSE </b></p><p><b>  SELECT

67、0</b></p><p>  USE SHARED dm_wz</p><p><b>  ENDIF </b></p><p>  SET ORDER TO DM</p><p>  IF USED('dm_sx')    ?。Γm_sx為屬性表</p><p>

68、  SELECT DM_SX</p><p><b>  ELSE </b></p><p><b>  SELECT 0</b></p><p>  USE SHARED dm_sx</p><p><b>  ENDIF </b></p><p> 

69、 SET ORDER TO DM</p><p>  IF USED('cun')      &&cun為庫存表</p><p>  SELECT CUN</p><p><b>  ELSE </b></p><p><b>  SELECT 0</b></p

70、><p>  USE SHARED cun</p><p><b>  ENDIF </b></p><p>  SET ORDER TO wzck</p><p>  IF USED('in_stru')   ?。Γn_stru為入庫臨時表</p><p>  SELECT IN_

71、STRU</p><p><b>  ELSE </b></p><p><b>  SELECT 0</b></p><p>  USE EXCLUSIVE in_stru   ?。Γσ元氄挤绞酱蜷_</p><p><b>  ENDIF </b></p>&l

72、t;p>  IF .NOT. FILE('IN_STRU.CDX')</p><p>  INDEX ON WZDM TAG WZDM</p><p><b>  ENDIF </b></p><p>  SET ORDER TO</p><p>  THISFORM.CLEARBUFFER   

73、 &&清除緩存</p><p>  GO M_BEGINREC</p><p>  SET RELATION ADDITIVE TO GFDM INTO DM_GF  &&保留工作區(qū)關系的同</p><p>  SET RELATION ADDITIVE TO CKDM INTO DM_CK  &&時與相應表建立關系</p>

74、;<p>  SET RELATION ADDITIVE TO SX INTO DM_SX</p><p>  SET RELATION ADDITIVE TO YWMAN INTO DM_YW</p><p>  SET RELATION ADDITIVE TO WZDM INTO DM_WZ</p><p>  SET RELATION ADDIT

75、IVE TO WZDM + CKDM INTO CUN</p><p>  在Unload Event過程中定義</p><p>  SELECT IN_STRU</p><p>  SET FILTER TO   ?。ΓΞ斍盎顒游募?nèi)需要處理的文件記錄進行選擇</p><p>  SET RELATION OFF INTO DM_GF  

76、  &&關閉工作區(qū)與相應文件的聯(lián)系</p><p>  SET RELATION OFF INTO DM_CK</p><p>  SET RELATION OFF INTO DM_SX</p><p>  SET RELATION OFF INTO DM_YW</p><p>  SET RELATION OFF INTO DM_WZ<

77、;/p><p>  SET RELATION OFF INTO CUN</p><p><b>  USE </b></p><p>  SELECT DM_GF</p><p><b>  USE </b></p><p>  SELECT DM_CK</p>&

78、lt;p><b>  USE </b></p><p>  SELECT DM_SX</p><p><b>  USE </b></p><p>  SELECT DM_YW</p><p><b>  USE </b></p><p>  SE

79、LECT DM_WZ</p><p><b>  USE </b></p><p>  SELECT CUN</p><p><b>  USE </b></p><p>  EXITSY_ = .T.</p><p><b>  RETURN</b>&

80、lt;/p><p>  同時在clearbuffer過程中定義了一些初始值</p><p>  OLDREC = RECNO()      ?。Γτ涗洍l數(shù)</p><p>  SCATTER BLANK MEMVAR   &&將空行傳輸至內(nèi)存變量</p><p>  M.CZDM = M_CZDM</p><p>  M.

81、IN_DATE = M_DATE</p><p>  M.FKDM = '轉(zhuǎn)帳'</p><p>  FOR I = M_BEGINREC TO M_ENDREC</p><p><b>  GO I</b></p><p>  M.NO_ = I - M_BEGINREC + 1 ?。Γπ蛱枖?shù)遞增<

82、;/p><p>  IF RLOCK()       ?。Γ︽i定表格頭,防止其它用戶在表格內(nèi)增加新記錄</p><p>  GATHER MEMVAR  ?。Γ?nèi)存變量的內(nèi)容傳送到當前表格的記錄的字段里面</p><p>  UNLOCK         ?。ΓΥ蜷_鎖</p><p><b>  ENDIF </b><

83、;/p><p><b>  ENDFOR </b></p><p>  M_JINE = 0</p><p>  M_IN_NO = '新 單'</p><p>  M_YFJINE = 0</p><p><b>  GO OLDREC</b></p>

84、;<p>  THISFORM.REFRESH</p><p>  Text1的 ControlSource值為in_stru.czdm、txtIn_date的ControlSource為in_stru.in_date、并且在valid Event選擇用戶自定義過程如下:</p><p>  M_OLDREC = RECNO()</p><p>  M

85、_IN_DATE = IN_DATE       ?。Γ_IN_DATE為全局內(nèi)存日期變量  </p><p>  FOR I = M_BEGINREC TO M_ENDREC  &&M_BEGINREC和M_ENDREC為全局</p><p>  GO I                 內(nèi)存記錄范圍變量</p><p>  IF RLOCK()</p&g

86、t;<p>  REPLACE IN_DATE WITH M_IN_DATE</p><p><b>  UNLOCK </b></p><p><b>  ENDIF </b></p><p><b>  ENDFOR </b></p><p>  GO M_O

87、LDREC</p><p>  THISFORM.REFRESH</p><p>  對于其它的的對象的過程不再一一介紹,這里給出入庫單的數(shù)據(jù)流程圖如下( 圖七 ):</p><p>  是否重要空白憑證 入庫金額是否相同</p><p>  否 是</p>

88、;<p><b>  是</b></p><p><b>  否</b></p><p>  是  與庫存是否重號</p><p><b>  否</b></p><p><b>  是</b></p><

89、p><b>  是否繼續(xù)錄入</b></p><p><b> ?。?圖七 )</b></p><p>  這樣為相應的過程添加程序代碼的工作就占據(jù)著了編碼的大部分工作。</p><p><b>  報表的設計:</b></p><p>  利用 VFP6.0強大的報表設

90、計器功能我們能方便、靈活地設計出我們所需的各種報表。這里我們以入庫單為例說明報表的設計過程。</p><p> ?。?)、點擊“文件”下的“新建”菜單,在彈出的菜單中選擇“報表”,單擊“新建報表按鈕”就打開了報表設計器窗口。</p><p> ?。?)、點擊“顯示”菜單下的“報表控件工具欄”彈出控件按鈕,主要有:選定對象、標簽、域控件、線條等。點擊數(shù)據(jù)環(huán)境,點擊右鍵“添加”把所需的表如dm

91、_gf(供方表)、in_stru(入庫臨時表)添加到數(shù)據(jù)環(huán)境中。</p><p> ?。?)、根據(jù)所需的表格要求分別在不同的帶區(qū)(Band)添加各種標簽和域控件,在標簽中輸入各種名稱,在數(shù)據(jù)環(huán)境中的表中選擇所需的各種域控件,在大寫表達式處還需調(diào)用相應的表達式過程。過程見第12頁的系統(tǒng)實現(xiàn)技術要點。入庫單示例如下( 圖八 )</p><p><b> ?。?圖八 )</b&g

92、t;</p><p>  通過上面幾個方面的介紹,我們已經(jīng)設計出了入庫單這個功能模塊了。出庫單功能模塊的設計與入庫單相似。同樣我們可以根據(jù)已有的表,利用表單設計器或查詢設計器設計出靈活多樣的查詢功能。庫存的盤點僅僅是對庫存中非重要空白憑證的盤點。對重要空白憑證只能進行作廢和銷毀。在作廢和銷毀表單設計中應該設計授權和換人復核菜單,加強重要空白憑證的管理。月終處理是把本月的數(shù)據(jù)拷入歷史庫,便于生成重要空白月報表所需的

93、本月和上月的銜接數(shù)據(jù)。同時生成各領用單位批量應收特種轉(zhuǎn)帳傳票。同時修改財務應收、已收的數(shù)據(jù)。這些功能模塊的實現(xiàn)就不一一詳細介紹了。</p><p><b>  系統(tǒng)的使用。</b></p><p>  經(jīng)過近二個月的的設計,我們實現(xiàn)了系統(tǒng)的部分功能,讓用戶提出再修改、完善意見時,用戶對操作界面的簡潔、易使用表示滿意。用數(shù)據(jù)進行測試時,亦發(fā)現(xiàn)重要空白憑證按先進先出、入庫

94、,出庫自動跳出號碼與數(shù)量存在問題。這說明局部的編碼還存在一定的問題。</p><p>  系統(tǒng)實現(xiàn)的技術要點。</p><p>  庫房管理系統(tǒng)涉及重要空白憑證和一般憑證、計算機耗材等其它物資的集中管理,同時要實現(xiàn)自動銷號、自動統(tǒng)計各種歷史數(shù)據(jù)、生成重要空白憑證月報表。因此工作量很大,程序代碼編寫的工作量和難度都很大。在一個Njxc1數(shù)據(jù)庫中包括28個表,文件有200多個,同時在系統(tǒng)實現(xiàn)中

95、也采用了一些方法和算法。</p><p>  例如:小寫金額轉(zhuǎn)化為大寫金額的實現(xiàn)方法見下面的numchg、appedigt、appenum三個過程:</p><p>  PROCEDURE numchg &&過程函數(shù)為numchg</p><p>  PARAMETER MONEY</p><p>  TMP_MON

96、EY = MONEY</p><p>  IF TMP_MONEY < 0</p><p>  MONEY = -MONEY</p><p><b>  ENDIF </b></p><p>  STRING = ''</p><p>  POW = LEN(LTRIM(ST

97、R(INT(MONEY),12))) – 1 &&POW為整數(shù)長度-1</p><p>  MONBUF = MONEY      ?。Γθ绯跏紩rMONKEY=4320.50 則POW=3</p><p>  DO WHILE POW >= 0</p><p>  DIGIT = INT(MONBUF / 10 ** POW)    &&

98、MOUNBUF除以10的POW次方</p><p>  &&如DIGIT=4</p><p>  STRING = STRING + APPENUM(DIGIT) + APPEDIGT(POW)?。Γ?-肆 3-仟 </p><p>  MONBUF = MONBUF - DIGIT * 10 ** POW ?。Γτ嘀禐?20.50</p><p

99、>  POW = POW – 1              &&POW值減1即為2</p><p>  ENDDO                 ?。Γρh(huán)  </p><p>  IF ROUND(MONBUF,2) <> 0     &&MONBUF=0.50對小數(shù)部分作進位處理</p><p>  DIGIT = INT(ROUND(MON

100、BUF * 10,1))</p><p>  STRING = STRING + APPENUM(DIGIT) + '角'</p><p>  MONBUF = MONBUF * 10 - DIGIT</p><p>  IF ROUND(MONBUF,2) <> 0</p><p>  DIGIT = ROUND

101、(MONBUF * 10,0)</p><p>  STRING = STRING + APPENUM(DIGIT) + '分'</p><p><b>  ENDIF </b></p><p><b>  ENDIF </b></p><p>  IF TMP_MONEY <

102、 0</p><p>  STRING = '(負)' + STRING</p><p><b>  ENDIF </b></p><p>  RETURN STRING</p><p><b>  ENDPROC</b></p><p><b> 

103、 *------</b></p><p>  PROCEDURE appedigt</p><p>  PARAMETER NUMBUF</p><p><b>  DO CASE </b></p><p>  CASE NUMBUF = 0</p><p>  RETURN '

104、;元'</p><p>  CASE NUMBUF = 1</p><p>  RETURN '拾'</p><p>  CASE NUMBUF = 2</p><p>  RETURN '佰'</p><p>  CASE NUMBUF = 3</p><p

105、>  RETURN '仟'</p><p>  CASE NUMBUF = 4</p><p>  RETURN '萬'</p><p>  CASE NUMBUF = 5</p><p>  RETURN '拾'</p><p>  CASE NUMBUF = 6

106、</p><p>  RETURN '佰'</p><p>  CASE NUMBUF = 7</p><p>  RETURN '仟'</p><p>  CASE NUMBUF = 8</p><p>  RETURN '億'</p><p>

107、  CASE NUMBUF = 9</p><p>  RETURN '拾'</p><p>  CASE NUMBUF = 10</p><p>  RETURN '佰'</p><p>  CASE NUMBUF = 11</p><p>  RETURN '仟'&l

108、t;/p><p>  CASE NUMBUF = 12</p><p>  RETURN '萬'</p><p><b>  ENDCASE </b></p><p><b>  ENDPROC</b></p><p><b>  *------<

109、/b></p><p>  PROCEDURE appenum</p><p>  PARAMETER NUMBUF</p><p><b>  DO CASE </b></p><p>  CASE NUMBUF = 0</p><p>  RETURN '零'</p

110、><p>  CASE NUMBUF = 1</p><p>  RETURN '壹'</p><p>  CASE NUMBUF = 2</p><p>  RETURN '貳'</p><p>  CASE NUMBUF = 3</p><p>  RETURN

111、'叁'</p><p>  CASE NUMBUF = 4</p><p>  RETURN '肆'</p><p>  CASE NUMBUF = 5</p><p>  RETURN '伍'</p><p>  CASE NUMBUF = 6</p>&

112、lt;p>  RETURN '陸'</p><p>  CASE NUMBUF = 7</p><p>  RETURN '柒'</p><p>  CASE NUMBUF = 8</p><p>  RETURN '捌'</p><p>  CASE NUMBUF

113、 = 9</p><p>  RETURN '玖'</p><p><b>  ENDCASE </b></p><p><b>  ENDPROC</b></p><p><b>  體會和小結(jié)</b></p><p><b>

114、;  體會:</b></p><p>  經(jīng)過二個多月的設計和開發(fā),金融庫房管理系統(tǒng)的數(shù)據(jù)庫設計、用戶界面和主要功能模塊的設計基本完成。其功能基本符合用戶需求,能夠完成入庫、出庫和財務核算和相關報表的查詢、并提供部分系統(tǒng)維護功能,使庫房管理人員能夠方便地進行數(shù)據(jù)備份和恢復、庫存的盤點和核銷,對于數(shù)據(jù)的一致性的問題也通過程序進行了有效的解決。</p><p><b> 

115、 存在的問題:</b></p><p>  但是由于畢業(yè)設計時間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如部分功能模塊的編碼工作還未全部完成,聯(lián)機文檔比較少,,出錯處理不夠等多方面問題。這些都有待進一步完善。 </p><p><b>  設想:</b></p><p>  為了滿足今后庫房管理的需要,本系統(tǒng)應支持前臺開單、后臺

116、管理控制。應采用客戶機/服務器的模式,用遠程視圖與數(shù)據(jù)庫建立連接。</p><p><b>  結(jié)束語:</b></p><p>  在本次畢業(yè)設計中,我從江都電大陳秀祥老師等指導老師身上學到了很多東西。陳老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我收益匪淺。他們無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高。這對于我以后的工作和學習

117、都有一種巨大的幫助,感謝他們耐心的輔導!</p><p><b>  附錄:</b></p><p><b>  附錄一:主程序</b></p><p>  _SCREEN.CAPTION = '江都農(nóng)行庫房管理信息系統(tǒng)'</p><p>  _SCREEN.VISIBLE = .F

118、.</p><p><b>  CLEAR </b></p><p>  CLOSE ALL       ?。Γ﹃P閉所有工作區(qū)</p><p>  SET ECHO ON       &&打開跟蹤窗口</p><p>  SET TALK OFF      ?。Γ﹃P閉顯示輸出信息</p><p>

119、  SET CURRENCY TO '¥'  ?。ΓυO置貨幣符號</p><p>  SET DECIMALS TO 6   ?。Γ︼@示小數(shù)點后面6位</p><p>  SET CURRENCY LEFT  ?。Γω泿欧栵@示于數(shù)字的左側(cè)</p><p>  SET EXACT ON     ?。Γψ址_比較</p><p&

120、gt;  SET ESCAPE OFF    ?。ΓSC屏蔽</p><p>  SET DATE ANSI     ?。Γθ掌跒閥y.mm.dd</p><p>  SET SAFETY OFF     &&直接改寫文件,不提示警告</p><p>  SET STATUS BAR OFF   &&狀態(tài)欄不顯示</p><p>  SET

121、 HELP ON       &&激活vfp的幫助功能</p><p>  SET DELETED ON    ?。ΓΣ粚h除的記錄訪問</p><p>  SET CENTURY ON     &&年份以四位數(shù)顯示</p><p>  SET SYSMENU TO    ?。ΓΠ巡藛位謴蜑槿笔顟B(tài)</p><p>  SET SYSMENU

122、 AUTOMATIC ?。Γγ顖?zhí)行時,菜單進入活動狀態(tài)</p><p>  PUBLIC M_PATH , M_DEFA ?。ΓυO置公用變量</p><p>  OLD_DIR = SET('DEFA') + SYS(2003) ?。ΓΨ祷厝笔‘斍澳夸浢?lt;/p><p>  RESTORE FROM am.dat ADDITIVE</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論