Comment 70 for bug 388145

Revision history for this message
Jan Verlaan (jan-verlaan) wrote :

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'
++++++++++++++++++++++++++++++++++++++