Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Odoo 14:在树状视图中添加剖面功能_Python_Xml_Odoo_Odoo 14 - Fatal编程技术网

Python Odoo 14:在树状视图中添加剖面功能

Python Odoo 14:在树状视图中添加剖面功能,python,xml,odoo,odoo-14,Python,Xml,Odoo,Odoo 14,我需要在我的一个树视图中添加一个部分功能,如sales>Quotence视图 我的视图的代码如下所示: <record id="view_qualification_form_inh" model="ir.ui.view"> <field name="name">hr.applicant.form</field> <field name="model">

我需要在我的一个树视图中添加一个部分功能,如sales>Quotence视图

我的视图的代码如下所示:

<record id="view_qualification_form_inh" model="ir.ui.view">
    <field name="name">hr.applicant.form</field>
    <field name="model">hr.applicant</field>
    <field name="inherit_id" ref="hr_recruitment.hr_applicant_view_form" />
    <field name="arch" type="xml">

        <xpath expr="//field[@name = 'description']" position="after">

            <notebook>
                <page string="Qualification">
                    <field name="qualification_lines">
                        <tree editable="bottom">
                            <control>
                                <create name="add_line_control" string="Add a line"/>
                                <create name="add_section_control" string="Add a section"
                                        context="{'default_display_type': 'line_section'}"/>
                            </control>
                            <field name="qualification_type_id"/>
                            <field name="qualification_type_line_id" domain="[('qualification_type_id','=',qualification_type_id)]"/>
                            <field name="score" />

                        </tree>
                    </field>
                    <group class="oe_subtotal_footer">
                        <field name="avg_score" class="oe_subtotal_footer_separator"/>
                    </group>
                </page>
            </notebook>
        </xpath>

    </field>
</record>
问题是,我得到了一个添加节选项,但它的工作原理与默认的“添加行”相同


我知道它与python代码有很多关系,甚至试图从sales的插件中获取它,但它的结构非常复杂。我是一名初学者,因此如果有人可以帮助我编写代码或至少为其编写步骤。

您需要将
资格认证行
小部件属性设置为
部分和\u注释\u one2many
,并在申请人资格认证模型中定义
显示类型
,而不是
申请人
模型,它将用于检查您是否需要添加部分(帮助:用于用户体验的技术字段)

在以下示例中,节文本将存储在
名称
字段中:

视图定义:


模型定义:


有一件事,名称列经常显示在树视图中,但它不应该显示。单击“添加节”后,应立即显示并保存该节。渲染器将检查是否存在,设置colspan,并返回它。因此,如果添加名为
name
的字段,将使用该字段设置节。您可以使用开发人员工具检查用于在销售订单中设置该部分的字段。
class HrApplicant(models.Model):
    _inherit = 'hr.applicant'

     qualification_lines = fields.One2many('hr.applicant.qualification', 'qualification_data',)
     avg_score = fields.Float(compute='compute_score_average',store=True,index=True, string='Average Score')

    display_type = fields.Selection([
    ('line_section', "Section"),
    ('line_note', "Note")], default=False, help="Technical field for UX purpose.")

class Qualification(models.Model):
     _name = 'hr.applicant.qualification'
     _description = 'Applicant Qualification'

     qualification_data = fields.Many2one('hr.applicant', string='Qualification')

     qualification_type_id = fields.Many2one('hr.applicant.qualification.rule', string='Qualification Type')
     qualification_type_line_id = fields.Many2one(related='qualification_type_id.qualification_type_line_id')
     score = fields.Float(related='qualification_type_line_id.score')
class Qualification(models.Model):
    _name = 'hr.applicant.qualification'
    _description = 'Applicant Qualification'

    name = fields.Char(required=True)
    display_type = fields.Selection([
        ('line_section', "Section"),
        ('line_note', "Note")], default=False, help="Technical field for UX purpose.")

    qualification_data = fields.Many2one('hr.applicant', string='Qualification')