如何在 Odoo 的 CRM 线索视图中添加新字段?

问题描述 投票:0回答:1

我创建了一个新属性,当我查看原始记录数据时,它已经在调试模式下可见。

现在我正在尝试将此信息添加到主 crm 引导页面(后面)的某个位置。

为此,我创建了一个新的插件,其中

views/crm_lead_views.xml
如下:

<?xml version="1.0"?>
<odoo>
    <record id="crm_lead_view_form" model="ir.ui.view">
       <field name="name">crm.lead.view.form</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_form_view_leads"/>
        <field name="arch" type="xml">
            <xpath expr="//form/sheet/notebook/page[@name='internal_notes']" position="after">
                <page string="X App Type">
                    <group>
                        <field name="x_app_type"/>
                    </group>
                </page>
            </xpath>
        </field>
    </record>
</odoo>

我也尝试过另一种方法..

<odoo>
    <record id="view_crm_case_form_view_leads_custom" model="ir.ui.view">
        <field name="name">crm.lead.form.view.custom</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_form_view_leads" />
        <field name="arch" type="xml">
            <field name="phone" position="after">
                <field name="x_app_id"/>
            </field>
        </field>
    </record>
</odoo>

但是我在激活模块时总是遇到错误。 对于第一个示例,我收到以下错误:

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 99, in lookup
    r = d[key]
  File "<decorator-gen-5>", line 2, in __getitem__
  File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__
    a = self.d[obj]
KeyError: ('ir.model.data', <function IrModelData._xmlid_lookup at 0x7f6728902a70>, 'crm.crm_case_form_view_leads')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 556, in _tag_root
    f(rec)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 421, in _tag_record
    f_val = self.id_get(f_ref, raise_if_not_found=nodeattr2bool(rec, 'forcecreate', True))
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 538, in id_get
    res = self.model_id_get(id_str, raise_if_not_found)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 544, in model_id_get
    return self.env['ir.model.data']._xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 2189, in _xmlid_to_res_model_res_id
    return self._xmlid_lookup(xmlid)
  File "<decorator-gen-43>", line 2, in _xmlid_lookup
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 104, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_model.py", line 2182, in _xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: crm.crm_case_form_view_leads

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1765, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1792, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1996, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 722, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 28, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-83>", line 2, in button_immediate_upgrade
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 75, in check_and_log
    return method(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 657, in button_immediate_upgrade
    return self._button_immediate_function(self.env.registry[self._name].button_upgrade)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 590, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "<decorator-gen-16>", line 2, in new
  File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 113, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 476, in load_modules
    processed_modules += load_marked_modules(env, graph,
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 364, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 227, in load_module_graph
    load_data(env, idref, mode, kind='data', package=package)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 71, in load_data
    tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 627, in convert_file
    convert_xml_import(env, module, fp, idref, mode, noupdate)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 693, in convert_xml_import
    obj.parse(doc.getroot())
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 613, in parse
    self._tag_root(de)
  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 569, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /usr/lib/python3/dist-packages/odoo/addons/ricardomartins_customfields/views/crm_lead_views.xml:3, somewhere inside
<record id="crm_lead_view_form" model="ir.ui.view">
       <field name="name">crm.lead.view.form</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_form_view_leads"/>
        <field name="arch" type="xml">
            <xpath expr="//form/sheet/notebook/page[@name='internal_notes']" position="after">
                <page string="X App Type">
                    <group>
                        <field name="x_app_type"/>
                    </group>
                </page>
            </xpath>
        </field>
    </record>

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    RPCError@https://odoo.ricardomartins.net.br/web/assets/debug/web.assets_web.js:27764:9 (/web/static/src/core/network/rpc_service.js:11)
    makeErrorFromResponse@https://odoo.ricardomartins.net.br/web/assets/debug/web.assets_web.js:27790:19 (/web/static/src/core/network/rpc_service.js:37)
    jsonrpc/promise</<@https://odoo.ricardomartins.net.br/web/assets/debug/web.assets_web.js:27838:48 (/web/static/src/core/network/rpc_service.js:85)

我从未为 Odoo 创建过任何东西,只是想找到一种好方法来显示最近添加的字段。

如有任何帮助,我们将不胜感激。

odoo python-3.10 odoo-17
1个回答
0
投票

inherit_id 属性中,您必须添加要修改(扩展)的表单视图的外部 id

如果你想继承crm表单视图 添加这个:

        <field name="inherit_id" ref="crm.crm_lead_view_form" />
© www.soinside.com 2019 - 2024. All rights reserved.