物料與物料進出倉庫資訊管理設計的報告 delphi

2022-11-24 16:57:05 字數 3354 閱讀 8705

課題要求:

物料與物料進出倉資訊管理

設計實現企業物料資訊管理與物料進出倉資訊管理,物料資訊管理只要包含最基本的內容,有:物料**、物料名稱、規格型號、計量單位、庫存量、備註。物料進出倉資訊主要包括:

進出倉日期、進出倉單編號、進出倉單型別、物料**、數量、操作人**、備註。

資料庫定義的表或其它物件以及窗體、程式名、程式內公共的變數,我都採用 「xg050234_+名稱」進行定義。簡化輸入操作,我用datetimepicker控制項來表示進出倉日期,用combobox可選控制項來表示進出倉單型別和操作人**(前乙個實驗的人員**),其他的都是用edit編輯框表示。當然還要再sql2000裡面建立資料庫xg050234_database,在資料庫裡面的表有xg050234_dangan、xg050234_wuliao、xg050234_iodan,運用adoquery控制項進行資料庫的連線,需要資料來源datasource和網格dbgrid來對資料庫進行儲存與顯示。

而且每個窗體都會命名為與之相關的操作。

設計的思路:

我的設計思路大概就是以下介紹的樣子。

首先,我是先設計乙個主窗體,也是乙個父窗體,即把主窗體的屬性formstype設為fsmdiform。為了把主窗體和子窗體在執行的時候分開,在主窗體裡面加入個選單控制項和狀態列控制項。在選單控制項裡面設定兩欄為物料管理和進出倉單管理,物料管理的子選單分別有新增、查詢、修改、刪除的操作,當點選這些子選單時便可進入到子視窗進行對xg050234_wuliao表的新增、查詢、修改、刪除的操作,而進出倉單管理的子選單分別有進出單的儲存和查詢。

所有選單顯示的子窗體的的屬性formstype都設為fsmdichild。

在物料新增窗體裡面有各種的輸入控制項如datetimepicker、combobox、edit,把要新增的倉庫物料資訊(包括物料**、物料名稱、規格、單位、庫存量)都寫在上面,根據判斷是否已經存在該物料**,如果不存在,就可新增,單擊新增的按鈕,輸入控制項的內容就會新增到資料庫表裡面,並在網格上顯示出表的資訊,看下是否已經插入該物料資訊。

在物料查詢窗體裡面有各種的輸入控制項,不是用來輸入,而是用來顯示,根據物料**或名稱來查詢該倉庫物料資訊,輸入物料**/名稱並單擊查詢的按鈕,該物料資訊顯示在對應的輸入控制項上,而且這些控制項不可編輯。如果不存在該物料資訊就彈出對話方塊顯示無此物料資訊。

在物料修改窗體裡面有各種的輸入控制項,首先也有個查詢的按鈕,對所要修改的物料資訊進行查詢,找到該物料資訊後顯示在對應的輸入控制項上,然後對所能修改的內容進行修改,如物料**和物料名稱是不可修改的,單擊修改的按鈕,表裡面的該物料資訊就會進行相應的修改。在各種的輸入控制項的修改其實是修改資料庫表裡面的內容。

在物料刪除窗體裡面有各種的輸入控制項,也是要先查詢下要刪除的物料資訊記錄,找到以後,根據該物料**,單擊刪除的按鈕,就會把該物料資訊記錄刪除,網格會重新刷顯示該物料資訊記錄已經刪除。

在進出單儲存窗體裡面有各種的輸入控制項和網格,進出單資訊包括倉單編號、倉單型別、日期、操作人**、備註、物料**、物料數量、單價,其中由於一張進出單有多中物料,倉單編號、倉單型別、日期、操作人**、備註放在輸入控制項進行輸入,而物料**、物料數量、單價放在網格上,可以進行多條輸入。倉單編號是自動生成的,操作員**是第乙個實驗做的人員**,我使用直接匯入的方式,在網格裡輸入多條的物料資訊,點選儲存按鈕便可儲存倉單記錄。

在在進出單儲存窗體裡面有各種的輸入控制項和網格,各種的輸入控制項不是用來輸入,而是用來顯示,根據倉單編號或型別來查詢該倉單資訊,輸入倉單編號/型別並單擊查詢的按鈕,將該倉單資訊中的倉單編號、倉單型別、日期、操作人**、備註顯示在對應的輸入控制項上,而且這些控制項不可編輯,將倉單編號、物料**、物料數量、單價。如果不存在該倉單資訊就彈出對話方塊顯示無此倉單資訊。

設計過程遇到的問題與解決:

當然在進行設計的過程中也會遇到過不少的問題,不過經過參考delphi程式設計課本、課外書以及其他同學的幫助,我最終還是把所有的問題都解決了。

問題一與解決

