如何在OpenERP 7中的Quotation树视图中添加新列

时间:2017-05-18 11:40:22

标签: openerp openerp-7

我正在尝试将新列(Partner模型中的字段)添加到Quotation树视图中。这是调试模式下的原始树视图

enter image description here

<tree string="Quotation" fonts="bold:message_unread==True" colors="grey:state=='cancel';blue:state in ('waiting_date','manual');red:state in ('invoice_except','shipping_except')">
                    <field name="message_unread" invisible="1"/>
                    <field name="name" string="Quotation Number"/>
                    <field name="date_order"/>
                    <field name="partner_id"/>
                    <field name="user_id"/>
                    <field name="amount_total" sum="Total Tax Included"/>
                    <field name="state"/>
                    <field name="credit_limit"/>
                </tree>

然后我尝试在树标记中添加<field name="credit_limit">,但它会提供Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

知道如何实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

  

由于您是直接从前端添加字段

     

您需要先创建字段,然后按照以下步骤操作。

     

设置&gt;技术&gt;数据库结构&gt;字段&gt;根据图像创建字段,然后尝试添加树视图

并将视图 credit_limit 中的字段名称更改为 x_creditlimit

enter image description here

这可以帮到你!

答案 1 :(得分:0)

我们需要为此构建新的自定义模块,或者您可以使用@Dexj answer。

尝试使用以下代码:

.py文件

from openerp.osv import osv

class Sales(osv.Model):
    _inherit = 'sale.order'

    _columns = {
        'credit_limit': fields.float('Credit Limit')
    }

查看将添加字段的文件

<record id="sale_order_credit_limit_form_view" model="ir.ui.view">
    <field name="name">sale.order.credit.limit.form.view</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_quotation_tree"/>
    <field name="arch" type="xml">
        <field name="state" position="after">
            <field name="credit_limit"/>
        </field>
    </field>
</record>

现在重新启动服务器并更新模块列表。您将获得新模块并进行安装。你会看到你的欲望输出。

修改

在这种情况下,我们可以使用相关字段。

例如

_columns = {
    'credit_limit': fields.related('partner_id', 'credit_limit', type='float', string='Credit Limit')
}