學習中心
遇到問題了嗎?不用擔心,答案都在這。
全站搜尋

如何設計「一筆訂單分批出貨」功能

如果你是買賣業,管理客戶下訂單 -> 出貨的流程,常見做法是客戶下訂時 Key 一張訂單、準備出貨時將訂單資料轉成另一張出貨單。在 Ragic,通常我們會建議設計資料拋轉按鈕的功能,讓你可以很方便地將訂單轉成採購單。

「訂單轉出貨單」最單純的狀況,是「一筆訂單資料 轉成 一筆出貨單資料」:

例如上圖,客戶這次下單訂購了紙膠帶、星空色墨水、紅葉色墨水三項產品,我方把紙膠帶、星空色墨水、紅葉色墨水三項產品都備貨完成後一次出貨,因此我方備貨完成後建立的出貨單,出貨項目會原封不動就是這三項產品。這種情況,只要利用基本的資料拋轉功能即可設定完成。

不過很多業者並不是這樣,而是會分批出貨:以上面這個非常簡化的例子來說,假如客戶下單後,紙膠帶已生產完畢,但星空色墨水、紅葉色墨水都還沒做完,客戶急著要紙膠帶,可能就會分兩批出貨,第一批只出紙膠帶,第二批再出星空色墨水、紅葉色墨水;或者同樣是急單,紙膠帶 300 個的訂購量還沒做完 , 只做到 200 個時客戶就希望先出這 200 個,那可能就會分兩批或更多批出貨,第一批只出 紙膠帶 200 個 ,第二批之後再慢慢把剩下的紙膠帶(以及其他產品)貨量出完。

也有一種狀況是常態的「分批出貨」,例如跟客戶長期配合,客戶一次下一季度的訂單,每週出一次貨,這樣一開始就預設一筆訂單大約要分 12 次出貨。

這些情況,在 Ragic 我們經常建議處理(或設計)的方式如下。

說明:Ragic 是一個讓大家可以按照自身流程彈性設計資料庫的工具,很多時候類似的需求可以用不同的設計方式來達到,即使看似完全一樣的需求,不同業態、不同流程或不同習慣的兩者業者,有可能適合的方式就不同。

這邊我們主要針對常見情形、提供常見的設計建議,讓沒有頭緒的人節省摸索,但這些設計建議都不是標準答案喔!以下的建議會預設你已經設計了類似前述案例格式的訂單、出貨單,且想要的流程。如果你的訂單 / 出貨單流程跟我們舉的例子不同,會需要自行根據基本概念修改你的設計,有需要可以來信客服尋求針對你情境的進一步建議

如果分批出貨「非常態」

如果你通常是一張訂單整批出貨,偶爾才會有分批出貨的「特例」,那代表絕大多數時間,簡單的「資料拋轉」功能就能滿足你的需求。偶爾需要分批出貨時,你可以在訂單拋轉出貨單之後,到出貨單去手動修改出貨品項,把沒有出貨的品項刪除、或把原本依照訂購量拋轉過去的出貨數字修改成實際出貨數字即可。

處理完之後,可以到訂單表單的「備註」欄位或該筆訂單的回應中,註記此訂單已先出了一批貨,將第一批出貨的出貨單資料網址附上,下次出貨時

這樣的做法可以讓表單設計維持在比較簡單且符合多數時候的需求、但又能涵蓋分批出貨需求的情形。

如果分批出貨是常態(或希望包含在表單設計中)

如果分批出貨算是滿常見的情況,或者無論如何你都希望更系統化的處理分批出貨的資訊,例如在訂單的訂購品項中註記「出貨狀態」相關欄位、防呆提醒避免沒出到最後一批貨等,那可以參考以下的設計建議:

一、多品項分批出貨(同品項同批出貨)

