diff --git a/addons/product/product.py b/addons/product/product.py index b055e704785..7e7f7375e87 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -291,7 +291,7 @@ class product_template(osv.osv): 'uom_po_id': fields.many2one('product.uom', 'Purchase Unit of Measure', required=True, help="Default Unit of Measure used for purchase orders. It must be in the same category than the default unit of measure."), 'uos_id' : fields.many2one('product.uom', 'Unit of Sale', help='Used by companies that manage two units of measure: invoicing and inventory management. For example, in food industries, you will manage a stock of ham but invoice in Kg. Keep empty to use the default UOM.'), - 'uos_coeff': fields.float('UOM -> UOS Coeff', digits=(16,4), + 'uos_coeff': fields.float('UOM -> UOS Coeff', digits_compute= dp.get_precision('Product UoS'), help='Coefficient to convert UOM to UOS\n' ' uos = uom * coeff'), 'mes_type': fields.selection((('fixed', 'Fixed'), ('variable', 'Variable')), 'Measure Type', required=True), diff --git a/addons/product/product_data.xml b/addons/product/product_data.xml index 31e93f46d5f..023cb431382 100644 --- a/addons/product/product_data.xml +++ b/addons/product/product_data.xml @@ -164,5 +164,9 @@ parameter) will see those record just disappear. Product UoM + + Product UoS + + diff --git a/addons/sale/sale.py b/addons/sale/sale.py index d9b8cfb88f9..c78678054c9 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -191,7 +191,7 @@ class sale_order(osv.osv): return result.keys() _columns = { - 'name': fields.char('Order Reference', size=64, required=True, + 'name': fields.char('Order Reference', size=64, readonly=True, states={'draft': [('readonly', False)]}, select=True), 'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)]}), 'origin': fields.char('Source Document', size=64, help="Reference of the document that generated this sales order request."), @@ -885,9 +885,9 @@ class sale_order_line(osv.osv): help="If 'on order', it triggers a procurement when the sale order is confirmed to create a task, purchase order or manufacturing order linked to this sale order line."), 'property_ids': fields.many2many('mrp.property', 'sale_order_line_property_rel', 'order_id', 'property_id', 'Properties', readonly=True, states={'draft': [('readonly', False)]}), 'address_allotment_id': fields.many2one('res.partner.address', 'Allotment Partner'), - 'product_uom_qty': fields.float('Quantity (UoM)', digits=(16, 2), required=True, readonly=True, states={'draft': [('readonly', False)]}), + 'product_uom_qty': fields.float('Quantity (UoM)', digits_compute= dp.get_precision('Product UoS'), required=True, readonly=True, states={'draft': [('readonly', False)]}), 'product_uom': fields.many2one('product.uom', 'Unit of Measure ', required=True, readonly=True, states={'draft': [('readonly', False)]}), - 'product_uos_qty': fields.float('Quantity (UoS)', readonly=True, states={'draft': [('readonly', False)]}), + 'product_uos_qty': fields.float('Quantity (UoS)' ,digits_compute= dp.get_precision('Product UoS'), readonly=True, states={'draft': [('readonly', False)]}), 'product_uos': fields.many2one('product.uom', 'Product UoS'), 'product_packaging': fields.many2one('product.packaging', 'Packaging'), 'move_ids': fields.one2many('stock.move', 'sale_line_id', 'Inventory Moves', readonly=True),