簡體   English   中英

如何通過在XML中為OpenERP 7添加新字段來擴展樹?

[英]How to extended tree by add my new field in XML for OpenERP 7?

這是我要擴展現有mrp.bom的新的create mrp_extend.py文件:

class mrp_extend(osv.Model):

    _inherit = 'mrp.bom'

    def _get_unit_cost(self, cr, uid, ids, field_name, arg, context):
        result = {}

        for bom_line_obj in self.browse(cr, uid, ids, context=context):
            result[bom_line_obj.id] = bom_line_obj.product_id.product_tmpl_id.standard_price or 0.00
        return result 

    def _get_product_total_cost(self, cr, uid, ids, field_name, arg, context):
        result = {}

        for bom_line_obj in self.browse(cr, uid, ids, context=context):
            result[bom_line_obj.id] = (bom_line_obj.product_id.product_tmpl_id.standard_price or 0.00) * (bom_line_obj.product_qty or 0.00)
        return result 

    def get_total_cost(self, cr, uid, ids, name, args, context=None):
        res = {}
        for rec in self.browse(cr, uid, ids, context=context):
            total_cost = 0.0
            for line_rec in rec.bom_lines:
                total_cost += line_rec.product_total_cost or 0.0
            res.update({rec.id : total_cost})
        return res

    _columns = {
        'product_unit_cost' : fields.function(_get_unit_cost, string="Product Unit Cost", digits_compute=dp.get_precision('Product Price')),
        'product_total_cost' : fields.function(_get_product_total_cost, string="Product Unit Cost", digits_compute=dp.get_precision('Product Price')),
        'total_cost' : fields.function(get_total_cost, string="Total Cost"),
        'mrp_bom_ids' : fields.one2many('mrp.extend.bom', 'mrp_extend_id', 'Stock Extend Log', states={'done': [('readonly', False)]})
    }

並且我創建了新的mrp_extend.xml:

<?xml version="1.0" encoding="utf-8"?>

<openerp>
    <data>
        <!-- Add new field in MRP (By Henry on 07/Nov/2013) -->
        <record id="stock_ext_form" model="ir.ui.view">
            <field name="name">mrp.ext.form</field>
            <field name="model">mrp.bom</field>
            <field name="type">tree</field>
            <field name="inherit_id" ref="mrp.mrp_bom_form_view" />
            <field name="arch" type="xml">
                <field name="bom_lines" position="after">
                    <field name="product_unit_cost"/>
                    <field name="product_total_cost" sum="Total Product Unit Cost"/> 
                </field>                                     
            </field>
        </record>   
    </data>
</openerp>

現在的問題是,如何在mrp.bom中存在的bom_lines樹字段中顯示新創建的字段?

請幫忙。

您可以使用相關字段。 請參考OpenERP相關字段

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM