iT邦幫忙

0

ACCESS訂單管理系統-如何能將更新後的金額,輸入到總表,又能保留舊的資訊

各位大大你好:

今日想幫公司製作一套訂單管理系統,但遇到了一些問題...
因為有時訂單會有更改(不只一次),目前希望更新新的訂單明細的同時,又能保留舊的訂單明細,同時能在訂單總表的總價出現更新後的總金額。希望有大大能指教~
https://ithelp.ithome.com.tw/upload/images/20201222/20133737JScjlXJ9Y9.png

以ERP的角度來說,定單要變更,原始單據必須留著,你要建立的是定單變更單
這是另外一個表來記錄所有訂單的變更,任何狀況原始單據都不得修改,而是透過增加另外一個變更單的方式進行變更,接著你可以在單據的歷史資料找出這張訂單所有的歷史單據,就更能清楚表達該訂單的價格的異動狀況

2 個回答

0

以前做購物車的做法給你參考。
我看你旁邊有用一個表是更新用的表。

這其實對我來說就是log變動值。

一般會用一個log的表來做記錄。其欄位有
id、更改日期、未更改前值(一般我會將其做為json,當然你也可以將其變成一個一個欄位)、修改人

當要儲存變更的值之前。
1.先將目前的記錄值copy到log表,並記錄為當下時間。跟誰修改的
2.再做update值的動作處理。

這是以前我做購物車商品。所謂的歷史變動。

看更多先前的回應...收起先前的回應...

了解,所以這些是要手動更新的是嗎?
因為目前想製作的是如下圖表單按一按可以跑出些資訊的系統,不知道是否有另類建議,萬分感謝!

https://ithelp.ithome.com.tw/upload/images/20201222/20133737uMcEAx7bN6.png

ckp6250 iT邦好手 1 級 ‧ 2020-12-22 11:46:50 檢舉

以前想要保留修改前的舊資料,大約都像浩大這樣,千辛萬苦。
不過,若是由資料庫系統自動處理,就簡單多了,

https://ithelp.ithome.com.tw/articles/10228881

其實我後來才注意到你說的是訂單。
一般訂單來說,不該有所謂的編輯修改才對。

(雖然我是看了兩位大哥說到erp的東西才意識到我講錯了)

我上面教的做法,並不是訂單的東西。以前是做在商品價格變動上的變價歷程。不太適合你的東西。

ckp6250
嗯,不過這又跟mda的管理又有關係了。
從資料庫來記錄事件動作資料,這也是一招。

不過大多數我都會將這一招用在mssql上。mysql我倒是不常用事件處理。主因其實也不是它不好。而是為了團隊考量。

浩瀚星空

你好!關於訂單的部分因為有時客戶會需要議價,或著增加一些品項,以前我方都是用EXCEL檔來製作報價單,然後就會分好幾個檔案,有時在查詢上會比較不方便,因此才想做一個關於訂單的系統,好讓查詢能較為方便。

如果再常理上。這種的我會區分為估價單。而非實際上的訂單。
正常一般訂單來說。它是已經為正式確認的單據。
不太可能可以一改再改處理。

但你說的議價空間,這點其實我之前也有做過類似的東西。
是水電工程的報價單。
報價單會屬於未成立的單據,這期間可以增訂修改或刪除。
也可以將其視為訂單的草稿。
一但都確定完成後。才會將估價單給正式成立為訂單處理。

當然了,這是依照正統erp作業流程為原則。
如果只是單純的訂單系統。倒也不需要那麼麻煩處理。
這樣就可以用我上面說的變價歷程來處理。

ckp6250 iT邦好手 1 級 ‧ 2020-12-22 20:13:05 檢舉

  關於議價期間經常會增訂修改或刪除,我之前做過傢俱行訂單系統,我是採用複製訂單的方法來處理。

  比如,第一次訂單是AB0025,若客戶議價或改品項,我就提供複製功能,把整張單子複製成AB0025-1,然後,在新單上做增修刪,舊單則註記結案。

  若再議價或變動品項,就把AB0025-1複製成AB0025-2,依此類推。

  客戶對傢俱採購的變動很快,經常三心二意,一下子加一把椅子,一下子不要茶几,一下子說要白沙發,半小時後又來電說要改紅色,昨天說要送小三家,今天又改說送外婆家,如果不把整個變動流程詳細記錄下來,將來有得吵。

  這個方法,仍然保留ERP的精神,只有新增,沒有修刪。

了解,我試著做做看,有問題再上來發問,感謝各位的解答~

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-12-22 11:06:36

在「訂單明細」資料表加「更新時間」欄位

1.新增訂單
現況:新增進「訂單明細」多筆以及(計算總價後)新增進「訂單總表」一筆
修改:新增進「訂單明細」多筆(用系統時間當成更新時間)以及(計算總價後)新增進「訂單總表」一筆

2.修改訂單
現況:顯示訂單明細,修改後 update 回訂單明細資料表,並更新訂單總表總價
修改:顯示訂單明細(只選擇更新時間最新的那些),修改後新增回訂單明細(用系統時間當成更新時間),並更新訂單總表總價

3.查詢訂單
現況:以訂單號碼查詢訂單總檔及訂單明細檔
修改:以訂單號碼查詢訂單總檔及只選擇更新時間最新的那些訂單明細檔

我要發表回答

立即登入回答