Odoo unknown currency_field 'currency_id' - odoo

In Odoo 9 community version, I added the following monetary field as a monetary amount via the web interface: res.partner.x_tablet_bail_amount.
It's working fine, but when installing any new module I get the following error and my module does not install.
Any help? thanks!
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 998, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 986, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 459, in button_immediate_install
return self._button_immediate_function(cr, uid, ids, self.button_install, context=context)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/addons/base/module/module.py", line 533, in _button_immediate_function
registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 385, in new
openerp.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python2.7/dist-packages/openerp/modules/loading.py", line 283, in load_modules
registry.setup_models(cr, partial=True)
File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 199, in setup_models
model._setup_fields(cr, SUPERUSER_ID)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
return old_api(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 342, in old_api
result = method(recs, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/openerp/models.py", line 3044, in _setup_fields
field.setup_full(self)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 476, in setup_full
self._setup_regular_full(model)
File "/usr/lib/python2.7/dist-packages/openerp/fields.py", line 1131, in _setup_regular_full
"Field %s with unknown currency_field %r" % (self, self.currency_field)
AssertionError: Field res.partner.x_tablet_bail_amount with unknown currency_field 'currency_id'

Fields of type monetary are using other fields to do some stuff like printing currency symbols in reports or the client. Per default currency_id is used (Odoo Code) for that process, and as far as i know there is no currency_id defined on res.partner.
So maybe you should define it or get it as related field from another relation?

From the source code it does not seem to be any currency_id field defined on res.partner.
However the field is indeed defined on res.company, which has a Many2One relationship with res.partner. I suppose res.partner is nothing but a kind of partially abstract class that needs to be extended for every type of partner within Odoo, including companies (only guessing here).
So Odoo is right when it spits
Field res.partner.x_tablet_bail_amount with unknown currency_field
'currency_id'
because the field is not there, really.
What you could do is, instead of defining your custom field x_tablet_bail_amount on res.partner, define it on res.company. That way your monetary field will be able to resolve the right currency instead of looking for something that does not exist.

'currency_id' field is added to 'res.partner' model in the 'account' mudule, so you have to add 'account' to the list of dependencies in the manifest and then the monetary field would work fine.

Related

How to update a register other than the one that triggers a compute function

I want to get the product binding and show it in a view (this works). If it has no binding I have to check if that product is part of a bill of materials and if it is, I have to look for the binding of the parent and show that binding (this is what doesn't work, it doesn't give error but it doesn't assign the value of the parent to the child).
class ProductProduct(models.Model):
_inherit = 'product.product'
main_endado_bind = fields.Char(
string='Main Endado Bind',
store=True,
compute='_get_endado_bind'
)
#api.multi
#api.depends('endado_bind_ids', 'bom_ids.bom_line_ids')
def _get_endado_bind(self, external_id=''):
for product in self:
if product.endado_bind_ids:
parent_external_id = product.endado_bind_ids[0].external_id
product.main_endado_bind = parent_external_id
for line_product in product.bom_ids.bom_line_ids:
line_product.product_id._get_endado_bind(external_id=parent_external_id)
elif external_id:
product.main_endado_bind = external_id
When modifying a BOM I want to assign the binding id of the parent to the new material but it is the parent that triggers the compute as it is its BOM that is modified.
If instead of the last line I use a write I get this error:
Error:
Odoo Server Error
Traceback (most recent call last):
File "/mnt/environment/odoo-server/odoo/fields.py", line 967, in __get__
value = record.env.cache.get(record, self)
File "/mnt/environment/odoo-server/odoo/api.py", line 1041, in get
value = self._data[key][field][record._ids[0]]
KeyError: 79
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/mnt/environment/odoo-server/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/mnt/environment/odoo-server/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/mnt/environment/odoo-server/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/mnt/environment/odoo-server/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/mnt/environment/odoo-server/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/mnt/environment/odoo-server/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/mnt/environment/odoo-server/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/mnt/environment/odoo-server/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/mnt/environment/odoo-server/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/mnt/develop/odoo-server/addons/web/controllers/main.py", line 935, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/mnt/develop/odoo-server/addons/web/controllers/main.py", line 927, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/mnt/environment/odoo-server/odoo/api.py", line 756, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/mnt/environment/odoo-server/odoo/api.py", line 743, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/mnt/develop/odoo-server/addons/mail/models/mail_thread.py", line 283, in write
result = super(MailThread, self).write(values)
File "/mnt/environment/connector/component_event/models/base.py", line 102, in write
result = super(Base, self).write(vals)
File "/mnt/environment/odoo-server/odoo/models.py", line 3208, in write
self._write(store_vals)
File "/mnt/environment/odoo-server/odoo/models.py", line 3430, in _write
self.recompute()
File "/mnt/environment/odoo-server/odoo/models.py", line 5096, in recompute
vals = {n: rec[n] for n in ns}
File "/mnt/environment/odoo-server/odoo/models.py", line 5096, in
vals = {n: rec[n] for n in ns}
File "/mnt/environment/odoo-server/odoo/models.py", line 4944, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/mnt/environment/odoo-server/odoo/fields.py", line 974, in __get__
value = record.env.cache.get(record, self)
File "/mnt/environment/odoo-server/odoo/api.py", line 1041, in get
value = self._data[key][field][record._ids[0]]
KeyError: 79
The KeyError: 79 is the id of the bom line.
Any idea? Thanks!
Here are some ideas about your error.
main_endado_bind has been declared with char data type. So it always stores char values.
According to your code, it seems parent_external_id has integer value. And you are assigning integer values to char data type fields. So it doesn't work.
To resolve this issue, we have to explicitly type cast into char. For example,
product.main_endado_bind = str(parent_external_id)

odoo IndexError: list index out of range

Any ideas on the following odoo error? I Installed the Accounting module and instead of modifying the default Sales and Purchase Taxes entries ODOO created, made my own and deleted theirs. This error started happening when I try accessing different parts of the accounting module. I could try to reinstall the module but have had bad experiences with that.
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 646, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 683, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 319, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 312, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 962, in __call__
return self.method(*args, **kw)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/http.py", line 512, in response_wrap
response = f(*args, **kw)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/addons/web/controllers/main.py", line 897, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/addons/web/controllers/main.py", line 889, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/api.py", line 381, in old_api
result = method(recs, *args, **kwargs)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/models.py", line 6054, in onchange
record._onchange_eval(name, field_onchange[name], result)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/models.py", line 5911, in _onchange_eval
method_res = method(self)
File "/opt/odoo-9.0.20160620-2/apps/odoo/lib/odoo-9.0rc20160620-py2.7.egg/openerp/addons/account/models/res_config.py", line 169, in onchange_company_id
self.default_sale_tax_id = isinstance(taxes_id, list) and taxes_id[0] or taxes_id
IndexError: list index out of range
This was a bug that was fixed on commit 1d843884e861252e395e0818b0fbf8aa074cd9d2.
Do a git pull on your branch to update your server files,restart the server and try again.
The problem is that in "res_config.py" you have a list you work with the first element is probably empty
To avoid this problem, you can use taxes_id[0] inside if taxes_id:

Odoo Server Error when try to access to accounting app

I'm using odoo 9 on my local debian jessie server. I installed without demo data, and installed basic apps (like accounting, sales, crm, others)
After installation and I configured odoo as non root user all was OK.
I was see the options available, and can access to accounting app but when I restarted my computer and start odoo server again and try to open accounting app I get the errors bellow.
Anyone know how can I resolve that?
Thanks!
Odoo Server Error
Traceback (most recent call last):
File "/home/user1/no_root/odoo-9/openerp/http.py", line 643, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/user1/no_root/odoo-9/openerp/http.py", line 680, in dispatch
result = self._call_function(**self.params)
File "/home/user1/no_root/odoo-9/openerp/http.py", line 316, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/service/model.py", line 118, in wrapper
return f(dbname, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/http.py", line 309, in checked_call
result = self.endpoint(*a, **kw)
File "/home/user1/no_root/odoo-9/openerp/http.py", line 959, in __call__
return self.method(*args, **kw)
File "/home/user1/no_root/odoo-9/openerp/http.py", line 509, in response_wrap
response = f(*args, **kw)
File "/home/user1/no_root/odoo-9/openerp/addons/web/controllers/main.py", line 892, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/web/controllers/main.py", line 884, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 354, in old_api
result = method(recs, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/web_planner/models/web_planner.py", line 45, in render
return self.env['ir.ui.view'].browse(template_id).render(values=values)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 248, in wrapper
return new_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 574, in new_api
result = method(self._model, cr, uid, self.ids, *args, **old_kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/web_editor/models/ir_ui_view.py", line 29, in render
return super(view, self).render(cr, uid, id_or_xml_id, values=values, engine=engine, context=context)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_ui_view.py", line 1070, in render
return self.pool[engine].render(cr, uid, id_or_xml_id, qcontext, loader=loader, context=context)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_qweb.py", line 252, in render
element = self.get_template(id_or_xml_id, qwebcontext)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_qweb.py", line 172, in get_template
document = qwebcontext.loader(name)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_ui_view.py", line 1068, in loader
return self.read_template(cr, uid, name, context=context)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_ui_view.py", line 943, in read_template
return self._read_template(cr, uid, view_id, context=context)
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "<string>", line 2, in _read_template
File "/home/user1/no_root/odoo-9/openerp/tools/cache.py", line 85, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_ui_view.py", line 928, in _read_template
arch = self.read_combined(cr, uid, view_id, fields=['arch'], context=context)['arch']
File "/home/user1/no_root/odoo-9/openerp/api.py", line 250, in wrapper
return old_api(self, *args, **kwargs)
File "/home/user1/no_root/odoo-9/openerp/addons/base/ir/ir_ui_view.py", line 640, in read_combined
view_arch = etree.fromstring(view['arch'].encode('utf-8'))
File "lxml.etree.pyx", line 3092, in lxml.etree.fromstring (src/lxml/lxml.etree.c:70691)
File "parser.pxi", line 1828, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:106689)
File "parser.pxi", line 1716, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:105478)
File "parser.pxi", line 1086, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:100105)
File "parser.pxi", line 580, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:94543)
File "parser.pxi", line 690, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:96003)
File "parser.pxi", line 620, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:95050)
XMLSyntaxError: Entity 'aacute' not defined, line 549, column 76
This is an error within the translations in the language you use.
Most likely, the mistakes have already been corrected. Then, all you have to do is:
Update your Odoo server, by installing the latest all-in-one package, or pulling the latest revision from the Odoo repository on Github,
Loading again the language, making sure to check Overwrite existing terms, in Settings -> Translations -> Load a translation.
Notice:
You currently have to be in debugger mode to see this checkbox
If you wrote custom translations, this can overwrite them
If this doesn't solve your issue, this is likely there are still mistakes within the translations of your language. You can then contact the Odoo support by email (online#odoo.com).

