默认分组由两个字段树视图 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>
字段列表中的顺序很重要。
我正在尝试在列表视图中设置默认分组依据。 如果我使用下面的行,它可以在一个字段上正常工作。
<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>
字段列表中的顺序很重要。