由於操作員**是第乙個實驗中的人員**,因此我們在輸入操作員**的時候,要先定位人員檔案表xg050234_dangan有無該人員資訊,這樣做比較麻煩。於是我們想到了乙個更好的辦法,就是在fromcreate的時候將xg050234_dangan表中的人員編號列新增到xg050234_裡面去,這樣做的省去了判斷,又不會出錯。

問題二與解決

在設計進出倉單表xg050234_iodan的時候,我把所有的倉單編號、倉單型別、日期、操作人**、備註、物料**、物料數量、單價都放在同一張表裡面,以倉單編號和物料**為主鍵,雖然會出現冗餘。在進行倉單資訊儲存設計時,我用進行儲存,就會發現輸入多條物料**、物料數量、單價,但是你輸入的倉單編號、倉單型別、日期、操作人**、備註只放在第一條,而其他的都用null表示。顯然是出問題了,後來我在同學的幫助下,在adoquerynewrecord的程序裡面,把所有的輸入控制項的text再賦給xg050234_iodan相對應的列。

這樣做的話,問題就在再有了,在同乙個倉單裡面的多條物料**、物料數量、單價都會有同乙個倉單編號、倉單型別、日期、操作人**、備註。

問題三與解決

在設計倉單儲存時,倉單編號的自動生成也不好弄,由於每條進出倉單表倉單編號並不是唯一的,而且也要字母與數字的相結合(如cd+001)來表示。於是我參考網上的,終於找到解決的辦法。先選擇表中最大倉單編號,把五位的倉單編號取出後面的三位,轉化為整型,如果這三位小於9,就用00幾表示,否則如果這三位小於99,就用0幾十幾表示,否則如果這三位小於999,就用幾百幾十幾表示。

問題四與解決

在設計倉單儲存時,當倉單資訊儲存在倉單表裡面,都對倉庫物料的庫存量進行修改,因為一條倉單的是多條物料,那麼該怎麼一條一條的對倉庫物料的庫存量進行修改呢?首先我把它先定為在倉單表裡物料的第一條first,然後使用迴圈語句while not do,用update的sql語句對倉庫物料表裡的庫存量進行修改,修改完以後,再用next定位倉單表裡物料的下一條。

問題五與解決

在設計倉單儲存時,我們要判斷倉單的型別是進倉單還是出倉單,如果是進倉單的話,倉庫物料表的庫存量增加,如果是出倉單的話,倉庫物料表的庫存量減少,當倉庫物料表的庫存量小於出倉單的數量時,倉單資訊不儲存,倉庫物料表的庫存量也不修改,這樣該怎麼實現?因為倉單型別我是用可選的控制項combobox,當即是進倉),倉庫物料表的庫存量增加,否則(即是出倉)庫物料表的庫存量減少。在迴圈語句while not do先去查詢倉庫物料表相同物料**的資訊,判斷庫存量是否大於倉單表中物料數量,如果大於的話,就進行倉庫物料表物料庫存量的修改,否則實現庫存不足。

其他的基本上都沒什麼大問題,都比較好解決。

總結:通過這次實踐二的設計,我對sql和delphi的用法有了更深刻的了解。原來我還有許多需要學習的地方,還有許多delphi控制項屬性和事件的用法我都不了解,因此在設計的時候,碰到問題就比較難以解決。

在進行**設計的時候,你首先要該如何設計會比較好,設計思路要想明白。只有設計思路想清楚了,才有可能著手**設計。像裡面我所遇到的許多問題,都是比較難的,不過在查閱課外書本和老師同學的幫助下,都解決了。

物料進出倉管理規定

1.目的 規範公司物料進出倉流程,確保物料品質受控 物料成本清晰 統計資料真實有效.2.適用範圍 物流倉庫 3.職責 3.1採購部 負責按計畫完成物料採購作業。3.2物流客服 負責按客戶要求下達銷售單給倉庫備貨。3.3生產部 負責按生產計畫要求進行原材料領用與成品進倉。3.4物流倉庫 負責物料的進倉...

倉庫物料管理標準

倉庫職責及工作導則 一 工作職責 一 物資的出入庫管理 二 物資的保管 三 物資的盤點 二 技能要求 1 熟悉倉庫管理辦法,並能按要求執行。2 了解各類物資的儲存方法 注意事項 有效期等。3 清楚庫內物資的存放地點 大致用途 使用部門等。三 工作內容 一 入庫管理 1 生產物資到貨後,確認物資名稱 ...

倉庫物料管理真言

崗位技能要具備,職業道德不違背 當日工作當日畢,養成習慣爭效益 溝通協調不可少,抱怨爭執不能找 整理整頓天天做,工作效率真不錯 清掃清潔時時行,環境優美好心情 人人事事講安全,平平安安永向前 看板標識常更新,一目了然最稱心 物料出入憑單證,數量準確需保證 倉儲原則要遵守,先進先出是基礎 庫存物料常盤...