diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index 9188bc8ecf4..c9896aa76c4 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -2410,8 +2410,9 @@ class AccountMoveLine(models.Model): help="This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line.") currency_id = fields.Many2one('res.currency', string='Currency') partner_id = fields.Many2one('res.partner', string='Partner', ondelete='restrict') - product_uom_id = fields.Many2one('uom.uom', string='Unit of Measure') + product_uom_id = fields.Many2one('uom.uom', string='Unit of Measure', domain="[('category_id', '=', product_uom_category_id)]") product_id = fields.Many2one('product.product', string='Product') + product_uom_category_id = fields.Many2one('uom.category', related='product_id.uom_id.category_id') # ==== Origin fields ==== reconcile_model_id = fields.Many2one('account.reconcile.model', string="Reconciliation Model", copy=False, readonly=True) @@ -2815,9 +2816,6 @@ class AccountMoveLine(models.Model): line.product_uom_id = line._get_computed_uom() line.price_unit = line._get_computed_price_unit() - if len(self) == 1: - return {'domain': {'product_uom_id': [('category_id', '=', self.product_uom_id.category_id.id)]}} - @api.onchange('product_uom_id') def _onchange_uom_id(self): ''' Recompute the 'price_unit' depending of the unit of measure. ''' diff --git a/addons/account/views/account_move_views.xml b/addons/account/views/account_move_views.xml index c9a87bc68ae..0a84ab9adb9 100644 --- a/addons/account/views/account_move_views.xml +++ b/addons/account/views/account_move_views.xml @@ -678,6 +678,7 @@ optional="show" widget="many2many_tags"/> + @@ -722,6 +723,7 @@ + @@ -794,6 +796,7 @@
+ @@ -907,6 +910,7 @@ +