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

How to suggest a Many2one value from another company

Subscribe

Get notified when there's activity on this post

This question has been flagged
many2onecompanyrule
1 Reply
995 Views
Avatar
Uday Sankar k
driver_store_id = fields.Many2one(
    'res.store',
    string='Driver Store'
)
<field name="driver_store_id"
       attrs="{'invisible': [('collection_required', '!=', 'yes')]}"
       domain="[('is_driver_available', '=', True),
                ('country_id', '=', smr_store_country_id)]"/>


Normally, driver_store_id shows only stores from the user’s current company,

I want to auto-suggest (auto-fill) a driver store that may belong to:

the same company or any other company (ALL companies).

I want to avoid computed fields, stored helper fields, or heavy domain computations, as they may cause performance issues.

0
Avatar
Discard
Codesphere Tech

Hello,
Have you tried company_dependent=False ?

Codesphere Tech

Please check this.
https://www.odoo.com/forum/help-1/how-to-bypass-company-dependent-field-in-m2o-selection-195465

Uday Sankar k
Author

Yes ,it doesn’t solve this case.

Avatar
Cybrosys Techno Solutions Pvt.Ltd
Best Answer
Hi,
To show driver stores from all companies, you need to add company_dependent=False to the driver_store_id field in your Python model, which tells Odoo to ignore company restrictions for that field. To automatically suggest a store, you'll create an @api.onchange method in your Python model that watches for changes in fields like collection_required and smr_store_country_id; when these change, the method will search for an available store matching your criteria and automatically fill it into the driver_store_id field.
code:
from odoo import fields, models, api

class YourModel(models.Model): # Replace YourModel with the actual name of your model
    _name = 'your.model.name' # Replace your.model.name with the actual technical name of your model
    _description = 'Your Model Description'

    driver_store_id = fields.Many2one(
        'res.store',
        string='Driver Store',
        company_dependent=False,
    )
    collection_required = fields.Selection([('yes', 'Yes'), ('no', 'No')], string='Collection Required')
    smr_store_country_id = fields.Many2one('res.country', string='SMR Store Country')

    @api.onchange('collection_required', 'smr_store_country_id')
    def _onchange_suggest_driver_store(self):
        if self.collection_required == 'yes' and self.smr_store_country_id:
            # Search for an available driver store in the specified country
            # The domain here should match your XML domain for consistency
            suggested_store = self.env['res.store'].search([
                ('is_driver_available', '=', True),
                ('country_id', '=', self.smr_store_country_id.id)
            ], limit=1) # limit=1 to get the first matching store

            if suggested_store:
                self.driver_store_id = suggested_store
            else:
                # If no store is found, clear the field or set a default
                self.driver_store_id = False
        else:
            # Clear the field if conditions for suggestion are not met
            self.driver_store_id = False

Hope it helps.

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
record rule object access
error many2one rule
Avatar
Avatar
1
Jun 15
4906
How to Use Selection on Many2one Field ? Solved
many2one selection rule funtion
Avatar
Avatar
Avatar
Avatar
3
Jan 24
18623
value not pass from many2one field to form Solved
many2one
Avatar
Avatar
Avatar
Avatar
3
May 26
4005
Display values of dropdown in a many2one field Solved
many2one
Avatar
Avatar
2
Feb 25
9005
creation of company Solved
company
Avatar
Avatar
1
Oct 24
14572
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