简体   繁体   English

尝试打开客户时出现Odoo 8错误

[英]Odoo 8 error when trying to open customer

I am using Odoo 8 on Ubuntu. 我在Ubuntu上使用Odoo 8。 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. 当我尝试打开它进行编辑时,出现Odoo Server错误... IndexError:列表索引超出范围。

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

在搜索currency_rate_id时,搜索功能得到一个空列表,并且您试图从空列表中选择第一个元素,这会导致错误

The solution is to add an exchange rate for the currency. 解决方案是为货币添加汇率。

1 - Settings->Companies 1-设置->公司
2 - Edit your commpany 2-编辑您的公司
3 - Modify the Currency update configuration 3-修改货币更新配置
4 - Add values for "Currencies to update" tab 4-为“要更新的货币”选项卡添加值

Image 1 图片1

图片1

Image 2 图片2

图片2

Image 3 图片3

图片3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM