python - 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 模型的表单视图,我发现我的模型存在。但是,表格不可见
我已经尝试了几种解决方案,到目前为止,创建我的观点的那个是最接近正确的那个。请告诉我我做错了什么,或者我需要什么才能使视图出现在配置部分。
解决方案
尝试这个 :
<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>
注意:此视图将在常规设置的销售部分中继承
推荐阅读
- docusignapi - GET 请求忽略 custom_field 并显示所有信封,我们如何过滤响应数据?
- c++ - 区分注释代码与有效注释
- google-drive-api - 在 GSuite Drive API v3 中使用委托凭证有什么变化吗?
- eclipse - Eclipse IDE 在 ctrl+shift+t 上冻结
- apache-camel - 当一个消费者崩溃时,ActiveMQ 多消费者停止消费
- google-directions-api - 为什么为相同的目的地返回不同的结束位置?
- python - 如何使用flask_login库上的current_user函数使用两种用户?
- python - 读取文件并使用 python 创建多维字典
- powerbi - 填写缺失日期 Power BI
- python - 根据条件更改列的符号