diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index bd3f8256065..7d3af70382a 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -613,9 +613,13 @@ class purchase_order_line(osv.osv): return res def _get_uom_id(self, cr, uid, *args): - cr.execute('select id from product_uom order by id limit 1') - res = cr.fetchone() - return res and res[0] or False + model_data = self.pool.get('ir.model.data') + xml_id = 'product_uom_unit' + res = model_data.search(cr,uid, [('name', '=', xml_id)]) + if len(res): + res = model_data.browse(cr, uid, res[0]) + return res.res_id + return False _columns = { 'name': fields.char('Description', size=256, required=True), diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 231fa2cdbf1..a150ceb3469 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -839,9 +839,13 @@ class sale_order_line(osv.osv): return res def _get_uom_id(self, cr, uid, *args): - cr.execute('select id from product_uom order by id limit 1') - res = cr.fetchone() - return res and res[0] or False + model_data = self.pool.get('ir.model.data') + xml_id = 'product_uom_unit' + res = model_data.search(cr, uid, [('name', '=', xml_id)]) + if len(res): + res = model_data.browse(cr,uid,res[0]) + return res.res_id + return False _name = 'sale.order.line' _description = 'Sales Order Line'