Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

Publicidad

viernes, 31 de enero de 2014

Corregir Error Time Zone en Odoo (OpenERP 8.0)

Corregir el Error de la Zona Horario en Odoo (OpenERP 8.0)     Se que muchos habrán notado que al crear registros después de las 6:00 PM los campos de Fecha/Fecha y Hora suelen cambiar para el siguiente día, esto es debido a que el ORM de OPEN utiliza el tipo de fecha y hora llamado 'UTC' en base de Datos, para corregir este error tenemos que hacer lo siguiente: Tenemos que corregir el Archivo fields.py Este archivo se localiza...

lunes, 27 de enero de 2014

Crear Demonio de Arranque Odoo (OPENERP 8.0)

Hacer Funcionar Odoo (OPENERP 8.0) como un Servicio del Sistema     Para que openerp-server pueda funcionar como un servicio de cualquier S.O. en Linux tenemos que entrar en la ruta: /etc/init.d/     Dentro de esta ruta debemos crear nuestro demonio le pondremos como nombre openerp-server-70 como referencia que es la versión 7.0 de OPENERP, y así poder tener distintos demonios para versiones diferentes,  para crear...

viernes, 24 de enero de 2014

Redes Sociales en nuestros Modelos en OpenERP 7.0 y Odoo (OpenERP 8.0)

Agregar Redes Sociales en OpenERP 7.0 y Odoo (OpenERP 8.0)     Desde la Versión 7.0 de OpenERP podemos observar en el pie de cualquier formulario la parte de Redes Sociales que de alguna manera de da un Plus a cualquier modelo de datos, para que podamos tener esa aplicación al momento de crear nuestros módulos en OpenERP tendríamos que agregar en nuestras clases el código siguiente: 1.- En la declaracion de nuestra Clase OSV...

lunes, 20 de enero de 2014

ENTENTIENDO LOS WORLFLOWS EN ODoo (OPENERP)

WORKFLOWS (FLUJOS DE TRABAJO).     Los flujos de trabajo pueden ser asociados a cualquier objeto en OpenERP, y son enteramente personalizables. Se utilizan para estructurar, y gestionar los ciclos de vida de objetos, y documentos. Definiendo transiciones, trigger (eventos), etc. etc. con herramientas gráficas. Como de costumbre, los flujos de trabajo, sus actividades (acciones o nodos), y sus transiciones (condiciones), se declaran...

HERENCIA DE VISTAS Odoo (OPENERP)

HERENCIA DE VISTAS. Igual que podemos heredar objetos, también podemos heredar vistas de la siguiente manera: <?xml version="1.0" encoding="UTF­8"?> <openerp>    <data> <!­­-- id='res_partner_xxxxx_form_view_inh'   Este es el nuevo identificador que identifica a la vista que estamos  definiendo. Tener en cuenta que termina en 'form_view_inh', esto lo hacemos por norma, para identificar que esta vista, es una vista que hereda De otra. 'name': Mismo nombre que el ID pero separado por '.' 'res.partner':...

RELACIONES ENTRE OBJETOS.

MANEJO DE CAMPOS RELACIONALES EN Odoo (OPENERP) one2many (de uno a muchos). Una relación de uno a muchos sería por ejemplo la relación entre autores y libros. Un autor puede tener escritos varios libros, y varios libros pueden pertenecer a un autor. La relación sería de 1 a N. Ejemplo de definición de la clase autor: class mybookstore_author(osv.osv):    _name ='mybookstore.author'    _description ='Autores'    _columns=...

Atributos en Formularios de Odoo (OPENERP)

ATRIBUTOS DEL ELEMENTO DE FORMULARIO <FIELD> attrs (condiciones de solo lectura, invisible, y requerido). Cuando definimos un atributo 'attr' a un campo <field>, estamos definiendo una condición.           Las condiciones que podemos definir es que el campo sea solo de lectura, requerido, o invisible. Supongamos que tenemos definido en nuestro archivo de Phyton una clase con los siguientes campos: 'historial':...

Como Funciona la Herencia en Odoo (OpenERP)

HERENCIA DE CLASES Y METODOS Odoo (OPENERP) _inherit (Herencia de objetos).     Al hacer referencia a este atributo, hacemos referencia a la HERENCIA. Un hijo hereda todos los campos, y funciones de su padre. Ejemplo:      Como todos sabemos, existe una clase que se llama “res.partner”. En el siguiente ejemplo vamos a crear una nueva clase que herede de “res.partner”. A esta nueva clase le añadiremos 2 Campos...

lunes, 13 de enero de 2014

Reglas en Odoo (OpenERP) utilizando campos Many2Many y One2Many

Reglas con Campos Many2Many y One2Many     Durante la creación de Reglas para Grupos en OpenERP en ocasiones tenemos que utilizar  campos many2many ó one2many para comparar que un valor se encuentre dentro de una lista de valores.     Por ejemplo cuando trabajamos en un entorno Multicompañia en OpenERP en ocasiones tenemos errores durante el manejo de Modelos que tengan Acceso a campos que utilicen la campos con referencia a compañía, por ejemplo si queremos la comprobación de que un elemento se encuentra dentro...

jueves, 9 de enero de 2014

Manejo de Campos many2many en Odoo (OPENERP)

