Valor "True" campo booleano solamente en la vista

344 views
Skip to first unread message

Anabel Preciado

unread,
Sep 3, 2015, 7:22:48 PM9/3/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
Buen dia:

Necesito poner como default el valor "True" a un campo tipo "Booleano", se que que podria hacerlo desde la clase (.py) con la propiedad "default", pero como solo lo necesito para ciertos casos no quiero que aplique siempre con el mismo valor, por eso quisiera saber si se puede poner solamente como default su valor en la vista de formulario.

Gracias / Saludos.

Gabriel Davini

unread,
Sep 4, 2015, 10:27:24 AM9/4/15
to odoo-ar...@googlegroups.com
Buen día

Necesito poner como default el valor "True" a un campo tipo "Booleano", se que que podria hacerlo desde la clase (.py) con la propiedad "default", pero como solo lo necesito para ciertos casos no quiero que aplique siempre con el mismo valor, por eso quisiera saber si se puede poner solamente como default su valor en la vista de formulario.

default puede recibir el nombre de un método, ahi deberías calcular lo que necesites y devolver o bien True o bien False.

También podrías ver de heredar el método default_get o, si querés hacer algo bien a nivel de vista, el método fields_view_get. Igual te recomiendo que uses lo primero.

Saludos.

Anabel Preciado

unread,
Sep 4, 2015, 7:13:10 PM9/4/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
Me podrias como esta eso?? la verdad solo lo quiero usar a nivel vista ya que son los movimientos generados manuales o automaticas en este caso quisiera que me vista al presionar el boton "Crear" ya trajera solo por default el true en mi campo booleano, la vista en la cual quiero generar este impacto es la siguiente:   <field name="inherit_id" ref="account.view_move_form"/> bueno en esa vista es en la cual estoy heredando y poniendo mi campo.

Gabriel Davini

unread,
Sep 4, 2015, 7:17:39 PM9/4/15
to odoo-ar...@googlegroups.com
Qué es lo que no entendés?

Si podés contar más detalladamente el proceso para que se entienda lo que querés hacer.
--
Gabriel.

Anabel Preciado

unread,
Sep 7, 2015, 9:49:27 AM9/7/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
en mi archivo .py declaro mi campo de la siguiente manera:

class account_move(osv.osv):
    _name = "account.move"
    _inherit = 'account.move'
    
    _columns = {         
         'manual': fields.boolean('Manual', help="", store=True), 
     } 

en mi vista de la siguiente manera:

 <record id="view_move_form_test" model="ir.ui.view">
            <field name="name">account.move.form</field>
            <field name="model">account.move</field>            
            <field name="inherit_id" ref="account.view_move_form"/>            
            <field name="arch" type="xml"> 
             <field name="to_check" position="after">
              <field name="manual" default="True" readonly="1"/>
             </field>                                  
            </field>
        </record> 


utilizado el default, attibute y no consigo poner el valor True desde la vista no en la clase.

El jueves, 3 de septiembre de 2015, 18:22:48 (UTC-5), Anabel Preciado escribió:

Gabriel Davini

unread,
Sep 7, 2015, 9:54:26 AM9/7/15
to odoo-ar...@googlegroups.com
2015-09-07 10:49 GMT-03:00 Anabel Preciado <damp...@gmail.com>:
en mi archivo .py declaro mi campo de la siguiente manera:

class account_move(osv.osv):
    _name = "account.move"
    _inherit = 'account.move'
    
    _columns = {         
         'manual': fields.boolean('Manual', help="", store=True), 
     } 
 
Pensé que estabas usando la API nueva. El default no va en la vista. Deberías agregar algo asi:

_defaults = {
    'manual': True,
}

Y si necesitás, en vez de True podés pasarle un método.

Saludos.
--
Gabriel.

Anabel Preciado

unread,
Sep 7, 2015, 10:47:40 AM9/7/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
si, lo que no quiero es poner el default en la clase, asi como me lo mencionas, necesito que solo sea en la vista y leyendo algunos articulos sugerian esa propiedad que por que lo prove no funciona. porque si le paso un metodo siempre sera el valor true de donde se realize el movimiento y por eso solamente quisiera ponerlo en especifico en esa vista.


El jueves, 3 de septiembre de 2015, 18:22:48 (UTC-5), Anabel Preciado escribió:

Gabriel Davini

unread,
Sep 7, 2015, 10:55:35 AM9/7/15
to odoo-ar...@googlegroups.com
Mirá nunca lo usé en la vista, asi que no te puedo decir nada respecto a eso. Pero lo que yo tengo entendido no se puede, igualmente fijate, buscá en ejemplos en los módulos.

El método fields_view_get  recibe como argumento el id de la vista, podés buscar a través de ese id si es la vista que vos querés modificar y ahi seteás el campo como default. Yo lo haría de esa manera.

--
Gabriel.

Anabel Preciado

unread,
Sep 7, 2015, 11:43:02 AM9/7/15
to odoo-Argentina - Preguntas y respuestas para personalizadores
ok muchas gracias si es la manera en la que estoy intentando poner mi campo como true. gracias por el aporte, saludos.


El jueves, 3 de septiembre de 2015, 18:22:48 (UTC-5), Anabel Preciado escribió:
Reply all
Reply to author
Forward
0 new messages