摘要:該系統是為改變一個五金批發部以人工手寫管理的現狀,而設計的一個進銷存管理系統。系統的主要功能是對商品的進貨、銷售和庫存進行監控、調配和管理,以實現商品進銷存管理的信息化、自動化和科學化。該系統的前臺應用程序界面采PowerBuilder 9.0開發,后臺數據庫選用PowerBuilder自帶的關系數據庫Sybase SQL Anywhere。在系統設計中,詳細的展現了系統的各個功能模塊,所需的數據庫表、表字段以及菜單的設計等。
關鍵詞:PB;關系數據庫;數據窗口
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)36-2648-03
Design and Realize the Small Purchase Sales and Inventory Management System Based on PB
ZHAO Feng-hang
(Qinghai Normal University, Xining 810008, China)
Abstract: The system is designed as a Purchase, Sales and Inventory Management System for a hardware wholesale in order to change the status of managing by handwriting. The main functions of the system is monitoring, deploying and managing all the goods in order to achieve management informationautomation and scientific.The foreground application procedure interface of the system is developed by PowerBuilder 9.0, and the background database is created by therelational database Sybase SQL Anywhere which belongs to the PowerBuilder. In the system design, showing in detail the various systems function, the necessary database tables, table fields, as well as the menu design.
Key words: powerbuilder; adaptive server anywhere database; dataWindow
1 引言
隨著計算機技術的不斷發展,許多企事業單位的管理都實現了辦公自動化,在手工管理的情況下,銷售人員很難對客戶作出正確的供貨承諾,對庫存數量沒有明確評估,不能及時進貨,這在激烈競爭的市場中是非常不利的。為了能夠高效地管理博業批發部的進銷存信息,老板提出使用計算機進行信息的管理,使管理科學化,最大限度地減少信息損失,提高利益。所以本系統是針對博業五金批發部的進貨、銷售、和庫存基本上以手工管理手段,信息化程度非常低的情況,而設計的一個進銷存管理系統。
2 PowerBuilder相關技術
2.1 數據庫的創建與連接
本系統的數據庫是利用PowerBuilder 9.0自帶的小型關系數據庫Adaptive Server Anywhere 8創建的。創建數據庫的步驟如下:
1) 運行PowerBuilder 9.0 ,在工具欄中單擊DB Profile 圖標,彈出Database Profile對話框。
2) 在DB Profiles 對話框中打開ODB ODBC列表項,再打開其下面的Utilities列表,
3) 雙擊Create ASA Database 項,彈出Create Adaptive Server Anywhere Database 對話框。該對話框用于設置數據庫的參數。
4) 在Create Adaptive Sever Anywhere Database對話框中輸入Database Name為,其余用默認值,單擊OK,系統開始創建數據庫。創建數據庫后,打開資源管理器,在選定的目錄下能找到數據文件和事務日志文件。
5) 在數據庫中創建數據表,在建立數據表時,每一個表可以設定一個主關鍵字.
6) 連接數據庫:首先,添加數據源。我的電腦—>控制面版—>ODBC數據源32位—>系統DSN—>添加—>選擇你使用的數據庫。然后在工具條上點擊DB PROFILE 選擇已建立好的數據庫連接,單擊EDIT在彈出的對話框中選PREVIEW里面就是連接數據庫的語句,COPY就OK了。
2.2 數據窗口對象的創建
1) 選擇File|New菜單命令,在彈出如下圖所示的New對話框中選擇DataWindow選項卡,PowerBuilder數據窗有11種風格,每種風格都使用不同的場合;
2) 選擇Grid風格,單擊OK按鈕,出現Choose Data Source 對話框;
通常,連接數據庫的表時,使用SQL Select方式,使用外部變量時使用External方式。
3) 選中SQL Select方式,單擊Next按鈕,出現Select Tables對話框。PowerBuilder操作數據庫的方便之處就在于它能將表的數據存儲到數據窗對象中,然后放到窗口上,操作數據庫就好像操作窗口上的控件。所以創建數據窗都需要選擇數據表。
4) 選擇 一個表單后點擊Open按鈕,在出現的對話框中,選擇所需要的列。
5) 其他的步驟均用系統默認選項。
3 系統設計
3.1 數據庫設計與實現
數據庫結構設計是總體設計過程中非常重要的一個環節,好的數據庫結構可以簡化開發過程,使系統功能更加清晰明確,在任何一個關系型數據庫管理系統中,數據表是最基本的組成部分,本數據庫系統包含了8張表:
1) 銷售單:包括編號(PK)、客戶編號(PK1)、商品號(PK2)、經辦人、銷售日期、金額、不含稅額、備注等
2) 銷售明細表:編號(PK)、銷售編號(Pk1)、商品號(PK2)、銷售數量、銷售體格、金額、稅額、備注等。
3) 客戶單:客戶編號(PK)、拼音編碼、名稱、地址、郵編、電話、傳真、銀行賬號、聯系人等。
4) 供貨商清單:供貨商號(PK)、拼音編碼、名稱、地址、郵編、電話、傳真、銀行賬號、聯系人。
5) 商品信息表:商品號(PK)、拼音編碼、品名、規格形碼、單位、進貨價、銷售價、等級、描述等
6) 進貨單:編號(PK)、供貨商號、進貨時期、制單人、金額、不含稅額、備注等。
7) 進貨明細表:編號(Pk)、商品號(PK1)、進貨單號(PK)、進貨數量、進貨價、金額、貨物質量。
8) 用戶管理:包括用戶名、用戶密碼、用戶權限等。
系統功能模塊包括:
1) 系統管理模塊功能:對用戶進行增加、刪除、權限設置,更改自己的密碼。數據庫備份,可以定期進行對數據庫備份,以便造成經濟損失。需要數據時還可以恢復;
2) 資料管理模塊功能:對商品資料、供貨商資料、客戶資料的管理,進行查詢、增加、刪除等操作;
3) 采購管理模塊功能:進貨單、進貨明細單的編輯(查詢、增加、刪除、打印、保存、檢索),進貨入庫將商品錄入現有庫存中的數據增加;
4) 銷售管理模塊功能:銷售訂單、銷售單的管理(檢索、錄入、保存、增加、刪除、打印);結帳交易錄入要銷售的商品信息輸入銷售數量和價格自動生成金額,銷售出去現有庫存中的庫存數量自動減少;日銷售查詢查詢出某一天的銷售記錄;
5) 庫存管理模塊功能:庫存查詢,通用打印,一個時間段的銷售記錄查詢。
4 系統部分功能模塊的具體描述
4.1 登錄窗口設計
在用戶輸入用戶名和密碼后對用戶的輸入進行驗證,兩者輸入都正確方能進入系統主界面進行操作。1) 創建一個窗體,保存名稱為w_login;2) 設置窗體的window type屬性為response;3) 添加兩個靜態文本控件別命名為用戶名和密碼,兩個單行編輯框控件,兩個命令按鈕分別命名為登錄和退出。
4.2 主界面窗口設計(如圖2)
4.3 數據備份窗口設計
數據備份窗口用于數據庫中各個表格記錄的備份,由程序窗口上的”系統”菜單下”數據備份”子菜單單擊事件激發。數據備份窗品上方有一個靜態文本框控件,顯示選擇數據庫表格,一個下拉式列表框控件用來讓用戶選擇需要備份的數據庫表格。該窗口中的數據備份通過七個數據窗口控件來完成的。數據窗口控件所連接的數據窗口對象對應數據庫中的一個表格。這些數據窗口控件在運行時是不可見的。
4.4商品資料管理窗口設計
用于維護(增加、刪除、查詢)商品的基本信息,內容包括貨號、條形碼、品名、拼音編碼、規格、類別、進貨價、銷售價、生產廠家等,其中拼音編碼是商品名稱的拼音名稱,目的是在程序中可以通過拼音編碼方便地查詢到需要的商品。窗口設計如下:選項查詢方式,模糊或精確查詢,選擇查詢方法(貨號、品名、拼音編碼)輸入查詢內容,點擊查詢按鈕就能在數據窗口中顯示你要查詢的記錄,還以在數據窗口中做增加、刪除操作,點擊更新數據按鈕,數據增加、刪除的記錄結果就會在數據窗口顯示出來,而且后臺數據庫中的數據表也隨著增加或減少。

