diff --git a/sell/models/sell_order.py b/sell/models/sell_order.py index 848b14d7c..e582d4c30 100644 --- a/sell/models/sell_order.py +++ b/sell/models/sell_order.py @@ -79,6 +79,16 @@ def _compute_delivery(self): for order in self: order.delivery_count = len([deli for deli in order.delivery_ids if not deli.is_return]) order.return_count = len([deli for deli in order.delivery_ids if deli.is_return]) + + @api.one + @api.depends('partner_id','partner_id.responsible_id') + def _get_sell_user(self): + '''计算销售单据的业务员,不允许修改''' + if self.partner_id: + if self.partner_id.responsible_id: + self.user_id = self.partner_id.responsible_id + else: + self.user_id = self._uid partner_id = fields.Many2one('partner', u'客户', ondelete='restrict', states=READONLY_STATES, @@ -93,8 +103,9 @@ def _compute_delivery(self): user_id = fields.Many2one( 'res.users', u'销售员', - ondelete='restrict', + ondelete='restrict',store=True, states=READONLY_STATES, + computer='_get_sell_user', help=u'单据经办人', ) date = fields.Date(u'单据日期', @@ -200,10 +211,6 @@ def onchange_partner_address(self): if self.address_id: self.contact = self.address_id.contact self.mobile = self.address_id.mobile - if self.partner_id.responsible_id: - self.user_id = self.partner_id.responsible_id - else: - self.user_id = self._uid @api.onchange('partner_id') def onchange_partner_id(self):