Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Tu marca aqui mismo

Llega a miles de personas.

Publicidad

Mostrando las entradas con la etiqueta context odoo. Mostrar todas las entradas
Mostrando las entradas con la etiqueta context odoo. Mostrar todas las entradas

viernes, 10 de marzo de 2017

Herencia de propiedades en Vistas Formulario

Recepción de Propiedades mediante el contexto Odoo de las Vistas Formulario


Una propiedad muy interesante en la programación Odoo es poder heredar propiedades, valores, etc.
Esto es posible gracias a un parametro heredable en todos los aspectos de Odoo (Funciones, Vistas, Acciones de Ventana. etc..) llamado context.

Existe una infinidad de usos que podemos darle al contexto de odoo, desde enviar una cantidad infinita de variables en este parÔmetro dentro de una función, hasta la posibilidad de heredar valores desde la vista formulario en campos relación.

Dentro de nuestro formulario podemos enviar valores al contexto como lo mencione anteriormente, por ejemplo en la relación de lineas de pedido (order_line_ids) enviare el Almacén del Pedido, esto lo haria en la vista de esta manera:

<field name="order_line_ids" context ="{'warehouse_id': warehouse_id} />

En este ejemplo el campo warehouse_id es necesario que exista en la vista de donde lo enviamos, acto seguido si definimos cualquier mƩtodo dentro del registro de ventas, podemos observar dentro del contexto el campo warehouse_id con el AlmacƩn del Pedido de Venta.



viernes, 8 de abril de 2016

Environment y Context para Odoo

Odoo Environment



Algunos tips para poder utilizar el context con la nueva Api de Odoo.

Si necesitas actualizar el contexto al llamar una Clase utilizamos la funcion  with_context() ejemplo:


self.env['res.partner'].with_context(tz=x).create(vals)

tz = Zona Horaria
vals = Diccionario con los valores para crear un registro en el Objeto res.partner (Tabla de Clientes, Proveedores y Contactos).

Algo que no debemos hacer con el environment de Odoo es usar la siguiente expresión:

self = elf.env['res.partner'].with_context(tz=x).browse(self.ids)

    Esto genera una incoherencia de cache entre registros, esto tratarĆ­a de volver a generar  recordsets de los recodrsets por ejemplo, yo ya me encuentro en la clase res.partner creando un mĆ©todo, entonces, ya no es necesario hacer un llamado de la misma clase en su lugar podrĆ­amos simplemente usar self, ya que todo es un recordset para la API de Odoo.