viernes, 16 de noviembre de 2012

Primer reporte con Jasper Report y OpenERP

-->
Primer reporte en iReport y OpenERP

Una vez integrado el JasperReports con Openerp (http://trescloud.blogspot.com/2012/08/jasper-reports-en-openerp-v61.html) vamos a generar un xml que será el data set para el reporte. 
  1. En OpenERP ir a settings/Personalización/Jasper Reports/Crea plantilla de datos. Esta plantilla es un xml que contiene los campos del objeto al que vamos a realizar el reporte, y será este xml la fuente de datos del iReport.


  2. En la nueva ventana se solicita los siguientes datos:
    - Model: es el nombre del objeto del cual vamos a obtener el conjunto datos.
    - Depth: es un valor numérico que indica el nivel de profundidad de las tablas relacionadas a ese objeto.
    - XML: es un campo no editable, luego de crear la plantilla aparecerá el nombre Template.xml; en el botón Guardar Como, se puede elegir  el directorio donde se guardará la plantilla.


  3.  Ahora estamos listos para crear el primer reporte en iReport. 
Para iniciar el iReport se lo puede hacer desde una terminal o ejecutando directamente el  ireport.sh (en caso de estar en ubuntu como es nuestro caso).

iReport cuenta con un wizard que nos facilita la algunas tareas como la creación de un nuevo reporte y la conexión a la base, como se muestra ern la figura, elegimos un modelo de diseño para el reporte:


La figura siguiente muestra el entorno de iReport, la parte central es el espacio para diseñar el reporte, está dividido en secciones denominadas bandas: título (aparecerá en la primera página unicamente), la cabecera de pagina,  cabecera de columna (se repetirá en cada página), detalle (presenta los datos), pie de columna, pie de página, resumen y la banda no datos (en caso de que la base esté vacia, se mostrará la información de sección); cualquiera de estas bandas puede eliminarse según se requiera.


Antes de iniciar con el diseño del reporte hay que establecer una conexión con el datasource, para ello en la barra herramientas elegir "Reports Datasources"  se nos mostrará una lista de las conexión que hayamos realizado, clic en el botón New para configurar una nueva conexión:



Seleccionar el datasource de origen, en este caso se seleccionar XML file datasource:

Configurar los datos requeridos para la conexión:


Para mas información puedes contactarnos en

    Instalación de OpenERP 6.1 en Ubuntu Server (o Debian)




    Instalación de OpenERP 6.1 en Ubuntu Server (o Debian)

    OpenERP es uno de los gestores de recursos empresariales más importante en la actualidad, esto se debe principalmente a toda la comunidad que aporta en su construcción y mejora continua.

    En este caso, abordaremos uno de los principales procesos antes de poder iniciar a usar esta herramienta, como es su instalación, especificamente en Ubuntu Server. Cabe aclarar que esta guia puede ser usada para instalar OpenERP en Debian sin mayores dificultades (en Debian, ingresar al sistema como usuario root y ejecutar los comandos sin "sudo").

    Iniciemos:

    Lo primero, necesitamos Ubuntu server 10.04 LTS instalado, que por ahora quedará fuera de nuestra explicación.

    Ahora tenemos que actualizar el sistema, esto se hace mediante los siguientes comandos :

    Actualización de los repositorios:
    sudo apt-get update

    Iniciamos la actualización del sistema:
    sudo apt-get upgrade

    A partir de aqui, separaremos la instalacion en dos fases: la primera que se encarga de instalar y configurar la base de datos y la segunda que es la instalacion de OpenERP. La ventaja de hacerlo de esta manera es que podemos usar 2 servidores independientes, así cada uno se encarga de una parte específica.

    Fase 1:

    Instalando PostgreSQL para OpenERP

    Iniciamos creando un usuario de sistema que sera utilizado para el acceso a Postgres, para nuestro ejemplo lo llamaremos "openerp"

    sudo addgroup openerp
    sudo useradd -m -s /bin/bash -g openerp openerp

    Ahora configuramos la contraseña de este usuario, lo hacemos con el siguiente comando:

    sudo passwd openerp

    Aquí el sistema pedirá la nueva contraseña, al igual que la confirmación de la misma.


    Finalizado esto, instalamos Postgres

    sudo apt-get install postgresql

    En este punto debemos crear el usuario o "rol" con el cual accederemos a PostgreSQL:

    (ingresamos como usuario postgres del sistema)
    sudo su postgres

    (Creamos el rol openerp)
    createuser openerp -P

    Nos preguntará:

    La contraseña, que deberemos escribirla 2 veces
    Si queremos que este usuario sea "super usario", pondremos "n"
    Si se le permitirá crear bases de datos, pondremos "s"
    Si se le permitirá crear otros roles, pondremos "n"

    Hay que tomar en cuenta que si la instalación se la hace en inglés deberá responderse en inglés, es decir, en vez de "s" poner "y"

    (salimos del usuario postgres)
    exit

    Que hacer si el servidor es exclusivo para PostgreSQL:

    Es necesario habilitar el acceso a este servidor modificando los archivos de configuración de postgres:


    La mejor manera de ubicarlos archivos de configuración de postgres es utilizando el siguiente comando:

    sudo find / -name postgresql.conf

    En mi caso, el archivo de configuración se encuentra en /etc/postgresql/8.4/main/postgresql.conf

    Por defecto, tu servidor postgres solamente escuchará en localhost, para permitir el acceso a cualquier host modificaremos la siguiente directiva como está a continuación:

    listen_addresses = '*'



    Editar el fichero pg_hba.conf:

    De manera similar, buscamos el archivo pg_hba.conf con la siguiente instrucción:

    sudo find / -name pg_hba.conf
    En mi caso, el archivo de configuración se encuentra en /etc/postgresql/8.4/main/pg_hba.conf

    La idea es agregar una línea al final del archivo que permita el acceso al servidor, la línea es la siguiente:

    host all all 0.0.0.0 0.0.0.0 md5

    Una vez realizados estos pasos, debemos reiniciar el servicio postgres para tener acceso desde otro servidor.


    Fase 2:

    Instalando OpenERP

    Aunque se menciona como instalación, realmente aquí lo que se instalarán son las dependencias que OpenERP requiere para funcionar.

    OpenERP puede ejecutarse directamente gracias a que ocupa un lenguaje interpretado, en este caso python.

    Para comenzar, si estamos trabajando en un servidor diferente al que instalamos postgres, deberemos realizar los siguientes pasos: (si la instalación es en el mismo servidor se puede omitir el paso 1 y 2)


    1._ (Actualización de los repositorios y actualización del sistema)
    sudo apt-get update
    sudo apt-get upgrade

    2._ (Creación del usuario openerp)
    sudo addgroup openerp
    sudo useradd -m -s /bin/bash -g openerp openerp
    passwd openerp (pide ingresar 2 veces la contraseña)

    Ahora Instalamos los requisitos de OpenERP para que pueda funcionar correctamente, esto lo hacemos con el siguiente comando:

    sudo apt-get install python-lxml python-mako python-dateutil python-psycopg2 python-pychart python-pydot python-tz python-reportlab python-yaml python-vobject python-setuptools python-openid python-webdav

    Instalamos el Manager de paquetes para python (pip)

    sudo easy_install pip

    Este nos ayudara a instalar las versiones que OpenERP requiere de los siguientes paquetes:

    (werkzeug)
    sudo pip install werkzeug

    (babel)
    sudo pip install babel

    Descargando OpenERP y ejecutarlo

    Ingresamos como usuario openerp para usar su home como directorio de trabajo

    sudo su - openerp (pedirá la contraseña)

    Descargamos OpenERP desde la página oficial, para este trabajo usamos el comando wget


    wget http://nightly.openerp.com/6.1/releases/openerp-6.1-1.tar.gz

    Lo descomprimimos:

    tar -zxvf openerp-6.1-1.tar.gz

    Ahora, iniciamos OpenERP, hasta este punto si está en el mismo servidor que postgres debería arrancar correctamente, sin embargo, si está instalado en un servidor diferente nos dará un mensaje de error al querer mostrar la lista de bases de datos, esto debido a que no se ha configurado la conexión al servidor de postgres.

    cd openerp-6.1-1
    ./openerp-server


    Configurar OpenERP para conectarse a PostgreSQL

    OpenERP soporta algunos parámetros desde línea de comandos, existe uno que creara un archivo de configuración en el directorio home del usuario (si estamos como usuario openerp será /home/openerp), el parámetro es "-s".

    Pero antes, debemos ingresar como usuario openerp:

    sudo su - openerp
    cd /home/openerp/openerp-6.1-

     ./openerp-server -s



    Una vez ejecutado, se crea el archivo de nombre ".openerp-serverrc".

    Cabe anotar que si no se especifica ninguna opción de archivo de configuración este será el archivo que OpenERP use la siguiente vez que inicie.

    Ahora, editamos este archivo (como usuario openerp)

    nano  /home/openerp/.openerp-serverrc

    y buscamos las siguientes opciones que configuraremos con los valores necesarios para conectarse al servidos Postgres:



    db_user: Indica el nombre de usuario con el que nos conectaremos, en nuestro caso "openerp"

    db_password: La contraseña del usuario que estamos usando, aquí pondremos la contraseña que se configuró al crear el rol para postgres

    db_port: Puerto en el cual esta escuchando postgres, por defecto es el 5432

    db_host: Dirección IP del servidor, esta dirección dependerá de la configuración de red.

    Ejemplo:

    db_user = openerp
    db_password = clave
    db_port = 5432
    db_host = 192.168.0.189

    Y ahora si, ejecutemos OpenERP (debemos estar en /home/openerp/openerp-6.1-1 y acceder como usuario openerp)

    ./openerp-server

    Eso es todo, en caso de error de conexión a la Base de Datos, debe verificarse la configuración del servidor de PostgreSQL y la información del archivo de configuración de OpenERP.

    Espero que este tutorial les sea muy útil!!!

    Si deas más información sobre nosotros puedes ingresar a nuestro portal, www.trescloud.com

    Saludos!!!

    domingo, 4 de noviembre de 2012

    Congreso Nacional de Ingeniería en Sistemas SINAPUCE 2012




    TRESCLOUD estará presente replicando la charla-taller con la que participamos en el Campus-party en el Congreso Nacional de Ingeniería en Sistemas SINAPUCE 2012,

    El Cloud Computing, la Empresa y el Software Libre

    Este taller permitirá de forma breve presentar a los participantes varias herramientas relacionadas al software libre que permiten crear aplicaciones empresariales para Cloud Computing a partir de software de gestión empresarial; en particular se hablará de las siguientes herramientas: Ruby on Rails, OpenERP, GitHub, Heroku. Además, se presentarán algunas de las tecnologías que forman parte de Cloud Computing como Servicios Web, SOAP y HTML5.


    Se explorarán las características y los beneficios de emplear éstas soluciones. Se presentarán soluciones rápidas para desarrollo aplicaciones web empresariales teniendo como  frontend un framework de desarrollo web (Ruby on Rails) y como  backend  a un ERP (OpenERP), y como herramientas viabilizadoras el servicio para almacenamiento de proyectos y manejo de versionamiento GitHub y la plataforma abierta para Cloud Heroku.

    El Congreso Nacional de Ingeniería en Sistemas SINAPUCE 2012, es un evento anual promovido por las Escuelas de Ingeniería en Sistemas que forman parte del Sistema Nacional de Pontificias Universidades Católicas del Ecuador, que reúne investigadores docentes y estudiantes de  las Sedes de Ibarra, Santo Domingo, Esmeraldas, Quito y Ambato  para discutir  los avances obtenidos en la investigación, la docencia y el desarrollo del área de Informática en cada Sede y Región. El  Congreso Nacional del SINAPUCE  2012 comprenderá diversas actividades, incluyendo sesiones técnicas de presentación de trabajos,   talleres 

    prácticos,  paneles de discusión, concurso de tesis y disertaciones, así como conferencias de importantes personalidades del área.



    Para mas información puedes contactarnos en