首页 > 解决方案 > Odoo 12 - 开发 res.config.settings 问题

问题描述

我需要帮助。我正在开发 odoo 版本 12 中的模块。我目前有与视图一起创建的模型。但是,常规选项面板视图不会加载而是被创建。

这是我的代码:

模型:

    # -*- coding: utf-8 -*-
from odoo import models, fields, api
#Campos adicionales en el formulario de contrato
class EmployeeFields(models.Model):
    _inherit = 'hr.contract'
    aport_asoc = fields.Float(string="Porcentaje de Aporte", digits=(2,2), default=0, help="Porcentaje del sueldo que aporta el asociado a la caja de ahorro")
#Campos para la seccion de configuracion
class BoxConfig(models.TransientModel):
    _inherit = 'res.config.settings'
    s_minimo = fields.Float(string="Sueldo Minimo", digits=(25,2), default=0, help="Sueldo minimo completo o monto general del cual se debita el porcentaje de aporte")
    emp_asoc = fields.Boolean(string="Empresa aporta igual que empleado", default=0, help="Marque esta opcion si la empresa aporta la misma cantidad que cada empleado")
    aport_general = fields.Float(string="Cantidad de aporte general", default=0, help="Asigna a Asociados y Empresa el mismo porcentaje de aporte para todos, dejar en 0 para que no tome ningun valor")
    aport_emp = fields.Float(string="Aporte Empresa", digits=(2,2), default=0, help="Porcentaje de aporte adicional que agrega la empresa")

看法:

<odoo>
    <data>

        <!-- Campo agregado al modelo de datos de contratos -->
        <record model="ir.ui.view" id="contract_fields_add">
            <field name="name">contract.fields.add</field>
            <field name="model">hr.contract</field>
            <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//group[@name='duration_group']" position="before">
                    <group name="box_account" string="Caja de Ahorro">
                        <field name="aport_asoc"/>
                    </group>
                </xpath>
            </field>
        </record>

        <record model="ir.ui.view" id="box_config_settings">
            <field name="name">box_config</field>
            <field name="model">res.config.settings</field>
            <field name="priority" eval="10"/>
            <field name="inherit_id" ref="base.res_config_settings_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//div[hasclass('settings')]" position="inside">
                    <div class="app_settings_block o_not_app" data_string="Caja de Ahorro" string="Caja de Ahorro" data_key="box">
                        <h2>Configuracion Caja de Ahorro</h2>
                        <div class="row mt16 o_settings_container">
                            <div class="col-12 col-lg-6 o_setting_box">
                                <div class="o_setting_left_pane">
                                    <field name="s_minimo"/>
                                </div>
                            </div>
                        </div>
                    </div>
                </xpath>
            </field>
        </record>
    </data>
    <record id="action_box_config_settings" model="ir.actions.act_window">
        <field name="name">Settings</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.config.settings</field>
        <field name="view_id" ref="box_config_settings"/>
        <field name="view_mode">form</field>
        <field name="target">inline</field>
        <field name="context">{'module' : box}</field>
    </record>

</odoo>

当您更新模块时,它不会引发错误,但是当我进入常规设置屏幕时,我在列表中看不到它。

在开发人员模式下,在继承视图中查看 res.config.settings 模型的表单视图,我发现我的模型存在。但是,表格不可见

我已经尝试了几种解决方案,到目前为止,创建我的观点的那个是最接近正确的那个。请告诉我我做错了什么,或者我需要什么才能使视图出现在配置部分。

标签: pythonxmlodooodoo-12

解决方案


尝试这个 :

<record id="box_config_settings" model="ir.ui.view">
    <field name="name">res.config.settings.view.box_config</field>
    <field name="model">res.config.settings</field>
    <field name="priority" eval="25" />
    <field name="inherit_id" ref="sale.res_config_settings_view_form" />
        <field name="arch" type="xml">
            <xpath expr="//div[@id='sale_config_online_confirmation_sign']"
                position="before">
            <div class="col-xs-12 col-md-6 o_setting_box">
                    <div class="o_setting_left_pane">
                        <field name="s_minimo" />
                    </div>
                    <div class="o_setting_right_pane">
                        <label for="s_minimo" />
                    </div>
                </div>
        </xpath>
    </field>
</record>

注意:此视图将在常规设置的销售部分中继承


推荐阅读