[IMP] rename UOM to Unit of Measure everywhere in sale,stock,purchase,project_long_term and project_planning

bzr revid: jap@tinyerp.com-20120425120908-z13f1k2an7q01b8j
This commit is contained in:
Jagdish Panchal (Open ERP) 2012-04-25 17:39:08 +05:30
parent e54af9838e
commit 29918c6418
25 changed files with 62 additions and 62 deletions

View File

@ -110,7 +110,7 @@ class project_phase(osv.osv):
'previous_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'next_phase_id', 'prv_phase_id', 'Previous Phases', states={'cancelled':[('readonly',True)]}),
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of phases."),
'duration': fields.float('Duration', required=True, help="By default in days", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'product_uom': fields.many2one('product.uom', 'Duration UoM', required=True, help="UoM (Unit of Measure) is the unit of measurement for Duration", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'product_uom': fields.many2one('product.uom', 'Duration Unit of Measure', required=True, help="Unit of Measure (Unit of Measure) is the unit of measurement for Duration", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'task_ids': fields.one2many('project.task', 'phase_id', "Project Tasks", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'user_force_ids': fields.many2many('res.users', string='Force Assigned Users'),
'user_ids': fields.one2many('project.user.allocation', 'phase_id', "Assigned Users",states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]},

View File

@ -204,9 +204,9 @@ class report_account_analytic_planning_line(osv.osv):
'planning_id': fields.many2one('report_account_analytic.planning', 'Planning', required=True, ondelete='cascade'),
'user_id': fields.many2one('res.users', 'User', select=True),
'amount': fields.float('Quantity', required=True),
'amount_unit': fields.many2one('product.uom', 'Qty UoM', required=True),
'amount_unit': fields.many2one('product.uom', 'Qty Unit of Measure', required=True),
'note': fields.text('Note', size=64),
'amount_in_base_uom': fields.function(_amount_base_uom, string='Quantity in base uom', store=True),
'amount_in_base_uom': fields.function(_amount_base_uom, string='Quantity in base Unit of Measure', store=True),
'task_ids': fields.one2many('project.task', 'planning_line_id', 'Planning Tasks'),
}
_order = 'user_id, account_id'

View File

@ -716,10 +716,10 @@ class purchase_order_line(osv.osv):
_columns = {
'name': fields.char('Description', size=256, required=True),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), 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),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True),
'product_id': fields.many2one('product.product', 'Product', domain=[('purchase_ok','=',True)], change_default=True),
'move_ids': fields.one2many('stock.move', 'purchase_line_id', 'Reservation', readonly=True, ondelete='set null'),
'move_dest_id': fields.many2one('stock.move', 'Reservation Destination', ondelete='set null'),
@ -825,7 +825,7 @@ class purchase_order_line(osv.osv):
uom_id = product_uom_po_id
if product.uom_id.category_id.id != product_uom.browse(cr, uid, uom_id, context=context).category_id.id:
res['warning'] = {'title': _('Warning'), 'message': _('Selected UOM does not belong to the same category as the product UOM')}
res['warning'] = {'title': _('Warning'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure')}
uom_id = product_uom_po_id
res['value'].update({'product_uom': uom_id})

View File

@ -50,7 +50,7 @@ class purchase_report(osv.osv):
'date_approve':fields.date('Date Approved', readonly=True),
'expected_date':fields.date('Expected Date', readonly=True),
'validator' : fields.many2one('res.users', 'Validated By', readonly=True),
'product_uom' : fields.many2one('product.uom', 'Reference UoM', required=True),
'product_uom' : fields.many2one('product.uom', 'Reference Unit of Measure', required=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
'delay':fields.float('Days to Validate', digits=(16,2), readonly=True),

View File

@ -102,7 +102,7 @@
<separator orientation="vertical"/>
<filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<filter string="Category" name="group_category_id" icon="terp-stock_symbol-selection" context="{'group_by':'category_id'}"/>
<filter string="Reference UOM" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Reference Unit of Measure" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}" groups="base.group_extended"/>
<filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/>
<separator orientation="vertical"/>

View File

@ -37,7 +37,7 @@ class purchase_config_settings(osv.osv_memory):
implied_group='product.group_purchase_pricelist',
help="""Allows to manage different prices based on rules per category of Supplier.
Example: 10% for retailers, promotion of 5 EUR on this product, etc."""),
'group_uom':fields.boolean("Manage Different UoM for Products",
'group_uom':fields.boolean("Manage Different Unit of Measure for Products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
'module_purchase_analytic_plans': fields.boolean('Purchase Analytic Plan',

View File

@ -175,8 +175,8 @@ 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_compute=dp.get_precision('Product UoM')),
'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure'),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure')),
'requisition_id' : fields.many2one('purchase.requisition','Purchase Requisition', ondelete='cascade'),
'company_id': fields.related('requisition_id','company_id',type='many2one',relation='res.company',string='Company', store=True, readonly=True),
}

View File

@ -38,7 +38,7 @@ class sale_report(osv.osv):
('10', 'October'), ('11', 'November'), ('12', 'December')], 'Month', readonly=True),
'day': fields.char('Day', size=128, readonly=True),
'product_id': fields.many2one('product.product', 'Product', readonly=True),
'product_uom': fields.many2one('product.uom', 'UoM', readonly=True),
'product_uom': fields.many2one('product.uom', 'Unit of Measure', readonly=True),
'product_uom_qty': fields.float('# of Qty', readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),

