[FIX] return product contains scrapped line also added into invoice
authorado <ado@tinyerp.com>
Mon, 16 Jan 2012 09:02:09 +0000 (14:32 +0530)
committerado <ado@tinyerp.com>
Mon, 16 Jan 2012 09:02:09 +0000 (14:32 +0530)
bzr revid: ado@tinyerp.com-20120116090209-b33c1qdk3s3zrmmf

addons/stock/stock.py

index 072e444..f1e0940 100644 (file)
@@ -1081,20 +1081,22 @@ class stock_picking(osv.osv):
                 account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, partner.property_account_position, account_id)
                 if move_line.price_unit != 0 and price_unit != move_line.price_unit:
                     price_unit = move_line.price_unit
-                invoice_line_id = invoice_line_obj.create(cr, uid, {
-                    'name': name,
-                    'origin': origin,
-                    'invoice_id': invoice_id,
-                    'uos_id': uos_id,
-                    'product_id': move_line.product_id.id,
-                    'account_id': account_id,
-                    'price_unit': price_unit,
-                    'discount': discount,
-                    'quantity': move_line.product_uos_qty or move_line.product_qty,
-                    'invoice_line_tax_id': [(6, 0, tax_ids)],
-                    'account_analytic_id': account_analytic_id,
-                }, context=context)
-                self._invoice_line_hook(cr, uid, move_line, invoice_line_id)
+                
+                if not move_line.location_dest_id.scrap_location:
+                    invoice_line_id = invoice_line_obj.create(cr, uid, {
+                        'name': name,
+                        'origin': origin,
+                        'invoice_id': invoice_id,
+                        'uos_id': uos_id,
+                        'product_id': move_line.product_id.id,
+                        'account_id': account_id,
+                        'price_unit': price_unit,
+                        'discount': discount,
+                        'quantity': move_line.product_uos_qty or move_line.product_qty,
+                        'invoice_line_tax_id': [(6, 0, tax_ids)],
+                        'account_analytic_id': account_analytic_id,
+                    }, context=context)
+                    self._invoice_line_hook(cr, uid, move_line, invoice_line_id)
 
             invoice_obj.button_compute(cr, uid, [invoice_id], context=context,
                     set_total=(inv_type in ('in_invoice', 'in_refund')))