Skip to Content
Odoo मेन्यू
  • Sign in
  • मुफ़्त में आज़माएं
  • ऐप्लिकेशन
    फ़ाइनेंस
    • अकाउंटिंग
    • इनवॉइसिंग
    • एक्सपेंस
    • स्प्रेडशीट (बीआई)
    • डॉक्यूमेंट्स
    • साइन
    सेल्स
    • सीआरएम
    • सेल्स
    • पीओएस शॉप
    • पीओएस रेस्टोरेंट
    • सब्सक्रिप्शन
    • रेंटल
    वेबसाइट
    • वेबसाइट बिल्डर
    • ई-कॉमर्स
    • ब्लॉग
    • फ़ोरम
    • लाइव चैट
    • ई-लर्निंग
    सप्लाई चेन
    • इन्वेंट्री
    • मैन्युफ़ैक्चरिंग
    • पीएलएम
    • परचेज़
    • मेंटेनेंस
    • क्वालिटी
    मानव संसाधन
    • कर्मचारी
    • रिक्रूटमेंट
    • टाइम ऑफ़
    • अप्रेज़ल
    • रेफ़रल
    • फ़्लीट
    मार्केटिंग
    • सोशल मार्केटिंग
    • ईमेल मार्केटिंग
    • एसएमएस मार्केटिंग
    • इवेंट
    • मार्केटिंग ऑटोमेशन
    • सर्वे
    सेवाएं
    • प्रोजेक्ट
    • टाइमशीट
    • फ़ील्ड सर्विस
    • हेल्पडेस्क
    • प्लानिंग
    • अपॉइंटमेंट
    प्रॉडक्टिविटी
    • डिस्कस
    • अप्रूवल
    • आईओटी
    • वीओआईपी
    • नॉलेज
    • WhatsApp
    तीसरे पक्ष के ऐप्लिकेशन Odoo स्टूडियो Odoo क्लाउड प्लेटफ़ॉर्म
  • इंडस्ट्री
    रीटेल
    • बुक स्टोर
    • क्लोदिंग स्टोर
    • फ़र्नीचर स्टोर
    • ग्रॉसरी स्टोर
    • हार्डवेयर स्टोर
    • टॉय स्टोर
    Food & Hospitality
    • बार और पब
    • रेस्टोरेंट
    • फ़ास्ट फ़ूड
    • Guest House
    • बेवरिज डिस्ट्रीब्यूटर
    • होटल
    रियल एस्टेट
    • Real Estate Agency
    • आर्किटेक्चर फ़र्म
    • कंसट्रक्शन
    • एस्टेट मैनेजमेंट
    • गार्ड्निंग
    • प्रॉपर्टी ओनर असोसिएशन
    कंसल्टिंग
    • अकाउंटिंग फ़र्म
    • Odoo पार्टनर
    • मार्केटिंग एजेंसी
    • लॉ फ़र्म
    • टैलेंट ऐक्विज़िशन
    • ऑडिट & सर्टिफ़िकेशन
    मैन्युफ़ैक्चरिंग
    • टेक्सटाइल
    • Metal
    • फ़र्नीचर
    • फ़ूड
    • Brewery
    • कॉर्पोरेट गिफ़्ट
    हेल्थ & फिटनेस
    • स्पोर्ट्स क्लब
    • आईवियर स्टोर
    • फिटनेस सेंटर
    • वेलनेस प्रैक्टिशनर
    • फॉर्मेसी
    • हेयर सैलून
    Trades
    • Handyman
    • आईटी हॉर्डवेयर और सपोर्ट
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    अन्य
    • Nonprofit Organization
    • एन्वायरमेंटल एजेंसी
    • बिलबोर्ड रेंटल
    • फ़ोटोग्राफी
    • बाइक लीजिंग
    • सॉफ़्टवेयर रीसेलर
    Browse all Industries
  • कम्यूनिटी
    सीखें
    • ट्यूटोरियल्स
    • दस्तावेज़
    • सर्टिफ़िकेशन
    • ट्रेनिंग
    • ब्लॉग
    • पॉडकास्ट
    शिक्षा को बढ़ावा दें
    • एजुकेशन प्रोग्राम
    • स्केल अप! बिजनेस गेम
    • Odoo के ऑफ़िस में आएं
    सॉफ़्टवेयर पाएं
    • डाउनलोड
    • वर्शन की तुलना करें
    • रिलीज़
    साथ मिलकर काम करें
    • Github
    • फ़ोरम
    • इवेंट
    • अनुवाद
    • पार्टनर बनें
    • Services for Partners
    • अपना अकाउंटिंग फ़र्म रजिस्टर करें
    सेवाएं पाएं
    • पार्टनर ढूंढें
    • अकाउंटेंट खोजें
    • सलाहकार की मदद लें
    • इम्प्लिमेंटेशन सेवाएं
    • कस्टमर रेफ़रेंस
    • सहायता
    • अपग्रेड
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    डेमो देखें
  • कीमत
  • सहायता

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

  • सीआरएम
  • e-Commerce
  • लेखांकन
  • इन्वेंटरी
  • PoS
  • प्रोजेक्ट
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
Help

Conditional invisible field...

Subscribe

Get notified when there's activity on this post

This question has been flagged
selectioninvisibleconditionals
2 Replies
17328 Views
Avatar
Alfa y Omega Pachuca

