如何在销售订单搜索菜单中删除默认过滤器并添加新过滤器(查看名称:sale.order.search.inherit.sale)

问题描述 投票:0回答:1

版本:odoo 10原始文件:(sale_views.xml)

<record id="sale_order_view_search_inherit_sale" model="ir.ui.view">
<field name="name">sale.order.search.inherit.sale</field>
<field name="model">sale.order</field>
<field name="mode">primary</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
    <xpath expr="//filter[@name='my_sale_orders_filter']"     position="after">
        <separator/>
        <filter string="Sales" name="sales" domain="[('state','in',('progress','done'))]" />
        <separator/>
        <filter string="To Invoice" domain="[('invoice_status','=','to invoice')]" />
        <filter string="Upselling" domain="[('invoice_status','=','upselling')]" />
    </xpath>
</field>

继承这些观点后我该怎么办?如何删除或隐藏所有默认过滤器。有问题替换过滤器字符串....我尝试就像这些

<xpath expr="//filter[@string='Upselling']" position="replace"/>

得到这样的错误,View继承可能不会使用属性'string'作为选择器。有解决方案吗?

提前致谢:)

xml odoo-10
1个回答
2
投票

尝试使用域的xpath。引发错误是因为xml节点中定义的字符串属性易于被转换,并且您的xpath应该针对多个lang中的相同字符串而且不受支持。

这样的事情应该有效:

<xpath expr="//filter[@domain='[(\'invoice_status\',\'=\',\'upselling\')]']" position="replace"/>

或者更简单:

<filter domain="[('invoice_status','=','upselling')]" position="replace"/>
© www.soinside.com 2019 - 2024. All rights reserved.