Search code examples
viewodoowizardodoo-12

How to merge Lot/Serial number


I want to add a wizard with Many2many field of 'stock.production.lot' displaying only the records with doubled Lot/Serial Number i did the function that get the filtred records ,now i need to display it

class DoublingNumber(models.TransientModel):
    _name = 'doubling.number'
    

    double_number_id =fields.Many2many('stock.production.lot' ,string="Numéros en doublant" )

     @api.multi
        def _default_double_number(self):
            log.warning("Hola")
            double_record = []
            records =self.env['stock.production.lot'].search([])
            for record in records :
                for record2 in records :
                    if record.name == record2.name and record.product_id != record2.product_id :
    
                        double_record.append(record2)    
                         
                        break
            return double_record

Now how to display it ??!


Solution

  • Try calling the default function within the field definition, but define the function before the field and define it in the following way instead :

    class DoublingNumber(models.TransientModel):
        _name = 'doubling.number'
    
        @api.model
        def _default_double_number(self):
            log.warning("Hola")
            double_record = self.env['stock.production.lot']
            records =self.env['stock.production.lot'].search([])
            for record in records :
                for record2 in records :
                    if record.name == record2.name and record.product_id != record2.product_id :
    
                        double_record += record2  
                         
                        break
            return double_record
        
        double_number_id =fields.Many2many('stock.production.lot' ,string="Numéros en doublant", default = _default_double_number)
    

    Good luck :)