In Odoo 9, i am using on_change function and i need to hide some custom fields in view sale order

in models.py i have:

...

#Selecction Field

b = fields.Selection([('hide', 'Hide'),('nohide', 'Not Hide'),('choiceoption', 'Choice Option')], default='choiceoption')

b_value = fields.Char('Value', default='Hello')

b_unit = fields.Char('Unit', readonly='True', default='World')

#Function

def on_change_b(self,cr,user,ids,b,b_value,b_unit,context=None):

if b=='choiceoption':

v = {'b_value': 'Choice Option', 'b_unit': 'Choice Option'}

return {'value': v}

elif b=='nohide':

v = {'b_value': 'No Hide Field b_value', 'b_unit': 'No Hide Field b_unit'}

return {'value': v}

else:

v = {'b_value': 'Yes Hide Field b_value', 'b_unit': 'Yes Hide Field b_unit'}

return {'value': v}

...

in templates.xml i have:

...

<field name="b" on_change="on_change_b(b, b_value, b_unit)" />

<field name="b_value" />

<field name="b_unit" />

...

1.- How i can hide the field "b_value" and "b_unit" when i choice "Hide" in the selection field, i think this must be writed in the function "on_change_b" but i do not know how doit the code, maybe with "attrs"


2.- How to initialize a field with invisible = yes for default like:

fieldxyz = fields.Char('This is Field XYZ', default=This is the value of fieldxyz', attrs="{'invisible':true}") <---This is correct?



0
Avatar
Discard
Avatar
Akhil P Sivan
Best Answer

Hi,

To use attrs you may try like this in your xml file:

<field name="b" />

<field name="b_value" attrs="{'invisible':[('b','==','hide')]}" />

<field name="b_unit" attrs="{'invisible':[('b','==','hide')]}"/>


To hide a field, you can use invisible="1" attribute in xml file:

for eg:

<field name="b_unit" invisible="1" />


I tried to correct your code, so that you may understand the syntax of onchange in new api:

from openerp import models, fields, api
class SaleOrder(models.Model):    
    _inherit = 'sale.order'         
    b = fields.Selection([('hide', 'Hide'),('nohide', 'Not Hide'),('choiceoption', 'Choice Option')], default='choiceoption')    
    b_value = fields.Char('Value', default='Hello')    
    b_unit = fields.Char('Unit', readonly=True, default='World')         
    
    @api.onchange('b')

def _on_change(self):

         if self.b=='choiceoption':             

             self.b_value = 'Choice Option'

             self.b_unit = 'Choice Option'         

        elif self.b == 'nohide':             

             self.b_value = 'No Hide Field b_value'

             self.b_unit = 'No Hide Field b_unit'         

        else:

            self.b_value = 'Yes Hide Field b_value'

            self.b_unit = 'Yes Hide Field b_unit' 

3
Avatar
Discard
Alfa y Omega Pachuca
Author

Thank you Akhil, your code works for me :-)

Avatar
ABU K
Best Answer

    Refer Onchange in Odoo9 New API

Your onchange syntax is not correct ,First chk that one




0
Avatar
Discard
Alfa y Omega Pachuca
Author

Thank you Dep for your advise, i will learn more about this.

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 hide the color column that refer to division selection ?
on_change selection invisible
Avatar
Avatar
1
मार्च 15
5389
How to hide Selection Field Options based on condition : Solved
fields selection invisible odooV11
Avatar
Avatar
Avatar
5
मार्च 24
20412
how to add values dynamically in selection fields? Solved
selection
Avatar
Avatar
Avatar
Avatar
Avatar
4
दिस॰ 23
23324
Dynamically change choices in selection fields Solved
selection
Avatar
Avatar
Avatar
Avatar
Avatar
5
जुल॰ 24
16712
Working with fields.selection values Solved
selection
Avatar
Avatar
1
जून 22
28425
कम्यूनिटी
  • ट्यूटोरियल्स
  • दस्तावेज़
  • फ़ोरम
ओपन सोर्स
  • डाउनलोड
  • Github
  • रनबॉट
  • अनुवाद
सेवाएं
  • Odoo.sh Hosting
  • सहायता
  • अपग्रेड
  • कस्टम डेवलपमेंट्स
  • शिक्षा
  • अकाउंटेंट खोजें
  • पार्टनर ढूंढें
  • पार्टनर बनें
हमारे बारे में
  • हमारी कंपनी
  • ब्रांड ऐसेट
  • संपर्क करें
  • नौकरियां
  • इवेंट
  • पॉडकास्ट
  • ब्लॉग
  • ग्राहक
  • लीगल • गोपनीयता
  • सुरक्षा
الْعَرَبيّة 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, बिज़नेस से जुड़े ऐप्लिकेशन का एक कलेक्शन है जो ओपन सोर्स पर आधारित है. इसमें आपकी कंपनी की हर ज़रूरत के लिए ऐप्लिकेशन हैं. जैसे, सीआरएम, ई-कॉमर्स, अकाउंटिंग, इन्वेंट्री, पॉइंट ऑफ़ सेल, प्रोजेक्ट मैनेजमेंट वगैरह.

Odoo की सबसे बड़ी खासियत है कि यह इस्तेमाल करने में बहुत आसान है और यह पूरी तरह से इंटिग्रेट किया हुआ है.

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