[暗黑BUG] 小心! Business Central 的Item template 套用無效 -- 補貨系統 (Replenishment System) 怎麼還是都沒變?

今年已經第N次發現 Business Central 的 BUG,造成使用者的一些莫名困擾了
所以不得不發文來解救一下大家 (嘆~)


這次我們發現的案例是這樣的



< 故事背景 >

我們都知道,在一套 ERP系統中 (譬如 Business Central ),
建立料品主檔作業至關重要 

料品主檔上的各種設定,會影響後續從物流面帳務面的各種不同結果 
少說有 20種!
( 這部分,如果有人不清楚的話,可以諮詢一下您的顧問,或者等我們未來發文為您慢慢揭曉...)


因為很怕不小心手殘或經驗不足而設錯
愛用內建功能  套用模板 (Apply Template)複製料品 (Copy Item) 功能 

可以減少使用者建立料品主檔的時間
也可以大幅降低人為失誤所帶來的災難




尤其是複製料品 (Copy Item) 這樣的功能,
當料品主檔很多資訊相似,譬如描述、規格屬性設定等。
兩個料品資訊很多部分要維護的是一樣的,
所以使用者通常想要透過 Copy Item 的功能來省點事

Copy 完了之後,再來套一下模板,確保設定正確,雙重保障,令人安心許多。(呼~)



< 案發現場 >

某個風和日麗的上午
客倌 Copy Item 後,在料品卡上使用 Apply Template (套用模板) 到 這個全新的料品上

突然晴天霹靂,
X的,補貨系統 (Replenishment System) 怎麼還是一樣是 生產製造 (Production Order) ?!
我不是套了採購件的模板嗎?

客倌當下拍桌:顧問,這是怎麼回事?!



< 診斷分析 >

小二趕緊端著這碗麵回廚房,找技術大廚問個明白

奇怪,
使用 Item Template 進行套用模板設定時,
有些設定會異動,有些設定卻不會跟著異動?!
這到底是什麼狀況 


技術大廚把整個程式碼看了一遍,摸著小兩撇鬍子說:

喔,哪些欄位不會被帶過來覆蓋呢?
請小心,以下狀況的欄位,將不會被帶入

        1. Flowfield 欄位, 
        2. 被微軟標示 Obsolete State 為 Removed (未來要移除) 的欄位
        3. Field No. > 2000000000 
        4. 存貨類型 (Type) 前後不同者
        5. 其他,以下程式碼點到的條件。。




 



小二:
           ㄟ。。大廚,您說得太深奧了,可不可以就跟我說一下為啥這補貨系統就沒改呢

大廚:

           應該是說,補貨系統 (Replenishment System) 要多一個空值的選項來當預設值就會OK

          系統現在的處理方式是,
          拿要套用的 Template 上的值,跟空白的 Template 上的值,做個比對
          有差異才去做套用

          補貨系統 (Replenishment System) 沒有空值這個選項
          所以第一個值,採購 Purchase,就被拿來當成空白 Template 的預設值

          換句話說, 
          如果 Template 上設的是其他的補貨系統 (Replenishment System), 
          應該就會正常地被套用了

          總之,是 MS 的鍋沒錯。


小二:
           
          喔喔喔喔喔喔 !我看懂了!!
這是MS的鍋沒錯!

          而且

         只有在,要用 Template 去換成 "採購 (purchase)" 才會出事!    
          如果是從 採購 (purchase) 換別的,就沒事 Orz...

 

這 bug 太陰險了

好吧,這碗不能吃的麵,只能找原廠理論去了
又得去跟客倌賠不是了 T_T



< 結論 >

既然是MS的鍋,也只能請各位客倌多加小心了

記得不要把一個有設定的料品,套用補貨政策=採購的模板,這樣就安全了
如果不幸是要套成採購的話呢,也只好請您多動一下手指,把補貨政策手動換一下就是了

等哪天微軟或許會看到改了它, 大家就有福了。



身為 Business Central 的忠實捍衛隊,我們顧問群如果有發現這好事,會上來發文通告大家的
也請各位務必追蹤與訂閱我們的部落格喔~


留言