assign task to multiple users in odoo

in odoo (fromerly openERP) i want to customize Project management module.
currently a task can be assigned to a single user. model code is:
class task(osv.osv):
_name = "project.task"
_description = "Task"
'user_id': fields.many2one('res.users', 'Assigned to', select=True, track_visibility='onchange'),
Now want to assign a task to multiple users. and i have modified user_id field like this:
'user_id': fields.many2many('res.users', 'Assigned to', select=True, track_visibility='onchange'),
but it shows following traceback:
Traceback (most recent call last):
File "/home/hardik/odoo/odoo/openerp/http.py", line 537, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/hardik/odoo/odoo/openerp/http.py", line 574, in dispatch
result = self._call_function(**self.params)
File "/home/hardik/odoo/odoo/openerp/http.py", line 310, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/http.py", line 307, in checked_call
return self.endpoint(*a, **kw)
File "/home/hardik/odoo/odoo/openerp/http.py", line 803, in __call__
return self.method(*args, **kw)
File "/home/hardik/odoo/odoo/openerp/http.py", line 403, in response_wrap
response = f(*args, **kw)
File "/home/hardik/odoo/odoo/addons/web/controllers/main.py", line 884, in search_read
return self.do_search_read(model, fields, offset, limit, domain, sort)
File "/home/hardik/odoo/odoo/addons/web/controllers/main.py", line 905, in do_search_read
request.context)
File "/home/hardik/odoo/odoo/openerp/http.py", line 908, in proxy
result = meth(cr, request.uid, *args, **kw)
File "/home/hardik/odoo/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/models.py", line 5146, in search_read
result = self.read(cr, uid, record_ids, fields, context=read_ctx)
File "/home/hardik/odoo/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/models.py", line 3141, in read
result = BaseModel.read(records, fields, load=load)
File "/home/hardik/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/models.py", line 3176, in read
self._read_from_database(stored, inherited)
File "/home/hardik/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/models.py", line 3354, in _read_from_database
res2 = self._columns[f].get(cr, self._model, ids, f, user, context=context, values=result)
File "/home/hardik/odoo/odoo/openerp/osv/fields.py", line 1012, in get
cr.execute(query, [tuple(ids),] + where_params)
File "/home/hardik/odoo/odoo/openerp/sql_db.py", line 158, in wrapper
return f(self, *args, **kwargs)
File "/home/hardik/odoo/odoo/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
ProgrammingError: syntax error at or near "to"
LINE 1: SELECT Assigned to.res_users_id, Assigned to.project_task_id...
^
please guide me how to deal with this. thanks in advance
When we create many2many type field, than we must to give a name of relation table where in that table record will store. In below example 'task_user_rel' is a relational table.
You may try this code:
'user_ids': fields.many2many('res.users', 'task_user_rel', 'user_id', 'id', 'Assigned to', select=True, track_visibility='onchange'),
Now add new user_ids field in xml side and hide/invisible a exists user_id field.

