Ila Rana(Open ERP) has proposed merging
lp:~openerp-dev/openobject-addons/6.0-bug-812931-ira into
lp:openobject-addons/6.0.
Requested reviews:
OpenERP Core Team (openerp)
Related bugs:
Bug #812931 in OpenERP Addons: "new delivery order with sales order manually
completed does not count for delivery state of the sales order"
https://bugs.launchpad.net/openobject-addons/+bug/812931
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-bug-812931-ira/+merge/70009
Hello,
Sale,Stock: Improved picked_rate function to make able it while validation of
picking created manually and set sale order as a False while duplication of
picking.
Thanks,
Ila Rana.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-bug-812931-ira/+merge/70009
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/6.0-bug-812931-ira.
=== modified file 'sale/sale.py'
--- sale/sale.py 2011-07-07 10:50:50 +0000
+++ sale/sale.py 2011-08-01 13:39:52 +0000
@@ -95,7 +95,7 @@
for id in ids:
res[id] = [0.0, 0.0]
cr.execute('''SELECT
- p.sale_id, sum(m.product_qty), mp.state as mp_state
+ p.sale_id, sum(m.product_qty), mp.state as mp_state,m.state as move_state, p.type as picking_type
FROM
stock_move m
LEFT JOIN
@@ -103,15 +103,20 @@
LEFT JOIN
procurement_order mp on (mp.move_id=m.id)
WHERE
- p.sale_id IN %s GROUP BY mp.state, p.sale_id''', (tuple(ids),))
- for oid, nbr, mp_state in cr.fetchall():
- if mp_state == 'cancel':
- continue
- if mp_state == 'done':
- res[oid][0] += nbr or 0.0
- res[oid][1] += nbr or 0.0
+ p.sale_id IN %s GROUP BY m.state,mp.state, p.sale_id,p.type''', (tuple(ids),))
+
+ for oid, nbr, mp_state,move_state, picking_type in cr.fetchall():
+
+ if picking_type == 'in':#this is a returned picking
+ res[oid][0] -= nbr or 0.0 # Deducting the return picking qty
else:
- res[oid][1] += nbr or 0.0
+ if mp_state == 'cancel':
+ continue
+ if mp_state == 'done' or move_state == 'done':
+ res[oid][0] += nbr or 0.0
+ res[oid][1] += nbr or 0.0
+ else:
+ res[oid][1] += nbr or 0.0
for r in res:
if not res[r][1]:
res[r] = 0.0
=== modified file 'sale/stock_view.xml'
--- sale/stock_view.xml 2011-01-14 00:11:01 +0000
+++ sale/stock_view.xml 2011-08-01 13:39:52 +0000
@@ -58,7 +58,7 @@
<field name="inherit_id" ref="stock.view_picking_out_form"/>
<field name="arch" type="xml">
<field name="move_type" position="after">
- <field name="sale_id"/>
+ <field name="sale_id" attrs="{'readonly':[('sale_id','=',False)]}"/>
</field>
</field>
</record>
=== modified file 'stock/stock.py'
--- stock/stock.py 2011-07-25 09:53:22 +0000
+++ stock/stock.py 2011-08-01 13:39:52 +0000
@@ -688,6 +688,7 @@
default['name'] = self.pool.get('ir.sequence').get(cr, uid, seq_obj_name)
default['origin'] = ''
default['backorder_id'] = False
+ default['sale_id'] = False
res = super(stock_picking, self).copy(cr, uid, id, default, context)
if res:
picking_obj = self.browse(cr, uid, res, context=context)
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp