先舉乙個庫存的統計做為例子,在做庫存統計時,一般的做法是這樣的,先設計乙個庫存餘額表,所有與庫存相關的單據寫入庫存餘額表裡,在統計庫存時,從庫存餘額裡直接讀取,很多人覺得這樣做讀取庫存很快。不過,這樣做有個很麻煩的問題,就是有進資料不準確,而且軟體維護量很大。有幾個問題需要注意的:
1、每一次進倉、銷售、調倉等等單據,確認或審核後,寫入庫存餘額表,而且要保證資料的一致,如果要刪除進倉單,就要先反審核(反審核時,又要從餘額表裡減出來),才可以刪除當前的進倉單。
2、到了月底轉下個月時,一定要結帳,而且結帳之前一定要把所有相關的單據要審核(或確認),如果不結帳,下個月就不能開單,這個問題就麻煩了,很多客戶用系統時,很多時候上個月還沒來得及結賬,這個月就要開單審核了。
3、保證所有與庫存相關的單據與餘額表的資料要一致性,這個難度很大的,雖然有事務保護,但是還是會出現不一致的現象,也就是為什麼庫存總帳與庫存明細帳對不上的原因,多數原因是在這裡的。
其實我們設計時,不需要有乙個庫存餘額表的,所有相關的庫存單據確認(或審核)時,只是乙個標誌而已,那庫存統計查詢時,原單統計就可以了,原單統計有幾個好處:
1、軟體維護大大降低,如果計算庫存錯了,只是改一改統計庫存的儲存過程就行了。
2、可以不需要結帳這個功能,上個月是否要不要結帳都不影響這個月的開單。
但也有另外乙個問題:統計的速度,這就要求開發人員把資料庫(包括字段、索引等等)、儲存過程的寫法、檢視等進行優化,否則統計的速度會比較慢的。
軟體開發應該注意的細節
1.系統流程梳理 以乙個很簡單的例子來說明流程梳理對軟體開發的意義,比如你要進行一次演講,但是這次演講是即興的,你不是專業的即興演講家,那麼在沒有準備情況下,你要對著台下的人進行演講,這個時候你走上台去,腦子裡的東西還沒有形成有條理的演講內容,講完後台下的人都不知道你在講什麼,可能你自己都不知道你剛...
軟體開發應該注意的細節
1.系統流程梳理 以乙個很簡單的例子來說明流程梳理對軟體開發的意義,比如你要進行一次演講,但是這次演講是即興的,你不是專業的即興演講家,那麼在沒有準備情況下,你要對著台下的人進行演講,這個時候你走上台去,腦子裡的東西還沒有形成有條理的演講內容,講完後台下的人都不知道你在講什麼,可能你自己都不知道你剛...
Vue應注意的細節問題
vue 通過 watch 選項提供了乙個更通用的方法,來響應資料的變化。當需要在資料變化時執行非同步或開銷較大的操作時,這個方式是最有用的。class繫結的強大模式 var vm new vue init events lifecycle 適合做loading載入 beforecreate func...