22 lines
755 B
Python
22 lines
755 B
Python
from odoo import models
|
|
|
|
class StockMove(models.Model):
|
|
_inherit = 'stock.move'
|
|
|
|
def _should_bypass_set_qty_producing(self):
|
|
"""
|
|
Prevent auto-update of consumed quantity if:
|
|
- The move already has a quantity set (partial consumption).
|
|
- The move is already picked.
|
|
"""
|
|
if self.sudo().quantity > 0 or self.sudo().picked or self.sudo().manual_consumption:
|
|
return True
|
|
return super()._should_bypass_set_qty_producing()
|
|
|
|
def write(self, vals):
|
|
# Enforce manual usage flags if quantity is being set
|
|
if 'quantity' in vals and vals['quantity'] > 0:
|
|
vals['manual_consumption'] = True
|
|
vals['picked'] = True
|
|
return super().write(vals)
|