El modo desarrollador - Que es y porque es tan importante
Lo primero que uno aprende cuando empieza a desarrollar con Odoo es a usar el modo desarrollador. Es una herramienta que uno usa todos los días. Me atrevería a decir que es indispensable. Es tan popular en Odoo como el "Web Developer Tools" de Chrome para los desarrolladores de front-end. Es fundamental diría. Sin el modo desarrollador de Odoo, llegar a desarrollar un módulo en Odoo sería muy lento por no decir imposible.
Que es lo que permite el modo desarrollador? Muchas cosas entre ellas brindar información sobre los campos y objetos que uno ve en un formulario o en una lista (lo cual ya es demasiado). Conocer que métodos se llaman al clickear un botón. Saber que reglas de seguridad se están aplicando en un formulario, etc. Pero pasemos a ver como se activa y luego que podemos ver que se hace con el modo desarrollador. Por lo pronto en este artículo vamos a ver como se activa el mismo, conocer tres funciones de este y ver ejemplos de como se usa.
Como activar el modo desarrollador
Se activa de varias maneras. La primera es accediendo a Ajustes > Opciones Generales, y en la sección Developer Tools clickear en "Activar Modo Desarrollador" (tanto con activos o con activos de prueba sirven)
Luego de clickeado el link, uno verá en el extremo superior derecho un simpático bichito que cuando clickeado despliega un menú como el siguiente:
Otra forma de activarlo (mi favorita) es agregando el parametro debug=1 a la URL de Odoo. Por ejemplo si tenemos la siguiente URL
http://11.11.11.11:8069/web#cids=1&menu_id=4&action=90&model=res.config.settings&view_type=form
Agregandole el parametro debug=1 para activar el modo desarrollador quedaría así:
http://11.11.11.11:8069/web?debug=1#cids=1&menu_id=4&action=90&model=res.config.settings&view_type=form
Por último se lo puede instalar como una extensión de Chrome, solo tienen que descargar la misma de Chrome Store.
Inspeccionando los campos y objetos de un formulario
Lo primero que uno aprende a hacer con el modo desarrollador es conocer los campos de los diferentes formularios con los que trabaja. Por ejemplo, si movemos el mouse por encima de cualquier campo en un formulario o lista de Odoo, veremos que se despliega un pop-up con la información del nombre del campo, el objeto, el dominio del mismo, su widget, si tiene un método onchange asociado y en el caso de ser un campo del tipo many2one, a que objeto esta relacionado. Por ejemplo en la siguiente pantalla de una factura, al inspeccionar el campo Líneas de factura vemos el siguiente pop-up
En el mismo se informa que el campo es invoice_line_ids, y que esta relacionado con el objeto account.move.line
Modificando una vista ya existente por medio de la UI de Odoo
Una tarea común entre los administradores de Odoo es agregar campos a los formularios o listas que utilizan los usuarios. Supongamos que estamos en la vista de tipo lista de los clientes, y queremos agregar a la lista el campo "Total Facturado". Para ello primero debemos acceder a la definición de la vista en el modo desarrollador. Clickeando en el bichito del modo desarrollador, se podrá ver el menu Edit View: List, el cual permite editar la vista.
Esto permite acceder a un pop-up con las diferentes definiciones de los módulos que componen la vista
En este pop-up podemos ver mucha información interesante. Por ejemplo el ID externo de la vista (que es el que permite heredar siendo desarrollador). En este ejemplo el ID externo es base.view_partner_tree. Tambien podemos ver el código XML de la vista. Y en este código es donde vamos a agregar el campo total_invoiced (total facturado).
El cual despues de Guardar y refrescar la vista de la lista, nos permitirá ver el nuevo campo en la lista
No hay que emocionarse mucho haciendo cambios por medio de la UI. Simplemente no es sustentable. Cualquier actualización de código (algo bastante frecuente en Odoo) puede arrojar un error e impedir que Odoo se ejecute normalmente. Este tipo de modificaciones debe hacerse con mucho juicio
Conociendo que restricciones de seguridad se aplican en una vista
Otra utilidad que ahorra muchísimo tiempo es conocer que derechos de acceso, y que reglas de seguridad (sobre todo) se aplican en una vista. Supongamos que en la lista de clientes vamos a modo desarrollador y clickeamos en "View Record Rules" veremos la lista de reglas de seguridad aplicadas a dicha vista
En este caso, podemos ver que para la vista de los contactos se aplican las reglas de multi-company, entre otras.
Ejercicios
Active el modo desarrollador de la manera que más le resulte conveniente
Cual es el nombre del campo del número de CUIT en el cliente? y cual es el nombre del objeto?
Agregue el campo de nro de CUIT del cliente/proveedor a la vista de lista de clientes
Acerca de:
Gustavo Orrillo
Apasionado de la programación, implementa Odoo para distintos tipos de negocios desde el año 2010. En Moldeo Interactive es Socio fundador y Programador; además de escribir en el Blog sobre distintos temas relacionados a los desarrollos que realiza.