merge: digital precision product uom
bzr revid: fp@tinyerp.com-20111111135906-kljtmr0r5tb59ia5
This commit is contained in:
commit
77a228421e
|
@ -21,6 +21,7 @@
|
|||
|
||||
from datetime import datetime
|
||||
from osv import osv, fields
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
import netsvc
|
||||
import time
|
||||
|
@ -205,7 +206,7 @@ class mrp_bom(osv.osv):
|
|||
'product_id': fields.many2one('product.product', 'Product', required=True),
|
||||
'product_uos_qty': fields.float('Product UOS Qty'),
|
||||
'product_uos': fields.many2one('product.uom', 'Product UOS', help="Product UOS (Unit of Sale) is the unit of measurement for the invoicing and promotion of stock."),
|
||||
'product_qty': fields.float('Product Qty', required=True),
|
||||
'product_qty': fields.float('Product Qty', required=True, digits_compute=dp.get_precision('Product UoM')),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True, help="UoM (Unit of Measure) is the unit of measurement for the inventory control"),
|
||||
'product_rounding': fields.float('Product Rounding', help="Rounding applied on the product quantity."),
|
||||
'product_efficiency': fields.float('Manufacturing Efficiency', required=True, help="A factor of 0.9 means a loss of 10% within the production process."),
|
||||
|
@ -447,7 +448,7 @@ class mrp_production(osv.osv):
|
|||
'priority': fields.selection([('0','Not urgent'),('1','Normal'),('2','Urgent'),('3','Very Urgent')], 'Priority'),
|
||||
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'product_qty': fields.float('Product Qty', required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uos_qty': fields.float('Product UoS Qty', states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uos': fields.many2one('product.uom', 'Product UoS', states={'draft':[('readonly',False)]}, readonly=True),
|
||||
|
@ -993,7 +994,7 @@ class mrp_production_product_line(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True),
|
||||
'product_qty': fields.float('Product Qty', required=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
|
||||
'product_uos_qty': fields.float('Product UOS Qty'),
|
||||
'product_uos': fields.many2one('product.uom', 'Product UOS'),
|
||||
|
|
|
@ -21,13 +21,14 @@
|
|||
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
|
||||
class change_production_qty(osv.osv_memory):
|
||||
_name = 'change.production.qty'
|
||||
_description = 'Change Quantity of Products'
|
||||
|
||||
_columns = {
|
||||
'product_qty': fields.float('Product Qty', required=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True),
|
||||
}
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
from osv import fields,osv
|
||||
import tools
|
||||
import decimal_precision as dp
|
||||
|
||||
class mrp_workorder(osv.osv):
|
||||
_name = "mrp.workorder"
|
||||
|
@ -34,7 +35,7 @@ class mrp_workorder(osv.osv):
|
|||
'nbr': fields.integer('# of Lines', readonly=True),
|
||||
'date': fields.date('Date', readonly=True),
|
||||
'product_id': fields.many2one('product.product', 'Product', readonly=True),
|
||||
'product_qty': fields.float('Product Qty', readonly=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), readonly=True),
|
||||
'state': fields.selection([('draft','Draft'),('startworking', 'In Progress'),('pause','Pause'),('cancel','Cancelled'),('done','Finished')],'State', readonly=True),
|
||||
'total_hours': fields.float('Total Hours', readonly=True),
|
||||
'total_cycles': fields.float('Total Cycles', readonly=True),
|
||||
|
|
|
@ -21,13 +21,14 @@
|
|||
|
||||
from osv import fields
|
||||
from osv import osv
|
||||
import decimal_precision as dp
|
||||
|
||||
class mrp_subproduct(osv.osv):
|
||||
_name = 'mrp.subproduct'
|
||||
_description = 'Sub Product'
|
||||
_columns={
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True),
|
||||
'product_qty': fields.float('Product Qty', required=True),
|
||||
'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
|
||||
'subproduct_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Quantity Type', required=True, help="Define how the quantity of subproducts will be set on the production orders using this BoM.\
|
||||
'Fixed' depicts a situation where the quantity of created subproduct is always equal to the quantity set on the BoM, regardless of how many are created in the production order.\
|
||||
|
|
|
@ -23,6 +23,7 @@ from osv import osv, fields
|
|||
from tools.translate import _
|
||||
import netsvc
|
||||
import time
|
||||
import decimal_precision as dp
|
||||
|
||||
# Procurement
|
||||
# ------------------------------------------------------------------
|
||||
|
@ -91,7 +92,7 @@ class procurement_order(osv.osv):
|
|||
'date_planned': fields.datetime('Scheduled date', required=True),
|
||||
'date_close': fields.datetime('Date Closed'),
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_qty': fields.float('Quantity', required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UoM', required=True, states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uos_qty': fields.float('UoS Quantity', states={'draft':[('readonly',False)]}, readonly=True),
|
||||
'product_uos': fields.many2one('product.uom', 'Product UoS', states={'draft':[('readonly',False)]}, readonly=True),
|
||||
|
|
|
@ -654,7 +654,7 @@ class purchase_order_line(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'name': fields.char('Description', size=256, required=True),
|
||||
'product_qty': fields.float('Quantity', required=True, digits=(16,2)),
|
||||
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),
|
||||
'date_planned': fields.date('Scheduled Date', required=True, select=True),
|
||||
'taxes_id': fields.many2many('account.tax', 'purchase_order_taxe', 'ord_id', 'tax_id', 'Taxes'),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
|
||||
|
|
|
@ -25,6 +25,7 @@ import netsvc
|
|||
|
||||
from osv import fields,osv
|
||||
from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
|
||||
class purchase_requisition(osv.osv):
|
||||
_name = "purchase.requisition"
|
||||
|
@ -93,7 +94,7 @@ class purchase_requisition_line(osv.osv):
|
|||
_columns = {
|
||||
'product_id': fields.many2one('product.product', 'Product' ),
|
||||
'product_uom_id': fields.many2one('product.uom', 'Product UoM'),
|
||||
'product_qty': fields.float('Quantity', digits=(16,2)),
|
||||
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM')),
|
||||
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
from osv import fields, osv
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
import tools
|
||||
|
||||
|
@ -28,7 +29,7 @@ class stock_change_product_qty(osv.osv_memory):
|
|||
_description = "Change Product Quantity"
|
||||
_columns = {
|
||||
'product_id' : fields.many2one('product.product', 'Product'),
|
||||
'new_quantity': fields.float('Quantity', required=True, help='This quantity is expressed in the Default UoM of the product.'),
|
||||
'new_quantity': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True, help='This quantity is expressed in the Default UoM of the product.'),
|
||||
'prodlot_id': fields.many2one('stock.production.lot', 'Production Lot', domain="[('product_id','=',product_id)]"),
|
||||
'location_id': fields.many2one('stock.location', 'Location', required=True, domain="[('usage', '=', 'internal')]"),
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ class stock_move_consume(osv.osv_memory):
|
|||
|
||||
_columns = {
|
||||
'product_id': fields.many2one('product.product', 'Product', required=True, select=True),
|
||||
'product_qty': fields.float('Quantity', required=True),
|
||||
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),
|
||||
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
|
||||
'location_id': fields.many2one('stock.location', 'Location', required=True)
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ from osv import osv, fields
|
|||
import netsvc
|
||||
from tools.translate import _
|
||||
import logging
|
||||
import decimal_precision as dp
|
||||
|
||||
_logger = logging.getLogger('mps')
|
||||
|
||||
|
@ -80,8 +81,8 @@ class stock_sale_forecast(osv.osv):
|
|||
help = 'Shows which period this forecast concerns.'),
|
||||
'product_id': fields.many2one('product.product', 'Product', readonly=True, required=True, states={'draft':[('readonly',False)]}, \
|
||||
help = 'Shows which product this forecast concerns.'),
|
||||
'product_qty': fields.float('Forecast Quantity', required=True, readonly=True, states={'draft':[('readonly',False)]}, \
|
||||
help= 'Forecast Product quantity.'),
|
||||
'product_qty': fields.float('Forecast Quantity', digits_compute=dp.get_precision('Product UoM'), required=True, readonly=True, \
|
||||
states={'draft':[('readonly',False)]}, help= 'Forecast Product quantity.'),
|
||||
'product_amt': fields.float('Product Amount', readonly=True, states={'draft':[('readonly',False)]}, \
|
||||
help='Forecast value which will be converted to Product Quantity according to prices.'),
|
||||
'product_uom_categ': fields.many2one('product.uom.categ', 'Product UoM Category'), # Invisible field for product_uom domain
|
||||
|
|
Loading…
Reference in New Issue