Openerp Odoo未知货币字段';货币id';

Openerp Odoo未知货币字段';货币id';,openerp,odoo-9,Openerp,Odoo 9,在Odoo9社区版中,我通过web界面添加了以下货币字段作为货币金额:res.partner.x_tablet_bail_amount 它工作正常,但当安装任何新模块时,我会出现以下错误,并且我的模块没有安装。 有什么帮助吗?谢谢 Odoo Server Error Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_e

在Odoo9社区版中,我通过web界面添加了以下货币字段作为货币金额:res.partner.x_tablet_bail_amount

它工作正常,但当安装任何新模块时,我会出现以下错误,并且我的模块没有安装。 有什么帮助吗?谢谢

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'

类型为
monetary
的字段使用其他字段执行一些操作,如在报表或客户端中打印货币符号。默认情况下,
currency\u id
用于该流程(),据我所知,
res.partner
上没有定义
currency\u id

因此,也许您应该将其定义或从另一个关系中将其作为相关字段获取?

从中,它似乎不是在
res.partner
上定义的任何
currency\u id
字段

但是,该字段确实是在上定义的,它与
res.partner
有多个一的关系。我认为
res.partner
不过是一种部分抽象的类,需要为Odoo中的每种类型的合作伙伴(包括公司)进行扩展(这里只是猜测)

所以奥多吐口水是对的

字段res.partner.x_tablet_bail_金额未知币种_字段 “货币id”

因为那块地不在那里,真的


您可以做的是,不要在
res.partner
上定义自定义字段
x\u tablet\u bail\u amount
,而是在
res.company
上定义它。这样,您的货币字段将能够解析正确的货币,而不是寻找不存在的货币。

谢谢。但是我仔细检查了一遍,在res.partner上定义了一个货币id。对不起,当然在
res.partner
上有一个字段
货币id
(借方和贷方需要)。好的,那么错误消息有点尴尬。我不知道怎么回事:-/但在UI(数据库结构)中搜索字段时,字段就在那里。我不知道odoo是如何工作的,但它是否可能是后来由一个模块添加的?这可以解释为什么它不在您指出的源代码中。此外,我的项目中只有一家公司,我需要为所有客户的自定义字段定义不同的值,所以我不知道如何通过在res.company上定义x_tablet_bail_alount来实现这一点。提醒:res.company是拥有odoo的公司的模型,而不是客户的模型(即使该客户的is_company=true)。