跳至內容
選單
此問題已被標幟
2 回覆
10333 瀏覽次數

Users are receiving more than was ordered, delivering more than was ordered, etc.

What is the best way to do this?

頭像
捨棄

**raise UserError**
instead of "raise Warning" for V14 and above.

最佳答案

If you do this, you must educate users that IMMEDIATE Internal Transfers are no longer possible (they don't have any initial demand) unless they UNLOCK them after creation to add the initial demand.  

They can still do PLANNED Internal Transfers without any issues.

One method is to create an Automated Action to block over picking:

Code:

if record.product_uom_qty < record.quantity_done:
raise Warning("You can't transfer more than the Initial Demand!")

Note that this is a code snippet only, and you may need to modify it to be more robust and to fit any specific edge cases you encounter.

For example, if you use scanning or show detailed operations on the transfer type you may need to create another automated action to handle security on Packing Operations (stock.move.line)


頭像
捨棄

This works for PICKS, but not Delivery Orders (OUT).

最佳答案

You can change the code like:

if record.picking_code and record.picking_code != "internal" and record.product_uom_qty < record.quantity_done:

    raise UserError("You can't transfer more than the Initial Demand!")

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
11月 24
1796
0
6月 25
415
0
1月 25
1551
0
1月 25
1570
1
12月 24
2078