diff --git a/stock_inventory_valuation_ods/__init__.py b/stock_inventory_valuation_ods/__init__.py index 40a96af..9525632 100644 --- a/stock_inventory_valuation_ods/__init__.py +++ b/stock_inventory_valuation_ods/__init__.py @@ -1 +1,3 @@ # -*- coding: utf-8 -*- + +from . import stock_inventory diff --git a/stock_inventory_valuation_ods/inventory_grouped.ods b/stock_inventory_valuation_ods/inventory_grouped.ods index 8886005..bcba10f 100644 Binary files a/stock_inventory_valuation_ods/inventory_grouped.ods and b/stock_inventory_valuation_ods/inventory_grouped.ods differ diff --git a/stock_inventory_valuation_ods/inventory_grouped.py b/stock_inventory_valuation_ods/inventory_grouped.py deleted file mode 100644 index edd01af..0000000 --- a/stock_inventory_valuation_ods/inventory_grouped.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2016 Akretion (Alexis de Lattre ) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from openerp.report import report_sxw - - -class Parser(report_sxw.rml_parse): - def __init__(self, cr, uid, name, context=None): - super(Parser, self).__init__(cr, uid, name, context=context) - self.localcontext.update({ - 'group_lines': self._group_lines, - }) - - def _group_lines(self, inventory, context=None): - assert inventory, 'Missing inventory' - self.cr.execute(""" - SELECT - min(id) AS min_line_id, - product_id, - package_id, - prod_lot_id, - product_uom_id, - standard_price, - sum(product_qty) AS product_qty, - sum(theoretical_qty) AS theoretical_qty - FROM stock_inventory_line - WHERE inventory_id=%s - GROUP BY product_id, package_id, prod_lot_id, - product_uom_id, standard_price - """, (inventory.id, )) - res = [] - silo = self.pool['stock.inventory.line'] - for row in self.cr.dictfetchall(): - row['min_line'] = silo.browse( - self.cr, self.uid, row['min_line_id'], context=context) - res.append(row) - return res diff --git a/stock_inventory_valuation_ods/report.xml b/stock_inventory_valuation_ods/report.xml index 6ec8e7c..4b0b74c 100644 --- a/stock_inventory_valuation_ods/report.xml +++ b/stock_inventory_valuation_ods/report.xml @@ -19,18 +19,14 @@ - diff --git a/stock_inventory_valuation_ods/stock_inventory.py b/stock_inventory_valuation_ods/stock_inventory.py new file mode 100644 index 0000000..e9745d6 --- /dev/null +++ b/stock_inventory_valuation_ods/stock_inventory.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Copyright 2016-2018 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class StockInventory(models.Model): + _inherit = 'stock.inventory' + + def report_group_lines(self): + self.ensure_one() + self._cr.execute(""" + SELECT + min(id) AS min_line_id, + product_id, + package_id, + prod_lot_id, + product_uom_id, + standard_price, + sum(product_qty) AS product_qty, + sum(theoretical_qty) AS theoretical_qty + FROM stock_inventory_line + WHERE inventory_id=%s + GROUP BY product_id, package_id, prod_lot_id, + product_uom_id, standard_price + """, (self.id, )) + res = [] + silo = self.env['stock.inventory.line'] + for row in self._cr.dictfetchall(): + row['min_line'] = silo.browse(row['min_line_id']) + res.append(row) + return res