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 develop. Mostrar todas las entradas
Mostrando las entradas con la etiqueta develop. Mostrar todas las entradas

lunes, 22 de febrero de 2016

Insertar Registros por Query SQL y retornar el ID (Odoo y OpenERP)

Insertar Registro Directamente en Base de Datos y Retornar el ID




     En ocasiones es necesario optimizar un poco nuestro código en base a Querys directos a base de datos, muchas veces insertamos registros, pero es difĆ­cil conocer el id que acabamos de insertar, un error muy comĆŗn con la programación es consultar el ultimo ID de la tabla, esto puede darnos la solución cuando solo trabajamos nosotros en la Base de Datos, pero en un entorno real, con concurrencia a la base de datos, el ultimó ID seria muy variable, para esto podemos apoyarnos de PostgreSQL y el comando RETURNING, este comando nos retorna cualquier valor, en este caso la columna serial ID, la estructura es muy simple:


self.env.cr.execute(""" INSERT INTO res_partner (name,customer) VALUES ('PonceSoft', True) RETURNING id; """)

my_id=self.env.cr.fetchall()[0][0]

La variable my_id es el ID que acabamos de insertar en la Base de Datos.



jueves, 16 de julio de 2015

Mostrar Columnas Ocultas en Clases Odoo

Agregar Columnas Ocultas en Vistas Odoo


    En Odoo, por defecto cada vez que se crea una nueva Clase, esta se convierte a una tabla de nuestra Base de Datos, este proceso es administrado por el ORM del Framework, durante esta conversión el sistema creara 5 columnas de forma automĆ”tica:


  1. id: Este Campo es la llave principal de todas las Tablas.
  2. create_uid: Usuario que creo un registro.
  3. create_date: Fecha en la que se creó el registro.
  4. write_uid: Usuario que modifico un registró.
  5. write_date: Fecha en la que se modifico el registró.
    Las columnas anteriores, sirven de alguna manera para auditar la información, en ocasiones es necesario alguna de estas Columnas en nuestras vistas, pero como son manejadas internamente por el Framework, por defecto no podemos agregarlas directamente.

Para AƱadirlas a una vista, se debe hacer lo siguiente:

1. Heredar la Clase y aƱadir las columnas como campos, teniendo cuidado de definir el tipo exacto como esta en la Tabla:


class mi_clase(osv.osv):
_name='mi.clase'
_columns={
    'create_uid': fields.many2one('res.users', 'Creado Por', readonly=True),
}

mi_clase()

2. Lo ultimo es añadirlo a nuestra Vista ó Vistas:

<record model='ir.ui.view' id='mi_clase_form'>
    <field name='priority'>3</field>
    <field name='type'>form</field>
    <field name='model'>mi.clase</field>
    <field name='arch' type='xml'>
    <form string="Clase Ejemplo">
        <field name="create_uid"/></field>
    </form>
</record>




lunes, 21 de julio de 2014

Curso de Introduccion al Desarrollo OpenERP 7.0 (Odoo)

Creando mi Primer Modulo



Buenas Tardes, en este Post, comparto el Curso Impartido sobre Desarrollo utilizando el Framework OpenObject para desarrollos con OpenERP (Odoo).