Se rendre au contenu
Odoo Menu
  • Se connecter
  • Essai gratuit
  • Applications
    Finance
    • Comptabilité
    • Facturation
    • Notes de frais
    • Feuilles de calcul (BI)
    • Documents
    • Signature
    Ventes
    • CRM
    • Ventes
    • PdV Boutique
    • PdV Restaurant
    • Abonnements
    • Location
    Sites web
    • Site Web
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Chaîne d'approvisionnement
    • Inventaire
    • Fabrication
    • PLM
    • Achats
    • Maintenance
    • Qualité
    Ressources Humaines
    • Employés
    • Recrutement
    • Congés
    • Évaluations
    • Recommandations
    • Parc automobile
    Marketing
    • Marketing Social
    • E-mail Marketing
    • SMS Marketing
    • Événements
    • Marketing Automation
    • Sondages
    Services
    • Projet
    • Feuilles de temps
    • Services sur Site
    • Assistance
    • Planification
    • Rendez-vous
    Productivité
    • Discussion
    • Validations
    • Internet des Objets
    • VoIP
    • Connaissances
    • WhatsApp
    Applications tierces Odoo Studio Plateforme Cloud d'Odoo
  • Industries
    Commerce de détail
    • Librairie
    • Magasin de vêtements
    • Magasin de meubles
    • Épicerie
    • Quincaillerie
    • Magasin de jouets
    Food & Hospitality
    • Bar et Pub
    • Restaurant
    • Fast-food
    • Maison d’hôtes
    • Distributeur de boissons
    • Hôtel
    Immobilier
    • Agence immobilière
    • Cabinet d'architecture
    • Construction
    • Gestion immobilière
    • Jardinage
    • Association de copropriétaires
    Consultance
    • Cabinet d'expertise comptable
    • Partenaire Odoo
    • Agence Marketing
    • Cabinet d'avocats
    • Aquisition de talents
    • Audit & Certification
    Fabrication
    • Textile
    • Métal
    • Meubles
    • Alimentation
    • Brewery
    • Cadeaux d'entreprise
    Santé & Fitness
    • Club de sports
    • Opticien
    • Salle de fitness
    • Praticiens bien-être
    • Pharmacie
    • Salon de coiffure
    Trades
    • Bricoleur
    • Matériel informatique et support
    • Systèmes photovoltaïques
    • Cordonnier
    • Services de nettoyage
    • Services CVC
    Autres
    • Organisation à but non lucratif
    • Agence environnementale
    • Location de panneaux d'affichage
    • Photographie
    • Leasing de vélos
    • Revendeur de logiciel
    Browse all Industries
  • Communauté
    Apprenez
    • Tutoriels
    • Documentation
    • Certifications
    • Formation
    • Blog
    • Podcast
    Renforcer l'éducation
    • Programme éducatif
    • Business Game Scale-Up!
    • Rendez-nous visite
    Obtenir le logiciel
    • Téléchargement
    • Comparez les éditions
    • Versions
    Collaborer
    • Github
    • Forum
    • Événements
    • Traductions
    • Devenez partenaire
    • Services for Partners
    • Enregistrer votre cabinet comptable
    Nos Services
    • Trouver un partenaire
    • Trouver un comptable
    • Rencontrer un conseiller
    • Services de mise en œuvre
    • Références clients
    • Assistance
    • Mises à niveau
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Obtenir une démonstration
  • Tarification
  • Aide

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

  • CRM
  • e-Commerce
  • Comptabilité
  • Inventaire
  • PoS
  • Projet
  • MRP
All apps
Vous devez être inscrit pour interagir avec la communauté.
Toutes les publications Personnes Badges
Étiquettes (Voir toutl)
odoo accounting v14 pos v15
À propos de ce forum
Vous devez être inscrit pour interagir avec la communauté.
Toutes les publications Personnes Badges
Étiquettes (Voir toutl)
odoo accounting v14 pos v15
À propos de ce forum
Aide

How do you make a field conditionally read only?

S'inscrire

Recevez une notification lorsqu'il y a de l'activité sur ce poste

