2013-05-14 02:44:59 |
David Arnold |
bug |
|
|
added bug |
2013-05-14 02:47:28 |
David Arnold |
description |
Apparently, if you try to process a voucher in a bank statement which does not have a partner set, there will be an error (see below). Creating a voucher without a partner is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
Apparently, if you try to process a voucher in a bank statement which does not have a partner set, there will be an error (see below). "Creating a voucher without a partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
|
2013-05-14 02:48:05 |
David Arnold |
description |
Apparently, if you try to process a voucher in a bank statement which does not have a partner set, there will be an error (see below). "Creating a voucher without a partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
Apparently, if you try to process a voucher in a bank statement which does not have a partner set, there will be an error (see below). "Creating-a-voucher-without-a-partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
|
2013-05-14 02:51:12 |
David Arnold |
bug task added |
|
account-banking |
|
2013-05-14 02:51:50 |
David Arnold |
affects |
openobject-addons |
openerp-account-voucher-group |
|
2013-05-14 02:53:48 |
David Arnold |
description |
Apparently, if you try to process a voucher in a bank statement which does not have a partner set, there will be an error (see below). "Creating-a-voucher-without-a-partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
Apparently, if you try to process a voucher that was imported in a bank statement reconciliation which does not have a partner set, there will be an error (see below). "Creating-a-voucher-without-a-partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
|
2013-05-14 02:55:10 |
David Arnold |
description |
Apparently, if you try to process a voucher that was imported in a bank statement reconciliation which does not have a partner set, there will be an error (see below). "Creating-a-voucher-without-a-partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
Apparently, if you try to process a voucher that was imported in a bank statement reconciliation which does not have a partner set, there will be an error (see below). "Creating-a-voucher-without-a-partner" is not blocked in the voucher module, though. Maybe a partner could just be made mandatory, also in the GUI.
Reproduction: (please can anyone outside my system confirm?)
1. create a voucher without a partner
2. import it to the bank statment
3. validate the bank statment
openerp 7.0 - all up to date
Client Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1083, in call_button
action = self._call_kw(req, model, method, args, {})
File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw
return getattr(req.session.model(model), method)(*args, **kwargs)
File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy
result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw)
File "/opt/openerp/server/openerp/addons/web/session.py", line 31, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/opt/openerp/server/openerp/addons/web/session.py", line 104, in send
raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last):
File "/opt/openerp/server/openerp/addons/web/session.py", line 90, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/opt/openerp/server/openerp/netsvc.py", line 295, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/opt/openerp/server/openerp/service/web_services.py", line 614, in dispatch
res = fn(db, uid, *params)
File "/opt/openerp/server/openerp/osv/osv.py", line 169, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1497, in button_confirm_bank
return super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account/account_bank_statement.py", line 427, in button_confirm_bank
self.create_move_from_st_line(cr, uid, st_line.id, company_currency_id, st_line_number, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1519, in create_move_from_st_line
wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
process(cr, res, ident, stack=stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
returned_action = wkf_expr.execute(cr, ident, workitem, activity)
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
ret = eval(line, env, nocopy=True)
File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, 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/openerp/osv/orm.py", line 374, in function_proxy
return attr(self._cr, self._uid, [self._id], *args, **kwargs)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 830, in proforma_voucher
self.action_move_line_create(cr, uid, ids, context=context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1303, in action_move_line_create
ml_writeoff = self.writeoff_move_line_get(cr, uid, voucher.id, line_total, move_id, name, company_currency, current_currency, context)
File "/opt/openerp/server/openerp/addons/account_voucher/account_voucher.py", line 1230, in writeoff_move_line_get
account_id = voucher_brw.partner_id.property_account_payable.id
AttributeError: 'NoneType' object has no attribute 'id' |
|
2013-05-14 07:23:42 |
Stefan Rijnhart (Opener) |
affects |
account-banking |
openobject-addons |
|
2013-05-17 07:08:07 |
Amit Bhavsar (Open ERP) |
openobject-addons: status |
New |
Incomplete |
|
2013-05-17 12:30:42 |
David Arnold |
attachment added |
|
image.png https://bugs.launchpad.net/bugs/1179762/+attachment/3679287/+files/image.png |
|
2013-05-17 12:30:42 |
David Arnold |
attachment added |
|
image.png https://bugs.launchpad.net/bugs/1179762/+attachment/3679288/+files/image.png |
|
2013-05-20 06:07:25 |
Amit Bhavsar (Open ERP) |
summary |
bank reconciliation error with voucher without partner |
[Trunk] bank reconciliation error with voucher without partner |
|
2013-05-20 06:14:09 |
Amit Bhavsar (Open ERP) |
attachment added |
|
Step for Reproduce https://bugs.launchpad.net/openobject-addons/+bug/1179762/+attachment/3681672/+files/bank%20reconciliation%20error.ogv |
|
2013-05-20 06:14:29 |
Amit Bhavsar (Open ERP) |
openobject-addons: status |
Incomplete |
Confirmed |
|
2013-05-20 06:14:34 |
Amit Bhavsar (Open ERP) |
openobject-addons: importance |
Undecided |
Medium |
|
2013-05-20 06:14:48 |
Amit Bhavsar (Open ERP) |
openobject-addons: assignee |
|
OpenERP R&D Addons Team 3 (openerp-dev-addons3) |
|
2013-06-10 10:38:07 |
Launchpad Janitor |
branch linked |
|
lp:~openerp-dev/openobject-addons/trunk-bug-1179762-ishwar |
|
2013-06-10 13:10:22 |
Ishwar Malvi(OpenERP) |
openobject-addons: status |
Confirmed |
In Progress |
|
2013-06-10 13:12:22 |
Ishwar Malvi(OpenERP) |
openobject-addons: status |
In Progress |
Opinion |
|
2013-06-10 13:12:27 |
Ishwar Malvi(OpenERP) |
openobject-addons: status |
Opinion |
Fix Committed |
|