← Back to team overview

c2c-oerpscenario team mailing list archive

[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