This question has been flagged

How can I manage booking payment of my invoice ?

Client Traceback (most recent call last): File "/opt/openerp/openerp7/openerp-web/addons/web/http.py", line 204, in dispatch response["result"] = method(self, *self.params) File "/opt/openerp/openerp7/openerp-web/addons/web/controllers/main.py", line 1129, in call_button action = self._call_kw(req, model, method, args, {}) File "/opt/openerp/openerp7/openerp-web/addons/web/controllers/main.py", line 1117, in _call_kw return getattr(req.session.model(model), method)(args, **kwargs) File "/opt/openerp/openerp7/openerp-web/addons/web/session.py", line 42, in proxy result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw) File "/opt/openerp/openerp7/openerp-web/addons/web/session.py", line 30, in proxy_method result = self.session.send(self.service_name, method, *args) File "/opt/openerp/openerp7/openerp-web/addons/web/session.py", line 103, in send raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

Server Traceback (most recent call last): File "/opt/openerp/openerp7/openerp-web/addons/web/session.py", line 89, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/opt/openerp/openerp7/openerp-server/openerp/netsvc.py", line 292, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/opt/openerp/openerp7/openerp-server/openerp/service/web_services.py", line 626, in dispatch res = fn(db, uid, params) File "/opt/openerp/openerp7/openerp-server/openerp/osv/osv.py", line 190, in execute_kw return self.execute(db, uid, obj, method, *args, *kw or {}) File "/opt/openerp/openerp7/openerp-server/openerp/osv/osv.py", line 132, in wrapper return f(self, dbname, args, *kwargs) File "/opt/openerp/openerp7/openerp-server/openerp/osv/osv.py", line 199, in execute res = self.execute_cr(cr, uid, obj, method, args, *kw) File "/opt/openerp/openerp7/openerp-server/openerp/osv/osv.py", line 187, in execute_cr return getattr(object, method)(cr, uid, args, *kw) File "/opt/openerp/openerp7/openerp-addons/account_voucher/account_voucher.py", line 932, in button_proforma_voucher wf_service.trg_validate(uid, 'account.voucher', vid, 'proforma_voucher', cr) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_service.py", line 119, in trg_validate res2 = instance.validate(cr, id, ident, signal) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/instance.py", line 43, in validate workitem.process(cr, witem, ident, signal, force_running, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 60, in process ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 175, in _split_test _join_test(cr, t[0], t[1], ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 183, in _join_test create(cr,[activity], inst_id, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 40, in create process(cr, res, ident, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 52, in process result = _execute(cr, workitem, activity, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 106, in _execute returned_action = wkf_expr.execute(cr, ident, workitem, activity) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_expr.py", line 67, in execute return _eval_expr(cr, ident, workitem, activity['action']) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr ret = eval(line, env, nocopy=True) File "/opt/openerp/openerp7/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/openerp7/openerp-server/openerp/osv/orm.py", line 377, in function_proxy return attr(self._cr, self._uid, [self._id], args, *kwargs) File "/opt/openerp/openerp7/openerp-addons/account_voucher/account_voucher.py", line 936, in proforma_voucher self.action_move_line_create(cr, uid, ids, context=context) File "/opt/openerp/openerp7/openerp-addons/account_voucher/account_voucher.py", line 1424, in action_move_line_create reconcile = move_line_pool.reconcile_partial(cr, uid, rec_ids, writeoff_acc_id=voucher.writeoff_acc_id.id, writeoff_period_id=voucher.period_id.id, writeoff_journal_id=voucher.journal_id.id) File "/opt/openerp/openerp7/openerp-addons/account/account_move_line.py", line 801, in reconcile_partial res = self.reconcile(cr, uid, merges+unmerge, context=context, writeoff_acc_id=writeoff_acc_id, writeoff_period_id=writeoff_period_id, writeoff_journal_id=writeoff_journal_id) File "/opt/openerp/openerp7/openerp-addons/account/account_move_line.py", line 942, in reconcile wf_service.trg_trigger(uid, 'account.move.line', id, cr) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_service.py", line 73, in trg_trigger instance.update(cr, instance_id, ident) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/instance.py", line 52, in update workitem.process(cr, witem, ident, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 60, in process ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 175, in _split_test _join_test(cr, t[0], t[1], ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 183, in _join_test create(cr,[activity], inst_id, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 40, in create process(cr, res, ident, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 52, in process result = _execute(cr, workitem, activity, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 144, in _execute instance.validate(cr, t[0], t[1], t[2], force_running=True) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/instance.py", line 43, in validate workitem.process(cr, witem, ident, signal, force_running, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 60, in process ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 175, in _split_test _join_test(cr, t[0], t[1], ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 183, in _join_test create(cr,[activity], inst_id, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 40, in create process(cr, res, ident, stack=stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 52, in process result = _execute(cr, workitem, activity, ident, stack) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/workitem.py", line 106, in _execute returned_action = wkf_expr.execute(cr, ident, workitem, activity) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_expr.py", line 67, in execute return _eval_expr(cr, ident, workitem, activity['action']) File "/opt/openerp/openerp7/openerp-server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr ret = eval(line, env, nocopy=True) File "/opt/openerp/openerp7/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/openerp7/openerp-server/openerp/osv/orm.py", line 377, in function_proxy return attr(self._cr, self._uid, [self._id], args, *kwargs) File "/opt/openerp/openerp7/openerp-addons/sale/sale.py", line 553, in action_invoice_end if this.state == 'invoice_except': File "/opt/openerp/openerp7/openerp-server/openerp/osv/orm.py", line 499, in __getattr__ raise AttributeError(e) AttributeError: 'Field state not found in browse_record(sale.order, 13)'

Avatar
Discard
Author

I helped myself and I hope, everything is allright now. I deleted destroyed records for this invoice from account.invoice, account.invoice.line, account.voucher and account.voucher.line, then reset invoice number sequence to the one of the invoice deleted, then regenerated the invoice and finally, I could book the payment for it. I know, deleting records directly from database without knowing all models very well, can be fatal, but in this case, I had no other choice. For everybody who knows OpenERP data models very well - did I do everything in the right way or did I forget anything?