View File

@ -99,7 +99,7 @@
<filter string="Partner" icon="terp-partner" name="Customer" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
<filter string="Reference UoM" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Reference Unit of Measure" icon="terp-mrp" context="{'group_by':'product_uom'}"/>
<filter string="Category of Product" icon="terp-stock_symbol-selection" name="Category" context="{'group_by':'categ_id'}"/>
<separator orientation="vertical" groups="analytic.group_analytic_accounting"/>
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}" groups="analytic.group_analytic_accounting"/>

View File

@ -1016,7 +1016,7 @@ 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', 'Allotment Partner'),
'product_uom_qty': fields.float('Quantity (UoM)', digits_compute= dp.get_precision('Product UoS'), required=True, readonly=True, states={'draft': [('readonly', False)]}),
'product_uom_qty': fields.float('Quantity (Unit of Measure)', 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)' ,digits_compute= dp.get_precision('Product UoS'), readonly=True, states={'draft': [('readonly', False)]}),
'product_uos': fields.many2one('product.uom', 'Product UoS'),

View File

@ -199,8 +199,8 @@
</form>
<tree string="Sales Order Lines">
<field colspan="4" name="name"/>
<field name="product_uom_qty" string="Qty(UoM)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom_qty" string="Qty(Unit of Measure)"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field groups="product.group_uos" name="product_uos_qty" string="Qty(UoS)"/>
<field groups="product.group_uos" name="product_uos" string="UoS"/>
<field name="discount" groups="sale.group_discount_per_so_line"/>
@ -369,7 +369,7 @@
<field name="order_partner_id"/>
<field name="product_id"/>
<field name="product_uom_qty" string="Qty"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="salesman_id"/>
<field name="price_subtotal" sum="Total" groups="base.group_sale_notes_subtotal"/>
<field name="state"/>

View File

@ -120,8 +120,8 @@ class sale_order_line(osv.osv):
,'Line Type', select=True, required=True),
'sequence': fields.integer('Line Sequence', select=True),
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Sale Price'), readonly=True, states={'draft': [('readonly', False)]}),
'product_uom_qty': fields.float('Quantity (UoM)', digits=(16,2)),
'product_uom': fields.many2one('product.uom', 'Product UoM'),
'product_uom_qty': fields.float('Quantity (Unit of Measure)', digits=(16,2)),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure'),
# Override the field to call the overridden _amount_line function
'price_subtotal': fields.function(_amount_line, method=True, string='Subtotal', digits_compute= dp.get_precision('Sale Price')),
}

