c2c-oerpscenario team mailing list archive
-
c2c-oerpscenario team
-
Mailing list archive
-
Message #19496
[Bug 707287] Re: Manufacturing orders broken UOM
Move:264984, Prod:Glacier Pellet Hops -Per LB(5168)
Exception in thread Thread-27:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 484, in run
self.__target(*self.__args, **self.__kwargs)
File "/opt/openerp/addons/procurement/wizard/schedulers_all.py", line 49, in _procure_calculation_all
context=context)
File "/opt/openerp/addons/procurement/procurement.py", line 469, in run_scheduler
use_new_cursor=use_new_cursor, context=context)
File "/opt/openerp/addons/procurement/schedulers.py", line 218, in _procure_orderpoint_confirm
self.create_automatic_op(cr, uid, context=context)
File "/opt/openerp/addons/procurement/schedulers.py", line 188, in create_automatic_op
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
File "/opt/openerp/server/bin/workflow/wkf_service.py", line 80, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/bin/workflow/instance.py", line 48, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack) File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 53, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 126, in _execute
id_new = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 68, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 58, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/bin/tools/safe_eval.py", line 281, in safe_eval
return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/opt/openerp/server/bin/osv/orm.py", line 181, in <lambda>
return lambda *args, **argv: attr(self._cr, self._uid, [self._id], *args, **argv)
File "/opt/openerp/addons/mrp/procurement.py", line 68, in action_produce_assign_product
res = procurement_obj.make_mo(cr, uid, ids, context=context)
File "/opt/openerp/addons/mrp/procurement.py", line 105, in make_mo
wf_service.trg_validate(uid, 'mrp.production', produce_id, 'button_confirm', cr)
File "/opt/openerp/server/bin/workflow/wkf_service.py", line 80, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/bin/workflow/instance.py", line 48, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 53, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 126, in _execute
id_new = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 68, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 58, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/bin/tools/safe_eval.py", line 281, in safe_eval return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/opt/openerp/server/bin/osv/orm.py", line 181, in <lambda>
return lambda *args, **argv: attr(self._cr, self._uid, [self._id], *args, **argv)
File "/opt/openerp/addons/mrp/mrp.py", line 916, in action_confirm
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
File "/opt/openerp/server/bin/workflow/wkf_service.py", line 80, in trg_validate res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/bin/workflow/instance.py", line 48, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 174, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 182, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 41, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 61, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/bin/workflow/workitem.py", line 156, in _split_test
if wkf_expr.check(cr, workitem, ident, transition,signal):
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 81, in check
return _eval_expr(cr, ident, workitem, transition['condition'])
File "/opt/openerp/server/bin/workflow/wkf_expr.py", line 58, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/bin/tools/safe_eval.py", line 281, in safe_eval
return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
File "/opt/openerp/server/bin/osv/orm.py", line 181, in <lambda>
return lambda *args, **argv: attr(self._cr, self._uid, [self._id], *args, **argv)
File "/opt/openerp/addons/procurement/procurement.py", line 251, in check_make_to_stock
ok = ok and self._check_make_to_stock_product(cr, uid, procurement, context)
File "/opt/openerp/addons/procurement/procurement.py", line 367, in _check_make_to_stock_product
ok = ok and self.pool.get('stock.move').action_assign(cr, uid, [id])
File "/opt/openerp/addons/stock/stock.py", line 1874, in action_assign
res = self.check_assign(cr, uid, todo)
File "/opt/openerp/addons/stock/stock.py", line 1912, in check_assign res = self.pool.get('stock.location')._product_reserve(cr, uid, [move.location_id.id], move.product_id.id, move.product_qty, {'
uom': move.product_uom.id}, lock=True)
File "/opt/openerp/addons/stock/stock.py", line 443, in _product_reserve
amount = self.pool.get('product.uom')._compute_qty(cr, uid, r['product_uom'], r['product_qty'], context.get('uom', False))
File "/opt/openerp/addons/product/product.py", line 135, in _compute_qty
return self._compute_qty_obj(cr, uid, from_unit, qty, to_unit)
File "/opt/openerp/addons/product/product.py", line 142, in _compute_qty_obj raise osv.except_osv(_('Error !'), _('Conversion from Product UoM m to Default UoM PCE is not possible as they both belong to d
ifferent Category!.'))
except_osv: ('warning', 'Error !')
--
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/707287
Title:
Manufacturing orders broken UOM
Status in OpenERP Modules (addons):
New
Bug description:
We have around 5,000 products. We have custom UOM like ft, OZ and
Pound. On certain products we cannot make manufacturing orders with
this error
Conversion from Product UoM m to Default UoM PCE is not possible as
they both belong to different Category!.
It is extremely frustrating because it doesnt make sense. We do not
have a single product with UoM 'm'. The error only happens with
certain products, not in any specific instance except that mabe the
category UoM but not every item in that category. If we created new
products then we dont have the issue.
I discovered many of the products were having problems base on an
inventory we did with the stock_move table. Deleting entries fixed
many of the issues but we still have this problem and it makes no
sense to us.
References