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
    • Artificial Intelligence
    • 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
    • Property 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
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

Adding simple logic to a custom field in studio

Subscribe

Get notified when there's activity on this post

This question has been flagged
enterprisestudioodoo16features
3 Replies
5056 Views
Avatar
Kevin Addie

Is it possible to add simple logic to a custom field in studio?


I have two date fields:

One for the planned delivery date

One for actual delivery date


This is tracking late orders so the actual will always be later than planned.


I then want a "days late" field that autmatically subtracts the two dates in the fields above and displays the days late.


Is this possible in Studio please?

0
Avatar
Discard
Avatar
Chris TRINGHAM
Best Answer

It is possible in Studio with a computed field.

After adding the field, click on MORE at the bottom (or find the field from the Fields menu option and add some simple Python code to calculate the days late, something like this:


 

[EDIT] The correct code is something like this (to trap errors):

 if record.x_studio_actual_delivered_date and record.x_studio_original_delivery_date:

     record['x_studio_days_late_integer'] = (record.x_studio_actual_delivered_date - record.x_studio_original_delivery_date).days

  else:

    record['x_studio_days_late_integer'] = 0



0
Avatar
Discard
Kevin Addie
Author

Brilliant thank you. I have had a go at this but unfortunately I am missing something as it's throwing an error ...
I can t even work out how to post an image here!

My three fields are:
x_studio_original_delivery_date
x_studio_actual_delivered_date
x_studio_days_late_integar

my dependencies are listed as:
x_studio_original_delivery_date, x_studio_actual_delivered_date

compute is:
for record in self: record['x_studio_days_late_integar'] = record.x_studio_original_delivery_date - record.x_studio_actual_delivered_date

Appreciate any further help with this

Chris TRINGHAM

I'm not a Python programmer, and debugging Python code is one of my least favourite things to do! It's easy to have something slightly wrong and you can get an error.

You can't post images in answers, but you should be able to post links to an image hosted elsewhere. It's the last few lines of the error that provide the details.

Avatar
Kevin Addie
Author Best Answer

Thank you Chris for your help. I got into trouble as the error was stopping me getting back in to Studio to correct it. Had to pass it through our Gold partner.

It turns out that I had forgotten to error trap if either of the date field was not completed:

for record in self:

  if record.x_studio_actual_delivered_date and record.x_studio_original_delivery_date:

     record['x_studio_days_late_integar'] = (record.x_studio_actual_delivered_date - record.x_studio_original_delivery_date).days

  else:

    record['x_studio_days_late_integar'] = 0

0
Avatar
Discard
Chris TRINGHAM

Yes, that makes sense. I'll update my answer to include this. Maybe someone can mark this as correct so other people can find it?

Avatar
leonardo tocci
Best Answer

Hello, you can not do it in the Studio mode. 

You can only do it in the developer mode:

- go on the object view you would like to see

- click on the developer icon, then create a new field

- in order to add the logic you have to fill in the logic you want to enable in the field 'Compute'


I hope it was helpful

0
Avatar
Discard
Kevin Addie
Author

Thank you very helpfull. Back to our Gold partner and another big bill it is then!

Chris TRINGHAM

I added another answer explaining how to define a computed field.

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
item line sales order odoo 16 enteprise
enterprise studio odoo16features
Avatar
Avatar
Avatar
3
Nov 23
3523
Enterprise Source code
enterprise studio
Avatar
Avatar
2
Jun 24
17773
Default value from a other field in Studio
studio odoo16features
Avatar
Avatar
1
Apr 24
5387
Odoo Studio - can't drag & drop columns or tabs in form view (v16+e)
studio odoo16features
Avatar
Avatar
Avatar
2
Feb 24
5833
Embed video from YouTube using the website builder Odoo 16 Solved
enterprise odoo16features
Avatar
Avatar
1
Jul 23
5321
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 Svenska ภาษาไทย 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