View File

@ -100,7 +100,7 @@
<tree string="Sales order lines">
<field colspan="4" name="name"/>
<field name="product_uom_qty" string="Qty"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="discount"/>
<field name="price_unit"/>
<!-- field name="price_net"/-->

View File

@ -332,7 +332,7 @@ class product_product(osv.osv):
_columns = {
'qty_available': fields.function(_product_available, multi='qty_available',
type='float', digits_compute=dp.get_precision('Product UoM'),
type='float', digits_compute=dp.get_precision('Product Unit of Measure'),
string='Quantity On Hand',
help="Current quantity of products.\n"
"In a context with a single Stock Location, this includes "
@ -346,7 +346,7 @@ class product_product(osv.osv):
"Otherwise, this includes goods stored in any Stock Location "
"typed as 'internal'."),
'virtual_available': fields.function(_product_available, multi='qty_available',
type='float', digits_compute=dp.get_precision('Product UoM'),
type='float', digits_compute=dp.get_precision('Product Unit of Measure'),
string='Quantity Available',
help="Forecast quantity (computed as Quantity On Hand "
"- Outgoing + Incoming)\n"
@ -361,7 +361,7 @@ class product_product(osv.osv):
"Otherwise, this includes goods stored in any Stock Location "
"typed as 'internal'."),
'incoming_qty': fields.function(_product_available, multi='qty_available',
type='float', digits_compute=dp.get_precision('Product UoM'),
type='float', digits_compute=dp.get_precision('Product Unit of Measure'),
string='Incoming',
help="Quantity of products that are planned to arrive.\n"
"In a context with a single Stock Location, this includes "
@ -375,7 +375,7 @@ class product_product(osv.osv):
"Otherwise, this includes goods arriving to any Stock "
"Location typed as 'internal'."),
'outgoing_qty': fields.function(_product_available, multi='qty_available',
type='float', digits_compute=dp.get_precision('Product UoM'),
type='float', digits_compute=dp.get_precision('Product Unit of Measure'),
string='Outgoing',
help="Quantity of products that are planned to leave.\n"
"In a context with a single Stock Location, this includes "

View File

@ -160,7 +160,7 @@ class report_stock_inventory(osv.osv):
'location_id': fields.many2one('stock.location', 'Location', readonly=True),
'prodlot_id': fields.many2one('stock.production.lot', 'Lot', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'product_qty':fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), readonly=True),
'product_qty':fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), readonly=True),
'value' : fields.float('Total Value', digits_compute=dp.get_precision('Account'), required=True),
'state': fields.selection([('draft', 'Draft'), ('waiting', 'Waiting'), ('confirmed', 'Confirmed'), ('assigned', 'Available'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, select=True,
help='When the stock move is created it is in the \'Draft\' state.\n After that it is set to \'Confirmed\' state.\n If stock is available state is set to \'Avaiable\'.\n When the picking it done the state is \'Done\'.\

View File

@ -52,10 +52,10 @@ class stock_config_settings(osv.osv_memory):
manage product manufacturing chains, manage default locations per product,
define routes within your warehouse according to business needs, etc.
This installs the module stock_location."""),
'group_uom': fields.boolean("Manage Different UoM for Products",
'group_uom': fields.boolean("Manage Different Unit of Measure for Products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
'group_uos': fields.boolean("Manage Secondary UoM (for Sale)",
'group_uos': fields.boolean("Manage Secondary Unit of Measure (for Sale)",
implied_group='product.group_uos',
help="""Allows you to sell units of a product, but invoice based on a different unit of measure.
For instance, you can sell pieces of meat that you invoice based on their weight."""),

View File

@ -1484,7 +1484,7 @@ class stock_production_lot(osv.osv):
'date': fields.datetime('Creation Date', required=True),
'stock_available': fields.function(_get_stock, fnct_search=_stock_search, type="float", string="Available", select=True,
help="Current quantity of products with this Production Lot Number available in company warehouses",
digits_compute=dp.get_precision('Product UoM')),
digits_compute=dp.get_precision('Product Unit of Measure')),
'revisions': fields.one2many('stock.production.lot.revision', 'lot_id', 'Revisions'),
'company_id': fields.many2one('res.company', 'Company', select=True),
'move_ids': fields.one2many('stock.move', 'prodlot_id', 'Moves for this Serial Number', readonly=True),
@ -1610,9 +1610,9 @@ class stock_move(osv.osv):
'date_expected': fields.datetime('Scheduled Date', states={'done': [('readonly', True)]},required=True, select=True, help="Scheduled date for the processing of this move"),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True, domain=[('type','<>','service')],states={'done': [('readonly', True)]}),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True,states={'done': [('readonly', True)]}),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True,states={'done': [('readonly', True)]}),
'product_uom': fields.many2one('product.uom', 'Unit of Measure', required=True,states={'done': [('readonly', True)]}),
'product_uos_qty': fields.float('Quantity (UOS)', digits_compute=dp.get_precision('Product UoM'), states={'done': [('readonly', True)]}),
'product_uos_qty': fields.float('Quantity (UOS)', digits_compute=dp.get_precision('Product Unit of Measure'), states={'done': [('readonly', True)]}),
'product_uos': fields.many2one('product.uom', 'Product UOS', states={'done': [('readonly', True)]}),
'product_packaging': fields.many2one('product.packaging', 'Packaging', help="It specifies attributes of packaging like type, quantity of packaging,etc."),
@ -1737,7 +1737,7 @@ class stock_move(osv.osv):
if move.state == 'done':
if frozen_fields.intersection(vals):
raise osv.except_osv(_('Operation forbidden'),
_('Quantities, UoMs, Products and Locations cannot be modified on stock moves that have already been processed (except by the Administrator)'))
_('Quantities, Unit of Measures, Products and Locations cannot be modified on stock moves that have already been processed (except by the Administrator)'))
return super(stock_move, self).write(cr, uid, ids, vals, context=context)
def copy(self, cr, uid, id, default=None, context=None):
@ -2778,8 +2778,8 @@ class stock_inventory_line(osv.osv):
'inventory_id': fields.many2one('stock.inventory', 'Inventory', ondelete='cascade', select=True),
'location_id': fields.many2one('stock.location', 'Location', required=True),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True),
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM')),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure')),
'company_id': fields.related('inventory_id','company_id',type='many2one',relation='res.company',string='Company',store=True, select=True, readonly=True),
'prod_lot_id': fields.many2one('stock.production.lot', 'Serial Number', domain="[('product_id','=',product_id)]"),
'state': fields.related('inventory_id','state',type='char',string='State',readonly=True),

View File

@ -145,7 +145,7 @@
<tree string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in Serial Number" type="action"
icon="terp-stock_effects-object-colorize"
@ -345,7 +345,7 @@
<field name="origin"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="date"/>
<field name="prodlot_id"/>
@ -424,7 +424,7 @@
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="product_id" />
<field name="product_qty" />
<field name="product_uom" string="UOM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging"/>
@ -448,7 +448,7 @@
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="product_id" />
<field name="product_qty" />
<field name="product_uom" string="UOM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging"/>
@ -712,7 +712,7 @@
<tree colors="grey:scrapped == True" string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="product_uos" groups="product.group_uos"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
@ -903,7 +903,7 @@
<tree colors="grey:scrapped==True" string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="product_uos" groups="product.group_uos"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
@ -1122,7 +1122,7 @@
<tree colors="grey:scrapped==True" string="Stock Moves">
<field name="product_id" />
<field name="product_qty" />
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
@ -1364,7 +1364,7 @@
<field name="create_date" invisible="1" groups="base.group_no_one"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="product_uos" groups="product.group_uos"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
@ -1537,7 +1537,7 @@
<field name="origin"/>
<field name="product_id"/>
<field name="product_qty" />
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
@ -1575,7 +1575,7 @@
<field name="picking_id" string="Reference"/>
<field name="product_id"/>
<field name="product_qty" />
<field name="product_uom" string="UoM" groups="product.group_uom"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="date" groups="base.group_no_one" />
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>

View File

@ -30,7 +30,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', digits_compute=dp.get_precision('Product UoM'), 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 Unit of Measure'), required=True, help='This quantity is expressed in the Default Unit of Measure of the product.'),
'prodlot_id': fields.many2one('stock.production.lot', 'Serial Number', domain="[('product_id','=',product_id)]"),
'location_id': fields.many2one('stock.location', 'Location', required=True, domain="[('usage', '=', 'internal')]"),
}

View File

@ -29,8 +29,8 @@ class stock_move_consume(osv.osv_memory):
_columns = {
'product_id': fields.many2one('product.product', 'Product', required=True, select=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),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True),
'location_id': fields.many2one('stock.location', 'Location', required=True)
}
@ -165,9 +165,9 @@ class split_in_production_lot(osv.osv_memory):
return res
_columns = {
'qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM')),
'qty': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure')),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True),
'product_uom': fields.many2one('product.uom', 'UoM'),
'product_uom': fields.many2one('product.uom', 'Unit of Measure'),
'line_ids': fields.one2many('stock.move.split.lines', 'wizard_id', 'Serial Number'),
'line_exist_ids': fields.one2many('stock.move.split.lines', 'wizard_exist_id', 'Serial Number'),
'use_exist' : fields.boolean('Existing Lots', help="Check this option to select existing lots in the list below, otherwise you should enter new ones line by line."),
@ -261,7 +261,7 @@ class stock_move_split_lines_exist(osv.osv_memory):
_description = "Stock move Split lines"
_columns = {
'name': fields.char('Serial Number', size=64),
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM')),
'quantity': fields.float('Quantity', digits_compute=dp.get_precision('Product Unit of Measure')),
'wizard_id': fields.many2one('stock.move.split', 'Parent Wizard'),
'wizard_exist_id': fields.many2one('stock.move.split', 'Parent Wizard (for existing lines)'),
'prodlot_id': fields.many2one('stock.production.lot', 'Serial Number'),

View File

@ -42,7 +42,7 @@ class stock_partial_picking_line(osv.TransientModel):
_rec_name = 'product_id'
_columns = {
'product_id' : fields.many2one('product.product', string="Product", required=True, ondelete='CASCADE'),
'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product UoM'), required=True),
'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'product_uom': fields.many2one('product.uom', 'Unit of Measure', required=True, ondelete='CASCADE'),
'prodlot_id' : fields.many2one('stock.production.lot', 'Serial Number', ondelete='CASCADE'),
'location_id': fields.many2one('stock.location', 'Location', required=True, ondelete='CASCADE', domain = [('usage','<>','view')]),
@ -145,7 +145,7 @@ class stock_partial_picking(osv.osv_memory):
if line_uom.factor and line_uom.factor <> 0:
if qty_in_line_uom <> wizard_line.quantity:
raise osv.except_osv(_('Warning'), _('The uom rounding does not allow you to ship "%s %s", only roundings of "%s %s" is accepted by the uom.') % (wizard_line.quantity, line_uom.name, line_uom.rounding, line_uom.name))
raise osv.except_osv(_('Warning'), _('The Unit of Measure rounding does not allow you to ship "%s %s", only roundings of "%s %s" is accepted by the Unit of Measure.') % (wizard_line.quantity, line_uom.name, line_uom.rounding, line_uom.name))
if move_id:
#Check rounding Quantity.ex.
#picking: 1kg, uom kg rounding = 0.01 (rounding to 10g),

View File

@ -31,7 +31,7 @@ class stock_return_picking_memory(osv.osv_memory):
_rec_name = 'product_id'
_columns = {
'product_id' : fields.many2one('product.product', string="Product", required=True),
'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product UoM'), required=True),
'quantity' : fields.float("Quantity", digits_compute=dp.get_precision('Product Unit of Measure'), required=True),
'wizard_id' : fields.many2one('stock.return.picking', string="Wizard"),
'move_id' : fields.many2one('stock.move', "Move"),
}

View File

@ -27,7 +27,7 @@ class stock_split_into(osv.osv_memory):
_name = "stock.split.into"
_description = "Split into"
_columns = {
'quantity': fields.float('Quantity',digits_compute=dp.get_precision('Product UoM')),
'quantity': fields.float('Quantity',digits_compute=dp.get_precision('Product Unit of Measure')),
}
_defaults = {
'quantity': lambda *x: 0,

View File

@ -81,17 +81,17 @@ 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', digits_compute=dp.get_precision('Product UoM'), required=True, readonly=True, \
'product_qty': fields.float('Forecast Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), 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
'product_uom': fields.many2one('product.uom', 'Product UoM', required=True, readonly=True, states={'draft':[('readonly',False)]}, \
'product_uom_categ': fields.many2one('product.uom.categ', 'Product Unit of Measure Category'), # Invisible field for product_uom domain
'product_uom': fields.many2one('product.uom', 'Product Unit of Measure', required=True, readonly=True, states={'draft':[('readonly',False)]}, \
help = "Unit of Measure used to show the quantities of stock calculation." \
"You can use units form default category or from second category (UoS category)."),
'product_uos_categ' : fields.many2one('product.uom.categ', 'Product UoS Category'), # Invisible field for product_uos domain
# Field used in onchange_uom to check what uom was before change and recalculate quantities according to old uom (active_uom) and new uom.
'active_uom': fields.many2one('product.uom', string = "Active UoM"),
'active_uom': fields.many2one('product.uom', string = "Active Unit of Measure"),
'state': fields.selection([('draft','Draft'),('validated','Validated')],'State',readonly=True),
'analyzed_period1_id': fields.many2one('stock.period', 'Period1', readonly=True, states={'draft':[('readonly',False)]},),
'analyzed_period2_id': fields.many2one('stock.period', 'Period2', readonly=True, states={'draft':[('readonly',False)]},),
@ -452,12 +452,12 @@ class stock_planning(osv.osv):
help = 'Period for this planning. Requisition will be created for beginning of the period.', select=True),
'warehouse_id': fields.many2one('stock.warehouse','Warehouse', required=True),
'product_id': fields.many2one('product.product' , 'Product', required=True, help = 'Product which this planning is created for.'),
'product_uom_categ' : fields.many2one('product.uom.categ', 'Product UoM Category'), # Invisible field for product_uom domain
'product_uom': fields.many2one('product.uom', 'UoM', required=True, help = "Unit of Measure used to show the quantities of stock calculation." \
'product_uom_categ' : fields.many2one('product.uom.categ', 'Product Unit of Measure Category'), # Invisible field for product_uom domain
'product_uom': fields.many2one('product.uom', 'Unit of Measure', required=True, help = "Unit of Measure used to show the quantities of stock calculation." \
"You can use units from default category or from second category (UoS category)."),
'product_uos_categ': fields.many2one('product.uom.categ', 'Product UoM Category'), # Invisible field for product_uos domain
'product_uos_categ': fields.many2one('product.uom.categ', 'Product Unit of Measure Category'), # Invisible field for product_uos domain
# Field used in onchange_uom to check what uom was before change to recalculate quantities according to old uom (active_uom) and new uom.
'active_uom': fields.many2one('product.uom', string = "Active UoM"), # It works only in Forecast
'active_uom': fields.many2one('product.uom', string = "Active Unit of Measure"), # It works only in Forecast
'planned_outgoing': fields.float('Planned Out', required=True, \
help = 'Enter planned outgoing quantity from selected Warehouse during the selected Period of selected Product. '\
'To plan this value look at Confirmed Out or Sales Forecasts. This value should be equal or greater than Confirmed Out.'),

View File

@ -204,7 +204,7 @@
<filter string="Warehouse " icon="terp-go-home" domain="[]" context="{'group_by':'warehouse_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter string='Default UOM' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
</group>
</search>
</field>