openerp域过滤链接对象的属性

时间:2013-02-28 11:46:06

标签: openerp

Q1。我想仅在PO的一个字段中列出属于具有特定值的PO的传入货件。例如。我有一个名为po_type的字段,带有选项,比如'A','B','C'等。

我想仅列出属于po_type ='A'的PO的传入货件。

在这种情况下,域名过滤器会是什么样子?

编辑:找到了该方法。它是('purchase_id.po_type','=','A')。

Q2。我继承了purchase_order_line并为其添加了几列。我已使用xpath将这些列添加到purchase_order表单中的order_line网格。

我现在想根据其父级中的po_type值将其不可见属性设置为true。当我使用标准方式时,

 attrs="{'invisible':[('po_type','=','A')]}" 

无法找到po_type,因为它显然不是订单项属性,而是属于其父级。

如何根据父级的列值使列不可见?

编辑:一些代码:

    <record id="purchase_order_A_form" model="ir.ui.view">
        <field name="name">purchase_order_A_form</field>
        <field name="model">purchase.order</field>
        <field name="type">form</field>
        <field name="inherit_id" ref="purchase.purchase_order_form" />
        <field name="arch" type="xml">
                <xpath expr="//field[@name='order_line']/tree//field[@name='name']" position="after">
                    <field name="my_brand" attrs="{'invisible':[('parent.po_type','!=','A')]}"/>
               </xpath>
               <field name="pricelist_id" select="2" position="after">
                    <field name="po_type"/>
                </field>                   
        </field>
    </record>   

由于

2 个答案:

答案 0 :(得分:0)

我认为它现在不在开幕式。

attrs="{'invisible':[('parent.po_type','=','A')]}" 

此致

答案 1 :(得分:0)

您可以在采购订单行中提供采购订单的po_type相关字段。然后将此字段添加为不可见并将属性指定为

  

ATTRS = “{ '看不见的':[( 'po_type',=, 'A')]}”

但是你需要使用product_id的onchange来改变行中po_type的值,或者你必须使用默认的get来自动加载行中po_type的值,因为相关字段中的数据只会在加载时加载你保存记录。