基于行中的值在发票行中只读

时间:2013-01-03 15:11:27

标签: openerp

我在'account.invoice.line'中有一个'uneditable'字段。

如果uneditable为true,我想禁用编辑行记录但是应该允许创建enw行。

我的观看代码如下

<record model="ir.ui.view" id="invoice_supplier_form_ext">
        <field name="name">account.invoice.supplier.form</field>
        <field name="model">account.invoice</field>
        <field name='inherit_id' ref='account.invoice_supplier_form'/>
        <field name="type">form</field>
        <field name="arch" type="xml">
        <data>
            <field name="product_id" position="before">
                <field name="uneditable" invisible="1"/>
            </field>

            <field name="quantity" position="attributes">
                <attribute name="attrs">{'readonly': [('uneditable','=', True)]}</attribute>
            </field>
          </data>
        </field>
    </record>

请告诉我我做错了什么。我在视图中遇到此代码时出错,并且不会使该行成为只读。

1 个答案:

答案 0 :(得分:2)

其实你的观点是错误的。您已在account.invoice.line中定义字段'quantity'和'uneditable',然后在发票视图中添加。请检查invoice_supplier_form视图,并在视图中正确添加字段。

<record model="ir.ui.view" id="invoice_line_form_ext">
    <field name="name">account.invoice.line.form</field>
    <field name="model">account.invoice.line</field>
    <field name='inherit_id' ref='account.view_invoice_line_form'/>
    <field name="type">form</field>
    <field name="arch" type="xml">
    <data>
        <field name="product_id" position="before">
            <field name="uneditable" invisible="1"/>
        </field>

        <field name="quantity" position="attributes">
            <attribute name="attrs">{'readonly': [('uneditable','=', True)]}</attribute>
        </field>
      </data>
    </field>
</record>