多品項分批出貨就是「訂購項目有紙膠帶、星空色墨水、紅葉色墨水,先出紙膠帶之後再出星空色墨水、紅葉色墨水」,不同品項分批次出貨,但同一品項所有貨量都在同一批出的情況。如果只會以這種方式分批出貨的話,只要在訂單的「訂購項目」子表格中新增名為「此次出貨」的打勾選項欄位(當然也可以設定為其他你覺得更適合的欄位名稱),然後修改「轉出貨單」這個拋轉動作按鈕,在「進階設定」裡勾選「套用子表格篩選條件」,篩選條件設為『只拋轉「此次出貨」欄位有打勾的資料』之後儲存修改即可。

修改完此設定,以後要拋轉出貨單時,需要先在訂購項目中,針對要出貨的項目在「此次出貨」欄位上打勾,再執行「拋轉出貨單」按鈕。(第二次之後執行時記得先把原本的打勾取消後重新勾選)

第一次出貨時執行按鈕的狀況會像這樣:

二、同品項分批出貨

如果不只是不同品項不同批出貨,同一個品項(在訂單上等於子表格的一列資料)也會需要拆分成不同數量出貨的話,在表單設計上就必須另外考量到在同一筆訂購項目中,應該新增欄位來記錄已出貨與尚待出貨數量,並且最好能設計出比較自動化填入/更新這些欄位值的方法。

此時,首先可以先在訂購項目新增兩個數字欄位:「已出貨數量」與「尚未出貨數量」欄位,在「尚未出貨數量」欄位套公式 = 訂購數量 - 已出貨數量,已出貨數量則可套用預設值 = 0。

此時預想的流程為,轉出貨單時你依然是選擇要出貨的品項,按「訂單轉出貨單」按鈕,將勾選要出貨的品項拋轉到出貨單的出貨項目中,只是拋轉後你會需要在出貨單上修改出貨數量(因為出貨量不再等於訂購量)。

(如果怕訂購數量直接拋轉到出貨量上,會因為忘了改而出錯,那可以修改拋轉按鈕的設定,把「訂購數量」->「出貨數量」這組拿掉,屆時直接填寫數字即可;不過如果先直接拋訂購數量過去的話,填寫時可以順便檢查是否有預計出貨量大於訂購量的異常狀況,這部分可以自行斟酌需求)

接著,由於出貨單上已經有正確的出貨數字了,我們可以設計一個機制,讓出貨單填寫完成後,按一個按鈕就能把已出貨數字累加到到原本訂單的已出貨資訊中,這樣就不用回到訂單上手動一一更新每個品項的已出貨數量。

這種「根據某一張表單的欄位值(出貨單的出貨數量),更新另一張表單欄位值(訂單的訂購)」的需求,在 Ragic 就是用更新別張表單欄位值的按鈕功能來做。

這邊要注意的是,「更新別張表單欄位值」功能不能更新子表格欄位,只能設定更新非子表格的「一般欄位」,而我們想更新的「訂購數量」正是子表格欄位。

因此,我們可以先利用子表格產生新表單的功能,把「訂購項目」子表格產生另一個新的獨立表單「訂購細項」。

接著,我們就可以在出貨單上進入設計模式,表單工具 > 更新別張表單欄位值,做以下設定:

這樣每次分批出貨之後,該批出貨數字就可以直接更新到原本的訂單上了。

註:如果你的出貨單上沒有「來自訂單編號」的欄位,請新增這個欄位,並在訂單轉出貨單的拋轉設定中設定把訂單編號的值一起拋過來。

有需要的話,你可以進一步在訂單上設定一個「是否出貨完畢」欄位,在該欄位上套用條件公式,當所有子表格欄位的「未出貨數量」加總等於 0 時,返回「Yes」或「已出貨完畢」的值,這樣就可以一目瞭然哪些訂單已出完貨、哪些沒有。

有需要的話還可以進一步根據「是否出貨完畢」欄位的狀態設定條件式格式醒目提示尚未出貨完畢的資料,也可以套用並儲存相關的篩選條件

