diff --git a/models/__init__.py b/models/__init__.py index ede103c..23e3486 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -2,5 +2,4 @@ from . import product_template from . import stock_move from . import stock_lot from . import stock_move_line -from . import mrp_production -from . import stock_picking \ No newline at end of file +from . import mrp_production \ No newline at end of file diff --git a/models/stock_picking.py b/models/stock_picking.py deleted file mode 100644 index 7a8f31b..0000000 --- a/models/stock_picking.py +++ /dev/null @@ -1,34 +0,0 @@ -from odoo import models - -class StockPicking(models.Model): - _inherit = 'stock.picking' - - def action_auto_generate_lots_subcontract(self): - """ - Auto-generate lot names for move lines in this picking that: - 1. Have a product with tracking enabled (serial or lot). - 2. Have an empty 'lot_name' and no 'lot_id'. - 3. Have a product template with a configured 'lot_sequence_id'. - """ - for picking in self: - # We iterate over move_line_ids (operations) - # Filter for lines that need a lot generated - lines_to_process = picking.move_line_ids.filtered( - lambda ml: ( - ml.product_id - and ml.product_id.tracking in ('serial', 'lot') - and not ml.lot_name - and not ml.lot_id - and getattr(ml.product_id.product_tmpl_id, 'lot_sequence_id', False) - ) - ) - - for line in lines_to_process: - # Get the sequence from the product template - seq = line.product_id.product_tmpl_id.lot_sequence_id - if seq: - # strict=True ensures we skip if next_by_id fails, though usually it returns None/False - new_lot_name = seq.next_by_id() - if new_lot_name: - line.lot_name = new_lot_name - return True