跳至内容
菜单
此问题已终结
2 回复
6869 查看

If you go to the details page for a product and click on the "Procurements" tab, you'll see a list labeled "Suppliers".  Looking at the XML for the page, the only field I can see in this location is "seller_ids".  However, the list also shows "Delivery Lead Time" and "Minimal Quantity".  Are these fields somehow contained within "seller_ids", like an array?  I can't find any other views that add the other fields.  I would like to add "Product Name" and "Product Code" to the list.  I believe all of the fields are in the "product.supplierinfo" model.  How do I go about this?

形象
丢弃
最佳答案

If you check out addons/product/product.py, you'll see that 'seller_ids' is a one2many field pointing to 'product.supplierinfo' from 'product_id'. If you search for product.supplierinfo in addons/product/product_view.xml there are two records that reference it, "product_supplierinfo_form_view" and "product_supplierinfo_tree_view". The first of these is the the one that pops up when you click "Add an item" under suppliers, the second is the table that you are trying to edit. It looks like this:

 

        <record id="product_supplierinfo_tree_view" model="ir.ui.view">

            <field name="name">product.supplierinfo.tree.view</field>

            <field name="model">product.supplierinfo</field>

            <field name="arch" type="xml">

                <tree string="Supplier Information">

                    <field name="sequence" widget="handle"/>

                    <field name="name"/>

                    <field name="delay"/>

                    <field name="min_qty"/>

                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>

                </tree>

            </field>

        </record>

So what you'd have to do here is create a new module, inherit the "product_supplierinfo_tree_view" by using <field name="inherit_id" ref="product.product_supplierinfo_tree_view">, then add your fields using something like:

<record id="product_supplierinfo_tree_view_inherit" model="ir.ui.view">

    <field name="name">product.supplierinfo.tree.view</field>

    <field name="model">product.supplierinfo<field>

    <field name="inherit_id" ref="product.product_supplierinfo_tree_view">

        <field name="name" position="after">

            <field name="product_name"/>

            <field name="product_code"/>

        </field>

Since those columns are already in the 'product.supplierinfo' you don't even need to add any custom python code to your module.

 

Hope that helps! Cheers.

 

----

Alex Gallien

Information Officer LLC

E-mail: agallien@informationofficer.com

Web: www.informationofficer.com

形象
丢弃
编写者

Thanks for the detailed answer, Alex! I will try it out as soon as I get a chance. I think I saw that view when I was looking around, but don't remember seeing the other fields. Maybe it was a different one.

编写者

Awesome, it works! I had searched for 'seller_ids' in product_view.xml, but it shows up somewhere else, not in the view to inherit. I didn't understand the connection made from the definition of 'seller_ids' in product.py to the view with the fields. I have a little better understanding of it now, but probably still not a total grasp. Thanks again!

No problem. There is a lack of solid information out there on the inner workings of OpenERP - glad to be of use.

编写者

I also tried to override the field label by adding

编写者

Doh! Guess you can't put XML code in comments. :\

Try editing your original post and putting the code there.

编写者

I made a new question: https://www.odoo.com/forum/help-1/question/how-do-you-override-a-field-label-in-an-xml-view-62791 It would be nice if there were a code markdown feature for the forum. :)

最佳答案

There is special extension mechanism in Odoo. You can add fields to existing form in new module.

So your fields are added by addon modules.

 

http://consultantodoo.com

形象
丢弃
编写者

I knew that much. Can you provide further details as to how to access other fields from product.supplierinfo inside the _seller_ids_ field?

What exactly you want navigate and form which class ? I you can navigate normally by fields even if it ends with _id

2014-09-10 19:18 GMT+02:00 Jeff Beidler <jeffb@videx.com>:

I knew that much. Can you provide further details as to how to access other fields from product.supplierinfo inside the _seller_ids_ field?

--
Jeff Beidler
Sent by OpenERP S.A. using Odoo about Forum Post False

相关帖文 回复 查看 活动
0
8月 21
3348
5
11月 15
13257
1
11月 24
1574
5
7月 24
92808
1
12月 23
2998