تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
10304 أدوات العرض

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
نوفمبر 24
1743
0
يونيو 25
384
0
يناير 25
1484
0
يناير 25
1516
1
ديسمبر 24
2015