Odoo Help

2

1
1 Answer
2
Gabriel France
7/12/13, 8:38 AM

Hi Simon,

Firstly you will need to add a related field in the mrp.bom object pointing toward the field 'qty_available' of the product.product object. Secondly you will need to add this new field in the tree view of mrp.bom.

According to how familiar you are with OpenERP and how you are using it you can do that either by the web interface in Settings/Database Structure and Settings/User Interface or by creating a new module.

Sorry but I am not so familiar with the web interface Database Structure menu. And so I could not find how to implement the related field this way. I am pretty sure it should be possible... Nevertheless you can still create a new python module with: your_module.py :

# -*- encoding: utf-8 -*-
from openerp.osv import fields, osv

class mrp_bom(osv.osv):
    _inherit = "mrp.bom"
    _columns = {
                'qty_available': fields.related('product_id', 'qty_available', type="float", relation="product.product", string="Qty on hand")}

and a your_module_view.xml:

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

        <record id="mrp_bom_component_qty_tree_view" model="ir.ui.view">
            <field name="name">mrp.bom.component.qty.tree</field>
            <field name="model">mrp.bom</field>
            <field name="inherit_id" ref="mrp.mrp_bom_component_tree_view" />
            <field name="sequence" eval="10" />
            <field name="arch" type="xml">
                <xpath expr="//field[@name='product_qty']" position="after">
                        <field name="qty_available" />
                </xpath>
            </field>
        </record>

    </data>
</openerp>
2 Comments
Trevor Wilson United Kingdom
7/13/13, 4:48 PM

Hi. This is exactly what I'm also trying to do. The logic of what you say makes perfect sense, but I'm struggling to implement... I'm familiar with databases (MySQL) and interogating with php, but completely new to python and openerp. A few pointers wold be gratefully received! I've managed to customise views in settings / user interface / views for our own applications, but when I try to add my new database field into mrp.bom.form I get an error "Invalid XML code in Arch fields of View!", which makes me assume I've created the field in map.bom incorrectly. Any help gratefully received!!!

simon China
7/17/13, 4:35 AM

Hi Gabriel, Very kind of you to add this information. Obviously the module update method is fundamentally a better method than through the web interface. For others reference in the field definition line I added 'store=False' explicitly as it seemed to not update the value otherwise. Also the view in question is actually the mrp_bom_form_view rather than the component tree, i.e. this is where the entry for each item making up a bom is shown, rather than the list of bom's

Ask a Question
Writer
Keep Informed
1 follower(s)
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register
Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now