[FIX] Stock :Invoice created from manual picking might miss UoS.
authorDukai Gábor <>
Tue, 24 Nov 2009 12:53:28 +0000 (18:23 +0530)
committerJay (Open ERP) <jvo@tinyerp.com>
Tue, 24 Nov 2009 12:53:28 +0000 (18:23 +0530)
lp bug: https://launchpad.net/bugs/487091 fixed

bzr revid: jvo@tinyerp.com-20091124125328-mrsw98pqp5cprzkx

addons/stock/stock.py

index 5259c2b..11d7242 100644 (file)
@@ -743,13 +743,18 @@ class stock_picking(osv.osv):
                 tax_ids = self._get_taxes_invoice(cursor, user, move_line, type)
                 account_analytic_id = self._get_account_analytic_invoice(cursor,
                         user, picking, move_line)
+                
+                #set UoS if it's a sale and the picking doesn't have one
+                uos_id = move_line.product_uos and move_line.product_uos.id or False
+                if not uos_id and type in ('out_invoice', 'out_refund'):
+                    uos_id = move_line.product_uom.id
 
                 account_id = self.pool.get('account.fiscal.position').map_account(cursor, user, partner.property_account_position, account_id)
                 invoice_line_id = invoice_line_obj.create(cursor, user, {
                     'name': name,
                     'origin': origin,
                     'invoice_id': invoice_id,
-                    'uos_id': move_line.product_uos.id,
+                    'uos_id': uos_id,
                     'product_id': move_line.product_id.id,
                     'account_id': account_id,
                     'price_unit': price_unit,