Kirti Savalia(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-bug-798890-ksa into
lp:openobject-addons.
Requested reviews:
Rucha (Open ERP) (rpa-openerp)
Related bugs:
Bug #798890 in OpenERP Addons: "[trunk][procurement] MRP Scheduler 'looping'
on confirmed procurement past scheduled date"
https://bugs.launchpad.net/openobject-addons/+bug/798890
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-798890-ksa/+merge/82678
use for loop instead of while loop.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-798890-ksa/+merge/82678
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-bug-798890-ksa.
=== modified file 'procurement/schedulers.py'
--- procurement/schedulers.py 2011-11-13 16:07:32 +0000
+++ procurement/schedulers.py 2011-11-18 13:07:34 +0000
@@ -61,7 +61,7 @@
procurement_obj = self.pool.get('procurement.order')
if not ids:
- ids = procurement_obj.search(cr, uid, [('state', '=', 'exception')], order="date_planned")
+ ids = procurement_obj.search(cr, uid, [], order="date_planned", context=context)
for id in ids:
wf_service.trg_validate(uid, 'procurement.order', id, 'button_restart', cr)
if use_new_cursor:
@@ -74,7 +74,8 @@
report_total = 0
report_except = 0
report_later = 0
- while True:
+ report_ids = []
+ for id in ids:
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_order')], offset=offset, limit=500, order='priority, date_planned', context=context)
for proc in procurement_obj.browse(cr, uid, ids, context=context):
if maxdate >= proc.date_planned:
@@ -91,14 +92,9 @@
report_total += 1
if use_new_cursor:
cr.commit()
- if not ids:
- break
- offset = 0
- ids = []
- while True:
- report_ids = []
+
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_stock')], offset=offset)
- for proc in procurement_obj.browse(cr, uid, ids):
+ for proc in procurement_obj.browse(cr, uid, ids, context=context):
if maxdate >= proc.date_planned:
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
report_ids.append(proc.id)
@@ -115,7 +111,6 @@
if use_new_cursor:
cr.commit()
offset += len(ids)
- if not ids: break
end_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
if uid:
request = self.pool.get('res.request')
_______________________________________________
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