1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/stock_barcode/models/stock_scrap.py
2024-12-10 09:04:09 +07:00

30 lines
1022 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class StockScrap(models.Model):
_name = 'stock.scrap'
_inherit = ['stock.scrap', 'barcodes.barcode_events_mixin']
product_barcode = fields.Char(related='product_id.barcode', string='Barcode', readonly=False)
def on_barcode_scanned(self, barcode):
self.ensure_one()
product = self.env['product.product'].search([('barcode', '=', barcode)])
if product and self.product_id == product:
self.scrap_qty += 1
elif product:
self.scrap_qty = 1
self.product_id = product
self.lot_id = False
else:
lot = self.env['stock.lot'].search([('name', '=', barcode)])
if lot and self.lot_id == lot:
self.scrap_qty += 1
elif lot:
self.scrap_qty = 1
self.lot_id = lot.id
self.product_id = lot.product_id