Odoo 8 error when trying to open customer

I am using Odoo 8 on Ubuntu.
I have problem opening some customers (some are OK). When I try to open it for editing I get Odoo Server Error...IndexError: list index out of range.
Any idea what could cause this problem ? I tried to search for similar problems but I have not found any solution. So when I want to edit the client I have to create new one, I also tried to merge them after creating new one but the error reappears again.
thank you and here is complete traceback:
Odoo Server Error
Traceback (most recent call last):
File "/opt/odoo/odoo/openerp/http.py", line 530, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo/openerp/http.py", line 567, in dispatch
result = self._call_function(**self.params)
File "/opt/odoo/odoo/openerp/http.py", line 303, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/odoo/odoo/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/odoo/odoo/openerp/http.py", line 300, in checked_call
return self.endpoint(*a, **kw)
File "/opt/odoo/odoo/openerp/http.py", line 796, in __call__
return self.method(*args, **kw)
File "/opt/odoo/odoo/openerp/http.py", line 396, in response_wrap
response = f(*args, **kw)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 949, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/opt/odoo/odoo/addons/web/controllers/main.py", line 932, in _call_kw
records = getattr(request.session.model(model), method)(*args, **kwargs)
File "/opt/odoo/odoo/openerp/http.py", line 900, in proxy
result = meth(cr, request.uid, *args, **kw)
File "/opt/odoo/odoo/openerp/api.py", line 241, in wrapper
return old_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3109, in read
result = BaseModel.read(records, fields, load=load)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3141, in read
self._read_from_database(stored)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3305, in _read_from_database
res2 = self._columns[f].get(cr, self._model, ids, f, user, context=context, values=result)
File "/opt/odoo/odoo/openerp/osv/fields.py", line 1361, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/opt/odoo/odoo/addons/account/partner.py", line 246, in _invoice_total
result[partner.id] = sum(inv.user_currency_price_total for inv in invoices)
File "/opt/odoo/odoo/addons/account/partner.py", line 246, in <genexpr>
result[partner.id] = sum(inv.user_currency_price_total for inv in invoices)
File "/opt/odoo/odoo/openerp/fields.py", line 760, in __get__
self.determine_value(record)
File "/opt/odoo/odoo/openerp/fields.py", line 853, in determine_value
record._prefetch_field(self)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3196, in _prefetch_field
result = records.read(list(fnames), load='_classic_write')
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3141, in read
self._read_from_database(stored)
File "/opt/odoo/odoo/openerp/api.py", line 239, in wrapper
return new_api(self, *args, **kwargs)
File "/opt/odoo/odoo/openerp/models.py", line 3292, in _read_from_database
res2 = self._columns[fs[0]].get(cr, self._model, ids, fs, user, context=context, values=result)
File "/opt/odoo/odoo/openerp/osv/fields.py", line 1361, in get
result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
File "/opt/odoo/odoo/addons/account/report/account_invoice_report.py", line 40, in _compute_amounts_in_user_currency
currency_rate_id = currency_rate_obj.search(cr, uid, [('rate', '=', 1)], limit=1, context=context)[0]
IndexError: list index out of range
in the searching of currency_rate_id, the search function is getting an empty list and you are trying to select the first element from the empty list which causes the error
The solution is to add an exchange rate for the currency.
1 - Settings->Companies
2 - Edit your commpany
3 - Modify the Currency update configuration
4 - Add values for "Currencies to update" tab
Image 1
Image 2
Image 3