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

martes, 18 de febrero de 2020

Acción Automatizada para Prevenir Registros Duplicados

Acción Automaticas Revisión de Registros



     En el Sistema Odoo existe un menu que muy pocos utilizamos debido a que no sabemos realmente como funciona y sobre todo como explotar todo el potencial que tiene para evitar desarrollar restricciones que serian mucho mas faciles registrar dentro de esta Funcionalidad del Sistema.

El menu tiene por nombre Acciones Automaticas o Automatizadas dentro del menu de Configuración de Odoo.


Primero Crearemos un registro nuevo con el nombre que nos permita identificarlo de manera mas facil.

Lo primero seria:
  • Nombre de la Regla o Acción
  • Modelo al cual Aplicar.
  • Ejecución en este caso al Crear y Actualizar.




Lo segundo es generar el Codigo Python que nos va permitir aplicar la regla o restricción, para ello pulsamos dentro de la Pestaña Opciones y agregamos una Acción en Python.


El Código seria:


if record.default_code:
   existing_product = env['product.template'].search(
[('id','!=',record.id),
('default_code','=',record.default_code)
])
   if existing_product:
     raise Warning("La Referencia Interna ya existe en 
                    otro Producto en el Sistema.!")


Espero que les sea de utilidad.

jueves, 30 de julio de 2015

Eliminacion en Cascada y Restricciones en campos Many2One

Eliminacion en Cascada y Restricciones en campos Many2One

    Un Error muy comĆŗn durante la programación de clases y en especial al utilizar los campos Many2One y One2Many en Odoo es la definición de los atributos.
Existe uno en especial llamado "ondelete", este atributo tiene 3 funciones:

  1. Cascade. Permite eliminar los registros ligados a una clase, cuando tiene un campo one2many.
  2. Restrict. Impide la eliminación de la fila referenciada. 
  3. Set null. Modifica el campo a Nulo ó False, cuando el registro de la relación sea Eliminado.

Un ejemplo de ondelete:

class ejemplo_clase(osv.osv):
    _name = 'ejemplo.clase'
    _description = 'Descripcion del Modelo'
    _columns = {
        'lineas': fields.one2many('ref_id','ejemplo.linea', 'Linea'),
    }

class ejemplo_linea(osv.osv):
    _name = 'ejemplo.linea'
    _description = 'Descripcion del Modelo'
    _columns = {
        'ref_id': fields.many2one('ejemplo.clase', 'Referencia', ondelete="cascade"),
    }

    Lo que pasara en el ejemplo anterior es que cuando se borre un registro de la tabla ejemplo_clase, se borraran los registros de la tabla ejemplo_linea que tenga asignados.


lunes, 6 de enero de 2014

Restricciones en OpenERP mediante PostgreSQL

En OpenERP existen 2 Tipos de principales para validar la información que esta introduciendo el usuario contra la contenida en el sistema, ya sea contra la hora del sistema o algĆŗn formato necesario para la información, etc., estos tipos de validación serian:
 - Mediante funciones Python: Este tipo de restricción se realiza mediante funciones python.
 - Mediante restricciones de la Base de Datos(SQL Constraint): Este tipo de restricción se define en la clase a la cual se aplicara o la tabla a la cual se estarĆ” validando que los datos cumplan con los requisitos que definimos, por ejemplo si queremos que el campo nombre de un producto sea Ćŗnico tendrĆ­amos que tener esta restricción en mi clase.
Restricciones con Funciones Python