Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
11595 Vizualizări

I'm using odoo 10 i inherited from module stock.quant, i add a new attribute and a new method.

i want my method execute after each creating a new object in stock.quant.

This is my code.

Thanks for help.


class stock_quant(models.Model):
    _inherit = 'stock.quant'
    inventory_value_charge = fields.Float('Total Value',store=True,compute='update_stock_value')

    @api.one
    @api.depends('qty')
    def update_stock_value(self):
        stock_price_obj = self.env['stock.price.partition'].search([('id', '!=', False)])
        val_obj = stock_price_obj.search([('reception.pack_operation_product_ids.pack_lot_ids.lot_id.id', '=', self.lot_id.id)])
        if val_obj!= False:
            val_obj.calccule_price()
        else:
            self.inventory_value_charge=self.inventory_value
        #stock_price_obj = self.env['stock.price.partition'].search([('reception.pack_operation_product_ids.pack_lot_ids.lot_id.id', '=', self.lot_id.id)])
        return True
Imagine profil
Abandonează
Autor

Thanks a lot

Cel mai bun răspuns

hello

make the super call your create method and then after call your method.

@api.model

def create(self, vals):

    res = super(classname, self).create(vals)

    res.update_stock_value() # call your method

    return res

Imagine profil
Abandonează
Cel mai bun răspuns
Hello Mohamed,
use @api.multi instead of @api.one
you are using @api.depends('qty'), it means this method will call whenever the qty change on stock quant
Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
2
mai 21
8497
2
mar. 24
11890
5
sept. 20
6237
1
dec. 19
9659
1
feb. 24
6493