Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Can anyone clearly explain property.fields. ??

Subscribe

Get notified when there's activity on this post

This question has been flagged
fieldspropertyproperty.fields
4 Replies
14585 Views
Avatar
Pankaj Moolrajani

Hello Guys,

I am a newbie to openerp. i was going throught the documentation of openerp and came across propery.fields. The documentation does not explains it clearly. i am confused, so i would appreciate if any of experts or experienced people can help me out in understanding the following things about property.fields.

1.) its purpose, why to use it?
2.) How to use it ?
3.) An example will be a great help if you can provide one...

Thanks
Pankaj Moorlajani

1
Avatar
Discard
Pankaj Moolrajani
Author

this does not explains the purpose of using and why to use it ???, unerstanding the technical implementation of this is not worth unless i am able to understand its purpose and functionality...

Avatar
Atul Kumar jain
Best Answer

Property Fields

Declaring a property

A property is a special field: fields.property.

class res_partner(osv.osv):
_name = "res.partner"
_inherit = "res.partner"
_columns = {
            'property_product_pricelist':
                                        fields.property(
                            'product.pricelist',
                    type='many2one',
                    relation='product.pricelist',
                    string="Sale Pricelist",
                            method=True,
                            group_name="Pricelists Properties"),
}

Then you have to create the default value in a .XML file for this property:

<record model="ir.property" id="property_product_pricelist">
<field name="name">property_product_pricelist</field>
<field name="fields_id" search="[('model','=','res.partner'),
  ('name','=','property_product_pricelist')]"/>
<field name="value" eval="'product.pricelist,'+str(list0)"/>

</record>

Tip

if the default value points to a resource from another module, you can use the ref function like this:

<field name="value" eval="'product.pricelist,'+str(ref('module.data_id'))"/>

Putting properties in forms

To add properties in forms, just put the <properties/> tag in your form. This will automatically add all properties fields that are related to this object. The system will add properties depending on your rights. (some people will be able to change a specific property, others won't).

Properties are displayed by section, depending on the group_name attribute. (It is rendered in the client like a separator tag).

How does this work ?

The fields.property class inherits from fields.function and overrides the read and write method. The type of this field is many2one, so in the form a property is represented like a many2one function.

But the value of a property is stored in the ir.property class/table as a complete record. The stored value is a field of type reference (not many2one) because each property may point to a different object. If you edit properties values (from the administration menu), these are represented like a field of type reference.

When you read a property, the program gives you the property attached to the instance of object you are reading. If this object has no value, the system will give you the default property.

The definition of a property is stored in the ir.model.fields class like any other fields. In the definition of the property, you can add groups that are allowed to change to property.

Using properties or normal fields

When you want to add a new feature, you will have to choose to implement it as a property or as normal field. Use a normal field when you inherit from an object and want to extend this object. Use a property when the new feature is not related to the object but to an external concept.

Here are a few tips to help you choose between a normal field or a property:

Normal fields extend the object, adding more features or data.

A property is a concept that is attached to an object and have special features:

Different value for the same property depending on the company

Rights management per field

It's a link between resources (many2one)

Example 1: Account Receivable

The default "Account Receivable" for a specific partner is implemented as a property because:

    This is a concept related to the account chart and not to the partner, so it is an account property that is visible on a partner form. Rights have to be managed on this fields for accountants, these are not the same rights that are applied to partner objects. So you have specific rights just for this field of the partner form: only accountants may change the account receivable of a partner.

    This is a multi-company field: the same partner may have different account receivable values depending on the company the user belongs to. In a multi-company system, there is one account chart per company. The account receivable of a partner depends on the company it placed the sale order.

    The default account receivable is the same for all partners and is configured from the general property menu (in administration).
7
Avatar
Discard
Avatar
odooopenerp
Best Answer

Simple answer is here https://www.odoo.com/forum/help-1/question/beginner-question-about-functional-fields-and-property-fields-77398#answer_77401

1
Avatar
Discard
Avatar
Wajdi Turkistani
Best Answer

I'm using the property field in Odoo CRM, which is very helpful for me.

for example the Cars Auction field i made for them their own property field which includes: Clients Languages, coz we have different team some speak arabic and some english,
Buying Cars or Selling Cars? i made this field as choosing option.
Last Visit: i made this as a date.

and i made a different property field for another team called shipping.
for the shipping field i put property fields like:
Export & Import to: example: US to UAE.
Other Shipping Companies: like competetors.
Containers per month: 10 to 20 containers (Example)
Favorit vehicles:
CRM Status: i made this choices like: Active, inActive, Paused, has issues, has multiple deals.

these are all examples, and thanks to odoo for their fantastic free editions, that helps us to keep practicing till we grow and expand with Odoo enterprise! or maybe Erpnext.. who knows the best?

0
Avatar
Discard
Avatar
yeshwanth
Best Answer

refer: 

http://odoo-new-api-guide-line.readthedocs.org/en/latest/fields.html

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Fields declare with @property
fields property
Avatar
0
Jan 25
1708
Custom fields : new fields in model or add properties?
fields properties property.fields Fields
Avatar
Avatar
Avatar
2
Jun 24
6187
How can I configure a partner receivable account depending on the company Solved
property
Avatar
Avatar
Avatar
3
Jul 25
9634
How to display a red * for required fields
fields
Avatar
Avatar
Avatar
Avatar
3
May 25
3259
How to display a red * for required fields
fields
Avatar
Avatar
1
Apr 25
2346
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now