From f70e0d59b206eb13f65a14269cec73881840aaee Mon Sep 17 00:00:00 2001 From: "Anh Thao Pham (pta)" <pta@odoo.com> Date: Tue, 24 Aug 2021 09:47:53 +0000 Subject: [PATCH] [FIX] stock_account: fix access error when computing average price - Create a product with Category configured with: * Costing Method: First In First Out (FIFO) * Inventory Valuation: Automated - Create a PO to buy 1 unit and receive the product - Create a SO to sell 1 unit and deliver the product - Return the product - Re-deliver the product - Create invoice for SO but don't post it - Connect with an user with "Accounting: Accountant" rights only - Post the invoice An access error will be triggered when trying to access stock valuation layer. opw-2623376 closes odoo/odoo#76270 X-original-commit: cc76e76ef2d1cc5a16778bd9440911fd6ec73c9b Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com> Signed-off-by: Anh Thao PHAM <kitan191@users.noreply.github.com> --- addons/stock_account/models/product.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock_account/models/product.py b/addons/stock_account/models/product.py index 4c0b0b3c24ad..a0bcac718ca4 100644 --- a/addons/stock_account/models/product.py +++ b/addons/stock_account/models/product.py @@ -663,7 +663,7 @@ class ProductProduct(models.Model): returned_quantities = defaultdict(float) for move in stock_moves: if move.origin_returned_move_id: - returned_quantities[move.origin_returned_move_id.id] += abs(sum(move.stock_valuation_layer_ids.mapped('quantity'))) + returned_quantities[move.origin_returned_move_id.id] += abs(sum(move.sudo().stock_valuation_layer_ids.mapped('quantity'))) candidates = stock_moves\ .sudo()\ .filtered(lambda m: not (m.origin_returned_move_id and sum(m.stock_valuation_layer_ids.mapped('quantity')) >= 0))\ -- GitLab