默认分组由两个字段树视图 Odoo 10

Default Group By two fields tree view Odoo 10

我正在尝试在列表视图中设置默认分组依据。 如果我使用下面的行,它可以在一个字段上正常工作。

<field name="context">{'group_by':'sector_id'}</field>

但是我的要求是默认按两个级别分组,扇区和自然。所以我尝试了下面的代码但没有任何反应也没有错误。

操作:

<record id="program_activity_action_window_chairman" model="ir.actions.act_window">
    <field name="name">Activity</field>
    <field name="res_model">program.activity</field>
    <field name="view_ids" eval="[(5,0,0),(0,0,{'view_mode':'tree','view_id':ref('view_program_activity_tree')}),(0,0,{'view_mode':'form','view_id':ref('view_program_activity_form_chairman')})]"/>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form,graph</field>
    <field name="domain">[('state', 'in', ['chairman_approve','done'])]</field>
    <!--<field name="context">{'default_state': 'chairman_approve'}</field>-->
    <!--<field name="context">{'group_by':'sector_id'}</field>-->
    <field name="context">{'search_default_group_sector_id': 1,'search_default_group_nature': 1}</field>

    <field name="help" type="html">
        <p class="oe_view_nocontent_create">
            Create a new Program Activity.
        </p>
    </field>
</record>

树视图:

<record id="view_program_activity_tree" model="ir.ui.view">
    <field name="name">program.activity.tree</field>
    <field name="model">program.activity</field>
    <field name="arch" type="xml">

        <tree string="Program Activity" colors="green:type_id[1] == 'REVENUE'">
            <field name="department_id"/>
            <field name="sector_id"/>
            <field name="major_program_id"/>
            <field name="minor_program_id"/>
            <field name="name"/>
            <field name="code"/>
            <field name="type_id"/>
            <field name="weight_from_minor"/>
            <field name="total_planned" sum="Total Planned"/>
            <field name="total_actual" sum="Total Actual"/>
            <field name="total_diff_amount" sum="Total Difference Amount"/>
            <field name="total_diff_percentage" sum="Total Difference Percentage %"/>
        </tree>
    </field>
</record>

请帮助或任何建议非常感谢。谢谢

你的代码似乎没问题,你必须做的是将nature字段添加到树视图中,当然这两个字段都必须是树视图搜索视图中的过滤器view_program_activity_tree:

树视图

<field name="sector_id"/>
<field name="nature" invisible="1"/>

搜索视图

<filter string="Sector"
    name="group_sector_id"
    domain="[]"
    context="{'group_by':'sector_id'}"
    help="Grouping by sector"/>
<filter string="Nature"
    name="group_nature"
    domain="[]"
    context="{'group_by':'nature'}"
    help="Grouping by nature"/>

您的操作中没有search_view_id字段,因此继承并修改模型program.activity的默认搜索视图。如果它不存在,为其创建一个新的搜索视图并在操作中向其添加 link。

<field name="search_view_id" ref="your_search_view_xml_id"/>

如果你想在不使用搜索视图过滤器的情况下进行分组(forvas 方法),只需在上下文中进行多分组即可:

<field name="context">{'group_by':['sector_id', 'nature']}</field>

字段列表中的顺序很重要。