[IMP] Courtesy of kevin3274 issue 1258: orderpoint should have float multiple instead of integer
This commit is contained in:
parent
a8d667eeb7
commit
8502d3854c
|
@ -350,7 +350,7 @@ class procurement_order(osv.osv):
|
|||
if prods < op.product_min_qty:
|
||||
qty = max(op.product_min_qty, op.product_max_qty) - prods
|
||||
|
||||
reste = qty % op.qty_multiple
|
||||
reste = op.qty_multiple > 0 and qty % op.qty_multiple or 0.0
|
||||
if reste > 0:
|
||||
qty += op.qty_multiple - reste
|
||||
|
||||
|
|
|
@ -3991,13 +3991,16 @@ class stock_warehouse_orderpoint(osv.osv):
|
|||
'product_id': fields.many2one('product.product', 'Product', required=True, ondelete='cascade', domain=[('type', '=', 'product')]),
|
||||
'product_uom': fields.related('product_id', 'uom_id', type='many2one', relation='product.uom', string='Product Unit of Measure', readonly=True, required=True),
|
||||
'product_min_qty': fields.float('Minimum Quantity', required=True,
|
||||
digits_compute=dp.get_precision('Product Unit of Measure'),
|
||||
help="When the virtual stock goes below the Min Quantity specified for this field, Odoo generates "\
|
||||
"a procurement to bring the forecasted quantity to the Max Quantity."),
|
||||
'product_max_qty': fields.float('Maximum Quantity', required=True,
|
||||
digits_compute=dp.get_precision('Product Unit of Measure'),
|
||||
help="When the virtual stock goes below the Min Quantity, Odoo generates "\
|
||||
"a procurement to bring the forecasted quantity to the Quantity specified as Max Quantity."),
|
||||
'qty_multiple': fields.integer('Qty Multiple', required=True,
|
||||
help="The procurement quantity will be rounded up to this multiple."),
|
||||
'qty_multiple': fields.float('Qty Multiple', required=True,
|
||||
digits_compute=dp.get_precision('Product Unit of Measure'),
|
||||
help="The procurement quantity will be rounded up to this multiple. If it is 0, the exact quantity will be used. "),
|
||||
'procurement_ids': fields.one2many('procurement.order', 'orderpoint_id', 'Created Procurements'),
|
||||
'group_id': fields.many2one('procurement.group', 'Procurement Group', help="Moves created through this orderpoint will be put in this procurement group. If none is given, the moves generated by procurement rules will be grouped into one big picking.", copy=False),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
|
@ -4011,7 +4014,7 @@ class stock_warehouse_orderpoint(osv.osv):
|
|||
'company_id': lambda self, cr, uid, context: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.warehouse.orderpoint', context=context)
|
||||
}
|
||||
_sql_constraints = [
|
||||
('qty_multiple_check', 'CHECK( qty_multiple > 0 )', 'Qty Multiple must be greater than zero.'),
|
||||
('qty_multiple_check', 'CHECK( qty_multiple >= 0 )', 'Qty Multiple must be greater than or equal to zero.'),
|
||||
]
|
||||
_constraints = [
|
||||
(_check_product_uom, 'You have to select a product unit of measure in the same category than the default unit of measure of the product', ['product_id', 'product_uom']),
|
||||
|
|
Loading…
Reference in New Issue