Skip to Content
Menu
This question has been flagged

Hello all,

In the stock.picking model, I want to declare a new field (customer_of_division_id).

If the stock.picking has a value in his sale_id field, I would want to declare the field like this :

customer_of_division_id = fields.Many2one(related="sale_id.customer_of_division_id", 
domain="[('division_of_company_id','=',company_id)]",
string='Customer of the division')
If the stock.picking has NO value in his sale_id field, I would want to declare the field like this :
customer_of_division_id = fields.Many2one(related="partner_id.customer_of_division_id", 
domain="[('division_of_company_id','=',company_id)]",
string='Customer of the division')

How to achieve this?

Thanks all

Portretas
Atmesti
Best Answer

Hi,

I think you may use a compute Many2one field.

For eg:

customer_of_division_id = fields.Many2one(compute='_get_division_id', comodel_name='res.partner', string='Customer of the division', store=True)
 
@api.depends('sale_id','partner_id')
def _get_division_id(self):
    if self.sale_id:
        self.customer_of_division_id = self.sale_id.customer_of_division_id.id
    elif self.partner_id:
        self.customer_of_division_id = self.partner_id.customer_of_division_id.id
Portretas
Atmesti
Autorius

You are really a beast! I try this and I come back soon! Big thanks (once again)!

Autorius

It works perfectly. Your help is really appreciated here!

thank you :)

Related Posts Replies Rodiniai Veikla
3
rugp. 15
11933
2
kov. 15
9295
0
bal. 22
2191
1
kov. 15
13863
0
kov. 15
3784