From 8a38fd1e0ef1e2515d11c7107044950eb580e353 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Fri, 13 Jan 2023 13:00:24 +0000 Subject: [PATCH] [REV] purchase_stock: prepare for the merge of purchase_price_diff This reverts commit f1d8f7b43c29342aecb69f233fdd7702b4e4d913. The previous commit shouldn't been merged to maintain the integrity of runbot testing. It will be merge soon in the same time than the migration script Part-of: odoo/odoo#109814 --- addons/purchase_stock/__manifest__.py | 1 - .../purchase_stock/models/account_invoice.py | 22 ++++------------ addons/purchase_stock/models/product.py | 14 ---------- addons/purchase_stock/views/product_views.xml | 26 ------------------- 4 files changed, 5 insertions(+), 58 deletions(-) delete mode 100644 addons/purchase_stock/views/product_views.xml diff --git a/addons/purchase_stock/__manifest__.py b/addons/purchase_stock/__manifest__.py index 23753cd2887..da0cbe122e6 100644 --- a/addons/purchase_stock/__manifest__.py +++ b/addons/purchase_stock/__manifest__.py @@ -19,7 +19,6 @@ 'views/res_config_settings_views.xml', 'views/res_partner_views.xml', 'views/stock_lot_views.xml', - 'views/product_views.xml', 'report/purchase_report_views.xml', 'report/purchase_report_templates.xml', 'report/report_stock_forecasted.xml', diff --git a/addons/purchase_stock/models/account_invoice.py b/addons/purchase_stock/models/account_invoice.py index b89cb564fbc..d8b135005ac 100644 --- a/addons/purchase_stock/models/account_invoice.py +++ b/addons/purchase_stock/models/account_invoice.py @@ -42,13 +42,8 @@ class AccountMove(models.Model): continue # Retrieve accounts needed to generate the price difference. - if line.product_id.cost_method == 'standard': - debit_expense_account = line.product_id.property_account_creditor_price_difference \ - or line.product_id.categ_id.property_account_creditor_price_difference_categ - debit_expense_account = line.move_id.fiscal_position_id.map_account(debit_expense_account) - else: - accounts = line.product_id.product_tmpl_id.get_product_accounts(fiscal_pos=move.fiscal_position_id) - debit_expense_account = accounts['expense'] + accounts = line.product_id.product_tmpl_id.get_product_accounts(fiscal_pos=move.fiscal_position_id) + debit_expense_account = accounts['expense'] if not debit_expense_account: continue @@ -75,21 +70,14 @@ class AccountMove(models.Model): valuation_price_unit = line.product_id.uom_id._compute_price(valuation_price_unit, line.product_uom_id) else: - price_unit = line.product_id.uom_id._compute_price(line.product_id.standard_price, line.product_uom_id) - price_unit = -price_unit if line.move_id.move_type == 'in_refund' else price_unit - valuation_price_unit = line.company_currency_id._convert( - price_unit, move.currency_id, - move.company_id, fields.Date.today(), round=False - ) + continue + price_unit = line._get_gross_unit_price() price_unit_val_dif = price_unit - valuation_price_unit # If there are some valued moves, we only consider their quantity already used - if line.product_id.cost_method == 'standard': - relevant_qty = line.quantity - else: - relevant_qty = line._get_out_and_not_invoiced_qty(valuation_stock_moves) + relevant_qty = line._get_out_and_not_invoiced_qty(valuation_stock_moves) price_subtotal = relevant_qty * price_unit_val_dif # We consider there is a price difference if the subtotal is not zero. In case a diff --git a/addons/purchase_stock/models/product.py b/addons/purchase_stock/models/product.py index bb54de04479..f93667c834d 100644 --- a/addons/purchase_stock/models/product.py +++ b/addons/purchase_stock/models/product.py @@ -5,24 +5,10 @@ from odoo import api, fields, models from odoo.osv import expression -class ProductCategory(models.Model): - _inherit = "product.category" - - property_account_creditor_price_difference_categ = fields.Many2one( - 'account.account', string="Price Difference Account", - company_dependent=True, - help="This account will be used to value price difference between purchase price and accounting cost.") - - class ProductTemplate(models.Model): _name = 'product.template' _inherit = 'product.template' - property_account_creditor_price_difference = fields.Many2one( - 'account.account', string="Price Difference Account", company_dependent=True, - help="This account is used in automated inventory valuation to "\ - "record the price difference between a purchase order and its related vendor bill when validating this vendor bill.") - @api.model def _get_buy_route(self): buy_route = self.env.ref('purchase_stock.route_warehouse0_buy', raise_if_not_found=False) diff --git a/addons/purchase_stock/views/product_views.xml b/addons/purchase_stock/views/product_views.xml deleted file mode 100644 index d45cfdea783..00000000000 --- a/addons/purchase_stock/views/product_views.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - product.category.property.form.inherit.purchase.stock - product.category - - - - - - - - - - product.normal.form.inherit.purchase.stock - product.template - - - - - - - - \ No newline at end of file