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

Redefinition of Function Field in api v8

Subscribe

Get notified when there's activity on this post

This question has been flagged
expensesstoreapiredefinefunction_field
4 Replies
5606 Views
Avatar
Peter Mayer

Hi guys, i need your help with the redefinition of following function fields. I don't really get behind the store parameter in the 'amount' field. Any help or hints appreciated.

def _amount(self, cr, uid, ids, field_name, arg, context=None):

res= {}

for expense in self.browse(cr, uid, ids, context=context):

total = 0.0

for line in expense.line_ids:

total += line.unit_amount * line.unit_quantity

res[expense.id] = total

return res



def _get_expense_from_line(self, cr, uid, ids, context=None):

return [line.expense_id.id for line in self.pool.get('hr.expense.line').browse(cr, uid, ids,

        context=context)]



'amount': fields.function(_amount, string='Total Amount', digits_compute=dp.get_precision('Account'),

store={

'hr.expense.line': (_get_expense_from_line, ['unit_amount','unit_quantity'], 10)

}),

0
Avatar
Discard
Peter Mayer
Author

Hi Prashant thank you for your answer. Unfortunately i can't answer you under your comment. I think you got me wrong. I want to translate this code from old api to new api and i'm stuck on the store parameter of the 'amount' field.

Avatar
Olivier Dony (odo)
Best Answer

Peter, the declaration of computed fields in the new API is explained in the documentation.

Using the new syntax the old `store` dictionary becomes simply `store=True` with an appropriate `@api.depends` decorator on the function implementing the field. The dependencies declared in this manner act as recompute triggers.

Here is an example in the 9.0 source code.

Not sure that's the info you were looking for, though.

0
Avatar
Discard
Avatar
Axel Mendoza
Best Answer

As long as I know you will not be able to translate that into the new api, the store value dict is not supported anymore in favor of the @api.depends and @api.onchange, but I couldn't find the flexibility of the store with a value dict with triggers. Maybe @fpodoo or @odony or someone that works for Odoo could bring some light to this

0
Avatar
Discard
Avatar
Prashant Panchal (ppa)
Best Answer

i think type is missing in your field defining like type= float or char etc.

Otherwise every thing is fine.

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
how to save functional fields in openerp7?
store openerp7 function_field store=False
Avatar
0
Jul 19
3491
How to update the Selection attribute values based on onchange or using functional field?
api selection runtime function_field
Avatar
Avatar
1
Dec 17
9852
field function and its store parameter in an inherited class Solved
store inheritance 7.0 function_field super
Avatar
Avatar
6
Jan 16
8479
How do I get Product Prices with json API? Solved
api
Avatar
Avatar
1
Nov 25
2969
Expense menu not appearing in Odoo Solved
expenses
Avatar
Avatar
Avatar
Avatar
4
Nov 25
554
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