进销存系统中如何处理采购退货

http://topic.csdn.net/u/20090406/12/7a099840-8d90-4c86-9ce8-a560a11dca0d.html

無邊落日:

說個思路:

數據 + 動作 + 操縱者。

把商品庫存視為數據, 將企業本身,客戶,供應商視作操縱數據的操縱者,每一個動作都將產生不同的數據結果,就構成了進銷存。將動作分類索引統計,移交財務,這樣就能將 庫存數據 與 財務數據 切分成兩個系統。

將企業所有的庫存動作都歸納出來,放入一個"動作關系表"。每個動作對應的單據及產生的庫存結果及財務結果在動作表上做出標識。(這樣進出庫動作可以自定義,可以滿足不同企業有不同的動作。)

當庫存系統與財務系統隔離的時候。庫存只管庫存是不管金錢的。財務系統可以通過“動作”找到原始單據,查詢出單價然後依據財務規則來計算單價及其他財務金額。這樣寫庫存系統的人可以不管財務規則。模塊間就能良好隔離。

你的問題在於: 退貨這個動作,與什麼對象相關,會產生怎樣的結果。
財務需要什麼樣的結果,庫存又需要什麼樣的結果。總結一下這些數據,明確數據的流向,對於編寫程序有益。
編程就是: 數據 + 算法 + 用戶操作界面(後台程序的用戶界面是為前台提供接口)。數據庫程序更是如此。
前台界面友好則最終用戶喜歡,後台程序接口良好,則程序員喜歡。
常見進銷存的數據流向:
原始單據 -->算法A-->庫存數據-->算法C-->統計庫存...
-->算法B-->財務數據-->算法D-->計算成本
將系統中的各個對象(商品,庫存,供應商,客戶,金錢...)通過動作的聯系起來,理直這些關系,這樣就有底氣了。就慢慢明白面向對象編程方法 其實就在我們日常生活中......
方法論中難題的解決過程: 分析現象->提出猜想->實踐驗證->總結經驗

(我不懂業務規則的,具體規則別問我。)

你可能感兴趣的:(系统)