diff --git a/addons/product/product.py b/addons/product/product.py index 11b6f81a750..9eb8deb037a 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -269,7 +269,6 @@ class product_product(osv.osv): product = self.browse(cr, uid, [product_id], context)[0] for supinfo in product.seller_ids: if supinfo.name.id == partner_id: - print {'code': supinfo.product_code, 'name': supinfo.product_name} return {'code': supinfo.product_code, 'name': supinfo.product_name} return {'code' : product.default_code, 'name' : product.name} diff --git a/addons/purchase/report/order.py b/addons/purchase/report/order.py index 2ffddae38c0..d3879eafa82 100644 --- a/addons/purchase/report/order.py +++ b/addons/purchase/report/order.py @@ -38,6 +38,7 @@ class order(report_sxw.rml_parse): 'time': time, 'get_line_tax': self._get_line_tax, 'get_tax': self._get_tax, + 'get_product_code': self._get_product_code, }) def _get_line_tax(self, line_obj): self.cr.execute("SELECT tax_id FROM purchase_order_taxe WHERE order_line_id=%d" % (line_obj.id)) @@ -79,5 +80,8 @@ class order(report_sxw.rml_parse): 'base':base, 'amount':base*tax.amount}) return res + def _get_product_code(self, product_id, partner_id): + product_obj=pooler.get_pool(self.cr.dbname).get('product.product') + return product_obj._product_code(self.cr, self.uid, [product_id], name=None, arg=None, context={'partner_id': partner_id})[product_id] report_sxw.report_sxw('report.purchase.order','purchase.order','addons/purchase/report/order.rml',parser=order) diff --git a/addons/purchase/report/order.rml b/addons/purchase/report/order.rml index 6c715479de0..4e716efce4c 100644 --- a/addons/purchase/report/order.rml +++ b/addons/purchase/report/order.rml @@ -186,7 +186,7 @@ - [[ line.product_id and line.product_id.default_code or '' ]] + [[ line.product_id and get_product_code(line.product_id.id, o.partner_id.id) or '' ]] [[ line.name ]]