Cette question a été signalée
v8fieldsreadonlyconditional
3 Réponses
16896 Vues
Avatar
Jeff Beidler

I thought I had seen a post about making a field read only if a certain condition were true, but now I can't find that post.  This is what I'm trying:

<field name="price_unit" attrs="{'readonly': ['product_id.name_template','!=','Shipping']}"/>

(This is in the sale order lines tree.)  I'm getting this error:

Error: Unknown field S in domain ["product_id.name_template","!=","Shipping"]

Do I just have a syntax problem, or am I just going about this the wrong way?

1
Avatar
Ignorer
Avatar
Temur
Meilleure réponse

You getting error because you've used dot notation to access other fields then actually presented in the view ( you can't use: ['product_id.name_template','!=','Shipping']  you can use only: ['product_id','!=','something'] ), as this is parsed at client side you can use only those fields taht are presented in the view. So in order to get it worked, you can add to the model a relational field that points to 'product_id.name_template' than add this field as invisible field to the view and you'll be able to to use this field in the condition like this: ['name_template_related','!=','Shipping']

1
Avatar
Ignorer
Jeff Beidler
Auteur

Ah, knowing that it's client-side helps. Thanks!

Avatar
Vasanth
Meilleure réponse

'name_template' : fields.related('product_id','name_template', type='char', string='Name Template',store=True),

Create this related field field in the sale.order.line  .py file and make the field as invisible in the view.

Just checks:

attrs="{readonly': [('name_template','!=','Shipping')]}"

( Note:

In v8 you can use this:

name_template= fields.Char(related='product_id.name_template', store=True, readonly=True) )

This can help you

3
Avatar
Ignorer
Jeff Beidler
Auteur

Thanks. Looks like 'Char' shouldn't be capitalized for v8, though.

VENI V R

How can I make a field readonly in python code? I need to make one of the one2many field as readonly by condition

Avatar
Zbik
Meilleure réponse

Try this:

[('product_id.name_template','!=','Shipping')]

1
Avatar
Ignorer
Jeff Beidler
Auteur

Well, I get a different error now, so I suppose that's progress. It's a field not found error, so I guess I just have to figure out how to get the product name from the sales order line. The product_id field links to the product.product table, so why can't it evaluate the name_template field value?

Ivan

@Jeff, check @Temur's answer. The product_id field in this situation (which happens in javascript) will only provide you with the database ID and thus cannot be accessed using dot notation.

Jeff Beidler
Auteur

Got it working, thanks!

Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !

Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !

S'inscrire
Publications associées Réponses Vues Activité
readonly option in fields? Résolu
fields readonly
Avatar
Avatar
Avatar
Avatar
3
déc. 23
93012
How can I prevent a user from editing a field after it's set? Résolu
fields readonly
Avatar
Avatar
Avatar
3
sept. 21
6275
Read only field for certain user groups
fields readonly
Avatar
Avatar
1
sept. 15
9804
How to make a field readonly in odoo 17 based on groups of the user Résolu
fields readonly Odoo17
Avatar
Avatar
Avatar
Avatar
4
août 25
8192
How to implement dynamic domain conditional field?
domain fields conditional
Avatar
Avatar
Avatar
Avatar
3
mai 24
7221
Communauté
  • Tutoriels
  • Documentation
  • Forum
Open Source
  • Téléchargement
  • Github
  • Runbot
  • Traductions
Services
  • Hébergement Odoo.sh
  • Assistance
  • Migration
  • Développements personnalisés
  • Éducation
  • Trouver un comptable
  • Trouver un partenaire
  • Devenez partenaire
À propos
  • Notre société
  • Actifs de la marque
  • Contactez-nous
  • Emplois
  • Événements
  • Podcast
  • Blog
  • Clients
  • Informations légales • Confidentialité
  • Sécurité.
الْعَرَبيّة 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 est une suite d'applications open source couvrant tous les besoins de votre entreprise : CRM, eCommerce, Comptabilité, Inventaire, Point de Vente, Gestion de Projet, etc.

Le positionnement unique d'Odoo est d'être à la fois très facile à utiliser et totalement intégré.

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