Skip to Content
Menu
You need to be registered to interact with the community.
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

Avatar
Opusti
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
Avatar
Opusti
Avtor

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

Avtor

It works perfectly. Your help is really appreciated here!

thank you :)

Related Posts Odgovori Prikazi Aktivnost
3
avg. 15
11930
2
mar. 15
9294
0
apr. 22
2189
1
mar. 15
13861
0
mar. 15
3783