Seems that the account_anglo_saxon is broken with the latest openerp updates. :-(
Prerequisite:
Stock location must have GL-account
Product category must have stock_input, stock_output and price_diff GL-account
Product must have configured product-category
Reproduction steps:
1. Create a PO
2. Receive the goods in stock
3. Go to the invoice, change the product price, so a price-diff is there.
4. Accept the (changed) invoice. Error pop up.
(if there is no price-diff created on the invoice, everything works ok)
The error-message is:
++++++++++++++++++++++++++++++++++++++++++
Environment Information :
System : Linux-2.6.28-15-generic-i686-with-Ubuntu-9.04-jaunty
OS Name : posix
Distributor ID: Ubuntu
Description: Ubuntu 9.04
Release: 9.04
Codename: jaunty
Operating System Release : 2.6.28-15-generic
Operating System Version : #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009
Operating System Architecture : 32bit
Operating System Locale : en_US.UTF8
Python Version : 2.6.2
OpenERP-Client Version : 5.0.2
Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
File "/home/jverlaan/openerp/5_0_2/server/bin/netsvc.py", line 240, in dispatch
result = LocalService(service_name)(method, *params)
File "/home/jverlaan/openerp/5_0_2/server/bin/netsvc.py", line 73, in __call__
return getattr(self, method)(*params)
File "/home/jverlaan/openerp/5_0_2/server/bin/service/web_services.py", line 577, in exec_workflow
res = service.exec_workflow(db, uid, object, method, id)
File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 59, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 137, in exec_workflow
res = self.exec_workflow_cr(cr, uid, obj, method, *args)
File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 130, in exec_workflow_cr
return wf_service.trg_validate(uid, obj, args[0], method, cr)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_service.py", line 81, in trg_validate
res2 = instance.validate(cr, id, ident, signal)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/instance.py", line 49, in validate
workitem.process(cr, witem, ident, signal, force_running, stack=stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 62, in process
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 175, in _split_test
_join_test(cr, t[0], t[1], ident, stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 183, in _join_test
create(cr,[activity], inst_id, ident, stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 42, in create
process(cr, res, ident, stack=stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 54, in process
result = _execute(cr, workitem, activity, ident, stack)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 108, in _execute
wkf_expr.execute(cr, ident, workitem, activity)
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_expr.py", line 68, in execute
return _eval_expr(cr, ident, workitem, activity['action'])
File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_expr.py", line 58, in _eval_expr
ret = eval(line, env)
File "<string>", line 1, in <module>
File "/home/jverlaan/openerp/5_0_2/server/bin/osv/orm.py", line 168, in <lambda>
return lambda *args, **argv: getattr(self._table, name)(self._cr, self._uid, [self._id], *args, **argv)
File "/home/jverlaan/openerp/5_0_2/addons/account/invoice.py", line 500, in action_move_create
iml = self._get_analytic_lines(cr, uid, inv.id)
File "/home/jverlaan/openerp/5_0_2/addons/account/invoice.py", line 458, in _get_analytic_lines
iml = self.pool.get('account.invoice.line').move_line_get(cr, uid, inv.id)
File "/home/jverlaan/openerp/5_0_2/addons/account_anglo_saxon/invoice.py", line 106, in move_line_get
'taxes':line['taxes'],
KeyError: 'taxes'
++++++++++++++++++++++++++++++++++++++
Seems that the account_anglo_saxon is broken with the latest openerp updates. :-(
Prerequisite:
Stock location must have GL-account
Product category must have stock_input, stock_output and price_diff GL-account
Product must have configured product-category
Reproduction steps:
1. Create a PO
2. Receive the goods in stock
3. Go to the invoice, change the product price, so a price-diff is there.
4. Accept the (changed) invoice. Error pop up.
(if there is no price-diff created on the invoice, everything works ok)
The error-message is: +++++++ +++++++ +++++++ +++++++ +++++++ 6.28-15- generic- i686-with- Ubuntu- 9.04-jaunty jverlaan/ openerp/ 5_0_2/server/ bin/netsvc. py", line 240, in dispatch service_ name)(method, *params) jverlaan/ openerp/ 5_0_2/server/ bin/netsvc. py", line 73, in __call__ jverlaan/ openerp/ 5_0_2/server/ bin/service/ web_services. py", line 577, in exec_workflow exec_workflow( db, uid, object, method, id) jverlaan/ openerp/ 5_0_2/server/ bin/osv/ osv.py" , line 59, in wrapper jverlaan/ openerp/ 5_0_2/server/ bin/osv/ osv.py" , line 137, in exec_workflow workflow_ cr(cr, uid, obj, method, *args) jverlaan/ openerp/ 5_0_2/server/ bin/osv/ osv.py" , line 130, in exec_workflow_cr trg_validate( uid, obj, args[0], method, cr) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ wkf_service. py", line 81, in trg_validate validate( cr, id, ident, signal) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ instance. py", line 49, in validate process( cr, witem, ident, signal, force_running, stack=stack) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 62, in process 'split_ mode'], ident, signal, stack) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 175, in _split_test jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 183, in _join_test cr,[activity] , inst_id, ident, stack) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 42, in create jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 54, in process jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ workitem. py", line 108, in _execute expr.execute( cr, ident, workitem, activity) jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ wkf_expr. py", line 68, in execute jverlaan/ openerp/ 5_0_2/server/ bin/workflow/ wkf_expr. py", line 58, in _eval_expr jverlaan/ openerp/ 5_0_2/server/ bin/osv/ orm.py" , line 168, in <lambda> self._table, name)(self._cr, self._uid, [self._id], *args, **argv) jverlaan/ openerp/ 5_0_2/addons/ account/ invoice. py", line 500, in action_move_create analytic_ lines(cr, uid, inv.id) jverlaan/ openerp/ 5_0_2/addons/ account/ invoice. py", line 458, in _get_analytic_lines get('account. invoice. line'). move_line_ get(cr, uid, inv.id) jverlaan/ openerp/ 5_0_2/addons/ account_ anglo_saxon/ invoice. py", line 106, in move_line_get :line[' taxes'] , +++++++ +++++++ +++++++ +++++++ +++
+++++++
Environment Information :
System : Linux-2.
OS Name : posix
Distributor ID: Ubuntu
Description: Ubuntu 9.04
Release: 9.04
Codename: jaunty
Operating System Release : 2.6.28-15-generic
Operating System Version : #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009
Operating System Architecture : 32bit
Operating System Locale : en_US.UTF8
Python Version : 2.6.2
OpenERP-Client Version : 5.0.2
Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
File "/home/
result = LocalService(
File "/home/
return getattr(self, method)(*params)
File "/home/
res = service.
File "/home/
return f(self, dbname, *args, **kwargs)
File "/home/
res = self.exec_
File "/home/
return wf_service.
File "/home/
res2 = instance.
File "/home/
workitem.
File "/home/
ok = _split_test(cr, workitem, activity[
File "/home/
_join_test(cr, t[0], t[1], ident, stack)
File "/home/
create(
File "/home/
process(cr, res, ident, stack=stack)
File "/home/
result = _execute(cr, workitem, activity, ident, stack)
File "/home/
wkf_
File "/home/
return _eval_expr(cr, ident, workitem, activity['action'])
File "/home/
ret = eval(line, env)
File "<string>", line 1, in <module>
File "/home/
return lambda *args, **argv: getattr(
File "/home/
iml = self._get_
File "/home/
iml = self.pool.
File "/home/
'taxes'
KeyError: 'taxes'
+++++++