2016-11-11 1 views
1

Je veux cacher/montrer les champs, en fonction d'un champ booléen, dans la communauté de Odoochamp booléen ne fonctionne pas - Odoo communauté v9

D'abord, je ne sais pas pourquoi il ne fonctionne pas, ceci est mon Code:

class account_invoice(models.Model): 
    _inherit = "account.invoice" 

    is_export = fields.Boolean(string="¿Es exportación?") 
    field_1 = fields.Char ... 
    field_2 = fields.Many2one ... 

maintenant sur mon avis:

 <record model="ir.ui.view" id="embarque_form_view"> 
     <field name="name">account.invoice.embarque.form</field> 
     <field name="model">account.invoice</field> 
     <field name="inherit_id" ref="account.invoice_form" /> 
     <field name="arch" type="xml"> 
      <field name='partner_id' position="after"> 
       <field name="is_export" class="oe_edit_only" widget="radio"/> 
       <field name="puerto_embarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="puerto_desembarque" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="moneda_export" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="tara_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="net_weight_unit" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="transporte_tipo" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
       <field name="modal_idad" attrs="{'invisible': [('is_export', '!=', 'True')]}"/> 
      </field> 
     </field> 
    </record> 

les champs sont en fait cachés, mais lorsque je tente de cliquer sur le champ booléen, pour les activer, il ne fonctionne pas, je veux dire il clique juste et ne devient pas 'T rue 'ou quoi que ce soit, ça reste comme si elle n'était pas claquée.

Je ne sais pas si cela est au sujet des attrs J'ajoute à tous les autres domaines, comme: attrs="{'invisible': [('is_export', '!=', 'True')]}"

Ce que je suis ici, je fais mal?

Répondre

2

champ booléen ne fonctionne pas à cause de widget de = « radio » attribut champ pour masquer/afficher d'autres champs.

Déclare is_export champ avec une valeur par défaut False

Essayez avec le code suivant:

is_export = fields.Boolean(string="¿Es exportación?", default=False) 

Mettez à jour votre fichier de vue avec

<record model="ir.ui.view" id="embarque_form_view"> 
    <field name="name">account.invoice.embarque.form</field> 
    <field name="model">account.invoice</field> 
    <field name="inherit_id" ref="account.invoice_form" /> 
    <field name="arch" type="xml"> 
     <field name='partner_id' position="after"> 
      <field name="is_export"/> 
      <field name="puerto_embarque" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="puerto_desembarque" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="moneda_export" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="tara_unit" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="net_weight_unit" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="transporte_tipo" attrs="{'invisible': [('is_export', '=', False)]}"/> 
      <field name="modal_idad" attrs="{'invisible': [('is_export', '=', False)]}"/> 
     </field> 
    </field> 
</record> 

Redémarrez le serveur Odoo et mettre à niveau votre module .

+0

Merci beaucoup Odedra, mais toujours la même chose :( – NeoVe

+0

Essayez avec suppression * Widget = « radio » * de * is_export * champ. –

+0

Merci beaucoup Odedra, lol c'est tout! – NeoVe