[MERGE] delivery: net-weight computation contributed by Akretion
(Minor whitespace and cleanup by Olivier Dony) bzr revid: odo@openerp.com-20100906151325-026f82ynl6ldclzh
This commit is contained in:
commit
2b0785bbd6
|
@ -144,6 +144,7 @@
|
|||
<field name="carrier_tracking_ref" groups="base.group_extended"/>
|
||||
<field name="number_of_packages" groups="base.group_extended"/>
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -156,6 +157,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="type" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -168,6 +170,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="type" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -183,6 +186,7 @@
|
|||
<field name="carrier_tracking_ref" groups="base.group_extended"/>
|
||||
<field name="number_of_packages" groups="base.group_extended"/>
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -207,6 +211,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -219,6 +224,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -231,6 +237,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -243,6 +250,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/field[@name='move_lines']/tree/field[@name='product_uom']" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -255,6 +263,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="product_uom" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -267,6 +276,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<field name="product_uom" position="after">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -32,10 +32,16 @@ class stock_picking(osv.osv):
|
|||
res = {}
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
for picking in self.browse(cr, uid, ids, context):
|
||||
total_weight = 0.00
|
||||
total_weight = total_weight_net = 0.00
|
||||
|
||||
for move in picking.move_lines:
|
||||
total_weight += move.weight
|
||||
res[picking.id] = total_weight
|
||||
total_weight_net += move.weight_net
|
||||
|
||||
res[picking.id] = {
|
||||
'weight': total_weight,
|
||||
'weight_net': total_weight_net,
|
||||
}
|
||||
return res
|
||||
|
||||
|
||||
|
@ -48,7 +54,12 @@ class stock_picking(osv.osv):
|
|||
_columns = {
|
||||
'carrier_id':fields.many2one("delivery.carrier","Carrier"),
|
||||
'volume': fields.float('Volume'),
|
||||
'weight': fields.function(_cal_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'),
|
||||
'weight': fields.function(_cal_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight',
|
||||
store={
|
||||
'stock.picking': (lambda self, cr, uid, ids, c={}: ids, ['move_lines'], 20),
|
||||
'stock.move': (_get_picking_line, ['product_id','product_qty','product_uom','product_uos_qty'], 20),
|
||||
}),
|
||||
'weight_net': fields.function(_cal_weight, method=True, type='float', string='Net Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_weight',
|
||||
store={
|
||||
'stock.picking': (lambda self, cr, uid, ids, c={}: ids, ['move_lines'], 20),
|
||||
'stock.move': (_get_picking_line, ['product_id','product_qty','product_uom','product_uos_qty'], 20),
|
||||
|
@ -128,22 +139,34 @@ class stock_move(osv.osv):
|
|||
res = {}
|
||||
uom_obj = self.pool.get('product.uom')
|
||||
for move in self.browse(cr, uid, ids, context):
|
||||
weight = 0.00
|
||||
weight = weight_net = 0.00
|
||||
if move.product_id.weight > 0.00:
|
||||
converted_qty = move.product_qty
|
||||
|
||||
|
||||
if move.product_uom.id <> move.product_id.uom_id.id:
|
||||
converted_qty = uom_obj._compute_qty(cr, uid, move.product_uom.id, move.product_qty, move.product_id.uom_id.id)
|
||||
|
||||
weight = (converted_qty * move.product_id.weight)
|
||||
res[move.id] = weight
|
||||
|
||||
if move.product_id.weight_net > 0.00:
|
||||
weight_net = (converted_qty * move.product_id.weight_net)
|
||||
|
||||
res[move.id] = {
|
||||
'weight': weight,
|
||||
'weight_net': weight_net,
|
||||
}
|
||||
return res
|
||||
|
||||
|
||||
_columns = {
|
||||
'weight': fields.function(_cal_move_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'),
|
||||
'weight': fields.function(_cal_move_weight, method=True, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight',
|
||||
store={
|
||||
'stock.move': (lambda self, cr, uid, ids, c={}: ids, ['product_id', 'product_qty', 'product_uom'], 20),
|
||||
}),
|
||||
'weight_net': fields.function(_cal_move_weight, method=True, type='float', string='Net weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight',
|
||||
store={
|
||||
'stock.move': (lambda self, cr, uid, ids, c={}: ids, ['product_id', 'product_qty', 'product_uom'], 20),
|
||||
}),
|
||||
|
||||
}
|
||||
|
||||
stock_move()
|
||||
|
|
Loading…
Reference in New Issue