Odoo Help

Welcome!

This community 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.

0

How to set my many2one properties when I import a product category with XML?

By
Pascal Tremblay
on 3/23/15, 2:57 PM 1,477 views

hey all,

I have a new problem for you.

I was sure of my code this time, but I finally still have a problem.

Our goal is to set the category expense account with XML only. In the picture, it is set to 51100, but we want to change it.


Example 1 : WORKING

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

             <openerp>

              <data noupdate="0">

              <record id="product_lapagept.achats" model="product.category">

              <field name="name">Achats - PT</field>

               </record>

          </data>

         </openerp>


Example 2 : not WORKING

  • (account_lapagept.stock_en_transit is a valid external ID)

  • (we depend of product and account_lapagept in the __openerp__.py file)

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

             <openerp>

                  <data noupdate="0">

                      <record id="product_lapagept.achats" model="product.category">

                          <field name="name">Achats - PT</field>

                          <field name="property_account_expense_categ" eval="[(6, 0, [ref('account_lapagept.stock_en_transit')])]" />

                      </record>

                  </data>

             </openerp>


What is the problem with our line 

<field name="property_account_expense_categ" eval="[(6, 0, [ref('account_lapagept.stock_en_transit')])]" />

????


Thanks

2

Cyril Gaspard (GEM)

--Cyril Gaspard (GEM)--
4136
| 5 6 8
Paris, France
--Cyril Gaspard (GEM)--

Forum contributor since 2008

Cyril Gaspard (GEM)
On 3/23/15, 4:26 PM

Hi,

for a many2one field, just use ref like :

<field name="property_account_expense_categ" ref="account_lapagept.stock_en_transit" />


corresponding number to use for type field at end of this page :

 
https://doc.odoo.com/6.0/developer/2_5_Objects_Fields_Methods/methods/

For a many2many field, a list of tuples is expected. Here is the list of tuple that are accepted, with the corresponding semantics

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary

(1, ID, { values }) update the linked record with id = ID (write *values* on it)

(2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)

(3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself)

(4, ID) link to existing record with id = ID (adds a relationship)

(5) unlink all (like using (3,ID) for all linked records)

(6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs)

Example:

[(6, 0, [8, 5, 6, 4])] sets the many2many to ids [8, 5, 6, 4]



For a one2many field, a lits of tuples is expected. Here is the list of tuple that are accepted, with the corresponding semantics

(0, 0, { values }) link to a new record that needs to be created with the given values dictionary

(1, ID, { values }) update the linked record with id = ID (write *values* on it)

(2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well)

Example:

[(0, 0, {'field_name':field_value_record1, ...}), (0, 0, {'field_name':field_value_record2, ...})]

For a many2one field, simply use the ID of target record, which must already exist, or False to remove the link.

For a reference field, use a string with the model name, a comma, and the target object id (example: 'product.product, 5')

bye

I used only « ref » and it works well! Thanks a lot.

Pascal Tremblay
on 3/24/15, 12:38 PM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 3/23/15, 2:57 PM
Seen: 1477 times
Last updated: 3/24/15, 12:38 PM