Manejo de Campos many2many      En OPENERP es muy común que encontrásemos en el código de algunos módulos la utilización de campos relacionales may2many, los cuales contienen la siguiente sintaxis: (0, 0, { fields }) Crear nuevos registros con la lista de campos. (1, ID, { fields }) Modificar la lista de campos. (2, ID) Borrar un id de la relación many2many. (3, ID) Quitar (desvincular) un id de la relación manay2many. (4, ID) Vincular un id (5, ID) Desvincular todas las veces que aparece un id (6,?, IDS) Establecer una...

miércoles, 8 de enero de 2014

Métodos ORM Básicos para Programar Modulos en Odoo (OpenERP)

Métodos ORM básicos (Crear, Buscar, Leer, Actualizar y Borrar) Método create Sintaxis create (cr, uid, values, context=None) Crea un nuevo registro con los valores especificados. Parámetros específicos: •values: Diccionario con los valores de los campos para el nuevo registro. Devuelve el id del registro creado. Puede generar los siguientes errores: •AccessError: Si el usuario no tiene permisos de escritura en el objeto solicitado, o si el usuario intenta ignorar las reglas de acceso para crear el objeto solicitado. •ValidateError:...

Parámetros comunes a la mayoría de métodos ORM en Odoo (OPENERP)

La mayoría de métodos ORM tiene una serie de parámetros comunes a todos ellos:   •cr: Cursor de la base de datos   •uid: Identificador del usuario actual   •ids: Lista de enteros con los identificadores de los registros (o lista con un único entero cuando hay       sólo un id)   •context: Diccionario con los argumentos de contexto, como idioma, zona horaria, ...     Al definir nuestros modelos...

lunes, 6 de enero de 2014

INSTALACION DE OPENERP 7.0 EN UBUNTU, UBUNTU SERVER, 12.X y 13.X

Que tal buenas tardes a todos en este tutorial enseñare como instalar OpenERP en Ubuntu 12.04, aplica tambien para 12.10 y otras distribuciones de Linux como Debian, Linux Mint, entre otras..... Si alguno no sabe que es OpenERP o un ERP aqui esta el concepto: "OpenERP es un conjunto de soluciones integradas para gestión empresarial. OpenERP automatiza y simplifica los procesos de negocio con la cadena de suministro, con la cadena logística,...

Realizar Respaldo y Restauración Base de Datos de OpenERP 7.0 desde Terminal o Linea de Comandos Utilizando PostgreSQL 9.1 y 9.2

Que tal muy buenas tardes en este tutorial explicaremos como poder realizar un backup o respaldo y restauracion de nuestra base de datos de openerp con postgresql. Antes que nada utilzaremos el comando pg_dump podemos informanos un poco mas en el siguiente enlace:   http://www.postgresql.org/docs/9.1/static/app-pgdump.html  Para realizar un respaldo o también conocido como backup de nuestras base de datos de OpenERP mediante postgrest mediante terminal ejecutaremos el siguiente comando en donde especificaremos la base de datos a restaurar...

Agregar nuevos campos en formularios OpenERP 7 sin necesidad de crear modulos

AGREGAR CAMPOS EN PEDIDO DE VENTA      OpenERP tiene la facilidad y flexibilidad de poder agregarle nuevos campos a cualquier formulario de cualquier modulo directamente en el servicio sin necesidad de crear un modulo que realice esto, esto es muy eficiente y de mucha ayuda al momento de implementar OpenERP, ya que en ocasiones los campos que contienen los modulo no satisfagan nuestras necesidades, por ejemplo en pedido de venta...

Campos Funcionales con OpenERP

En OpenERP un campo funcional es un campo cuyo valor no sera definido por el usuario sino el resultado de una funcion (estos campos no se guardan en base de datos ). En ocasiones, para aumentar la velocidad de consulta de OpenERP y facilitar las búsquedas, los campos funcionales también pueden ser guardados en la base de datos aunque siempre son calculados/actualizados por una o varias funciones y no por el usuario . La estructura de un campo funcional es la Siguiente: fields.function(fnct, arg=None, fnct_inv=None, fnct_inv_arg=None,...

Desarrollo de modulos para OpenERP 6.1, 7.0, 8.0

El desarrollo de modulos en OpenERP esta basado en el modelo MVC (Modelo Vista Controlador) y  ORM como su mapeo relacional de objetos, utilizando Python como lenguaje de programacion base y XML para poder generar las vistas de nuestro modulo, PostgreSQL como nuestro gestor de bases de datos, para programar modulos en OpenERP, no se necesita ser un experto en Python, simplemente con entender la base de Python, el manejo de las listas, tuplas y diccionarios y la definicion de funciones. Para poder desarrollar modulos para OpenERP es necesario...

Idioma Personalizado para OpenERP

Como ya conocemos OpenERP es un sistema demasiado flexible, nos permite editar vistas, objetos directamente en el sistema, basándonos en esta "propiedad" de OpenERP podemos definir una Traducción Personalizada de nuestro Idioma, ya que en ocasiones la traducción por defecto en OpenERP no es muy clara o algunas palabras están traducidas a un nivel estándar  para solucionar este problema podemos...

Instalación de Jasper Reports en OpenERP 7.0

El manejo de Reportes con Jasper Reports en OpenERP se dejo a un lado desde la versión 7.0 pero es una excelente opción al momento de crear reportes para cualquier modelo de OpenERP, para ello de ah modificado el Modulo Jasper Reports para hacerlo compatible con la versión 7.0 del ERP. Si no conocen sobre Jasper Reports les recomiendo el siguiente enlace: http://www.jasperassistant.com/docs/guide/...

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...