進階調整

希望在訂單上看到所有出貨紀錄

依照上面的設計建議,訂單上可以看到訂購的品項有沒有出貨、目前已出貨數量,但沒辦法直接看到每一筆出貨紀錄。如果你希望在訂單上就可以顯示其他所有出貨紀錄的話,其實很簡單,只要原本在出貨單上有建立「來源訂單編號」欄位、該欄位設為從其他表單選擇 - 連結自訂單表單的話,就可以用顯示從其他表單的連結功能,把與這筆訂單資料相關的出貨單資訊拉進來作為參照子表格。

而如果你希望顯示在訂單上的要是一筆一筆的出貨細項,那麼就要在出貨單上的出貨項目子表格上也建立「來源訂單編號」欄位、設為「從其他表單選擇」欄位並連結自訂單表單(可以套公式參照出貨單上的「來源訂單編號」欄位,這樣就不用在子表格重新填寫來源訂單編號)。做完這步驟後,就可以改以「出貨項目」表單拉進來當參照子表格,就會是呈現出貨細項了。

多品項分批出貨(同品項同批出貨)情況下,想確認特定品項是否已出貨

前面針對「多品項分批出貨(同品項同批出貨)」的情況,是建議只要新增一個打勾選項欄位,要拋轉出貨的打勾、拋轉,事後依據訂購品項有沒有打勾來確認是否已拋轉出貨。

不過如果你常常會打勾之後忘記按按鈕,希望不用透過查看資料歷史紀錄來確認自己有沒有按按鈕的話,可以額外在訂單、出貨單上都新增「確認已出貨」的打勾選項欄位,出貨單上預設值設為 Yes,然後一樣設計一個「更新別張表單欄位值」動作按鈕,在出貨單建立之後按按鈕更新訂單表單上的「確認已出貨」欄位。

如何將「訂單管理」模組修改為可分批出貨的流程?

Ragic 應用商店的訂單管理模組有訂單拋轉出貨單的設計,模組預設的流程是單筆訂單一次出貨。

如果你要將訂單管理模組修改為「分批出貨」的模式,由於訂單管理模組的訂單、出貨單、訂單轉出貨單的模式跟本篇教學前段的示範表單很類似,因此修改方式其實大致上跟前段教學的建議一樣,可以直接參照前面的教學:

(一)修改「建立出貨單」按鈕,新增「拋轉設定 - 套用子表格篩選條件」的設定,就可以只拋轉此次出貨的項目(也可以不修改按鈕,在拋轉後手動刪除不需要的項目)

(二)更新出貨進度功能:

(1) 訂單表單上的訂購細項子表格新增已出貨、尚未出貨數量欄位

(2) 訂購細項子表格產生新表單

(3) 在出貨單上設計「更新別張表單欄位值」動作按鈕更新訂購項目表單的欄位值,即可計算出貨進度。

訂單管理模組唯一設計上比較不同、需要注意的地方是,為了處理同一產品多單價的情況,「訂單」的「訂購項目」部分是連結與載入自商品單價管理表單,因此訂購項目子表格上顯示的是代表每一個單價的「商品販售代號」欄位。

不過,訂購項目子表格上其實也是有代表商品的「商品編號」欄位的,會在填寫訂購項目、選擇商品販售代號時由系統自動帶入欄位值,只是為了減少混淆此欄位被隱藏起來了,只要進入設計模式就可以看得到。

這個「商品編號」欄位在拋轉建立出貨單的動作按鈕上,也有被設定將欄位值拋轉到出貨單上。因此在修改設計時,記得在以出貨單更新訂購細項的值時,仍然應該要以這個「商品編號」欄位為更新基準就可以了。

回最上面

    馬上註冊
    免費試用 Ragic!

    用 Google 帳號註冊

    立即科技 Ragic, Inc.
    02-7728-8692
    台北市中正區南昌路二段81號9樓