Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
5536 Lượt xem

Odoo16
I'm trying to set a domain for warehouse_ids  field that exist in sale.order.line model
the domain depends on the selected values of allowed_locations field that is exist in res.users model

this is the code but it doesn't work

@api.depends('self.env.user.allowed_locations')
def domain(self):
user = self.env.user
locations_domain = []
for loc_id in user.allowed_locations:
locations_domain.append(loc_id.id)
print (loc_id.id)
return {'domain': {'warehouse_ids': [('id', 'in', locations_domain)]}}
warehouse_ids = fields.Many2one('stock.location',string="Warehouse ")


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất
def _get_warehouse_domain(self):
​return [('id', 'in', self.env.user.allowed_locations.ids)]
warehouse_ids = fields.Many2one('stock.location', string="Warehouse", domain=_get_warehouse_domain)
Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks very much
it works correctely after i added your code

Câu trả lời hay nhất

Domain based on some another field

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 3 25
3432
1
thg 9 23
3360
2
thg 3 24
3148
2
thg 5 23
197
1
thg 1 18
8929