圖1 系統功能模塊圖

圖2 系統主界面
4.5 進貨入庫窗口設計
本窗口主要功能是商品入庫。輸入內容,點擊確定,使現有庫存中的這一商品的庫存數量隨之增加。庫存數量=現有庫存數量+入庫數量。
4.6 銷售明細編輯窗口設計
本窗口主要功能用于銷售明細表的錄入,檢索、修改、打印、保存、排序。其中當輸入銷售數量和銷售單價,金額自動算出,所有記錄的金額會得出總金額,稅額也自動得出總和。按銷售數量排序,升序各降序能幫助用戶查看哪些商品銷售好,哪些商品銷售的少,可以幫助老板在一定時間段內的決策,哪些商品搶手,就多進些,賣的少的商品就少進點。以便及時抓住機遇,也減少資金大量放在銷售量少的商品上的風險。
4.7 結帳交易窗口設計
主要功能用于商品買賣,結帳時,錄入商品信息輸入銷售數量和銷售單價,自動得出總金額,然后打印出票據或保存。當用戶改變主意不要這種商品時,可以刪除該記錄。點擊更新數據庫按鈕現有庫存中該商品數量隨著銷售出去而減少。庫存數量=現有庫存-銷售數量。
4.8 通用打印窗口設計
由于很多的單據、查詢、統計都需要打印,所以對一個比較理想的系統,不應該每個打印的地方都單獨的來做一個打印窗口,所以做了這個通用打印窗口。每個打印都調用這個窗口就可以了。打印主要用到函數“setfullstate”和“getfullstate”.這里的dataobject沒有設置任何值,因為是通用的打印窗口,不可能為某一個特定的窗口打印設置特定的數據對象,這里主要利用“setfullstate”來對數據窗口dw_1進行賦值。 在窗口打開的過程,接收打印窗口傳來的參數,在窗口w_print的open事件中加入如下代碼。接收參數并對數據窗dw_1賦值。
String Is_dwfullstate
Is_dwfullstate =message/stringparm
Dw_1.setfullsatate(is_dwfullstate)
5 結論
本系統實現了商品資料,供貨商資料和客戶資料的管理;進貨單、銷售單及進貨銷售明細的錄入、打印、保存,查詢;庫存查詢,庫存數量隨著商品進貨入庫而增加,銷售出庫而減少等功能;本次設計的進銷存系統功能簡單隨著使用情況可以不斷完善功能。
參考文獻:
[1] 于洪文,蔡毅,楊鴻雁,等.PowerBuilder9.0案例開發篇[M].北京:清華大學出版社,2004:16-40.
[2] 李茜.PowerBuilder程序設計基礎[M].北京:清華大學出版社,2005:1-20.
[3] 蔡毅,鄧格琳.PowerBuilder9.0基礎開發篇[M].北京:清華大學出版社,2005:334-358.
[4] 王晟,鄧遠輝.PowerBuilder 數據庫開發經典案例解析[M].北京:清華大學出版社,2006:1-66.
[5] 崔巍.PowerBuilder 8.0數據庫應用系統開發教程[M].北京:清華大學出版社,2004:14-252.
[6] 華傳銘,張振坤,吳曉英.PowerBuilder 數據庫開發實例解析[M].北京:機械工業出版社,2003.
[7] 漢龍.PowerBuilder 9.0項目開發實例導航[M].上海:上海科學普及出版社,2004:1-64.
[9] 張振坤,李文立,焦虹.PowerBuilder精彩編程200例[M].北京:機械工業出版社,2004:52-71.