logo

Mejorando los extractos bancarios de OpenERP

Contabilidad analítica en extractos bancarios

La primera mejora a presentar, es la posibilidad de imputar gastos/ingresos en la contabilidad analítica ¡directamente desde los extractos bancarios!

Gracias al módulo pxgo_bank_statement_analytic

Podremos contabilizar analíticamente aquellos pequeños gastos para los que no registramos factura (como comisiones bancarias).

Una vez instalado el módulo (disponible en los extra-addons de OpenERP), nos aparecerá una nueva columna («Cuenta Analítica»), que nos permitirá seleccionar la cuenta a la que queremos imputar la el gasto/ingreso:

Leer más: http://pexego.es/blog/2010/06/21/mejorando-los-extractos-bancarios-de-openerp/

Además, le adjuntamos el enlace a nuestra web, donde podrá encontrar más información de su interes, haciendo clic aquí.

Extractos bancarios

Leer más

Subida del IVA en OpenERP con Account Chart Update

Recordemos que la subida del IVA en OpenERP se aprobó en la Ley 26/2009, de 23 de diciembre, de Presupuestos Generales del Estado para el año 2010. 

«Artículo 79. Impuesto sobre el Valor Añadido. Con efectos desde el 1 de julio de 2010 y vigencia indefinida, se introducen las siguientes modificaciones en la Ley 37/1992, de 28 de diciembre, del Impuesto sobre el Valor Añadido. Uno. Se modifica el apartado uno del artículo 90, que queda redactado de la siguiente forma: «Uno. El Impuesto se exigirá al tipo del 18 por ciento, salvo lo dispuesto en el artículo siguiente.» El resto del artículo queda con el mismo contenido. Dos. Se modifica el encabezado del apartado uno del artículo 91, que queda redactado de la siguiente forma: «Uno. Se aplicará el tipo del 8 por ciento a las operaciones siguientes:» El resto del apartado y artículo quedan con el mismo contenido.«

Leer más: http://pexego.es/blog/2010/06/11/subida-del-iva-en-openerp-con-account-chart-update/

Además, también le adjuntamos, el enlace a nuestra web, dpnde podrá encontrar más información de su interés, haciendo clic aqui.

Subida IVA en OpenERP

Leer más

¿Por qué software libre?

“El software libre (en inglés free software, esta denominación también se confunde a veces con gratis por el doble sentido del inglés free en castellano); Ey, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente.

Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.”

No centraremos en detalle de licencias, diferencias, discusiones de la definición, etc.: hay mucho escrito a lo “largo y ancho” de internet respecto al tema.

En resumen:

Tanto la herramienta como el código que “la hace funcionar” están a disposición del público. Independientemente de su naturaleza, las empresas que desarrollamos e implementamos software lo único que hacemos es ofrecer soluciones a los problemas que nuestros clientes nos plantean, con diferencias si dichas soluciones son propietarias o libres:

  • Las soluciones propietarias requieren que en la mayoría de los casos seas tú el que se adapte a su solución: el Software Propietario A soluciona los problemas X, Y y Z. Si quieres que solucione X’, Y’ o Z’, los costes de la modificación te van a salir realmente caros (normalmente) o puede que tengas que esperar a una versión posterior, que tendrás que migrar y pagar.
  • Si realmente tus problemas son X, Y y Z, y si no son realmente muy específicos y complejos, seguramente la alternativa de software libre sea mucho más barata, ya que no existen costes de licencias, ni de uso, ni por puesto, etc. y ofrece el mismo rendimiento y garantías.
  • Las implantaciones de software propietario te hacen cautivos de la herramienta y de la compañía detrás de la misma. Si dicha compañía desaparece, es adquirida por otra compañía con un producto similar y extinguen tu producto, realmente tienes un problema. En cambio, con un software libre y como su propio nombre indica, la libertad es absoluta.
  • Las comunidades de software libre detrás de las herramientas, son realmente transparentes. Un producto puede ser totalmente llevado por la comunidad, o normalmente existe un tercero (normalmente el creador) que se encarga de su control y guía el desarrollo del mismo. Es decir, máxima garantía en todos los aspectos.

Conclusiones:

La experiencia nos dice que la mayoría de las empresas buscan la practicidad funcional en la elección del software.

De hecho, independientemente de si es libre o no, y pesan otras variables, normalmente económicas.

Como hemos comentado anteriormente; la total flexibilidad de la solución; el coste menor (normalmente) y el pronto retorno de la inversión suelen ser las principales bazas ganadoras del software libre. Pero por supuesto, esto sólo es posible si la empresa implantadora ofrece total confianza y experiencia en la solución elegida.

Además le adjuntamos el enlace a nuestra web, dónde podrá encontrar más información, haciendo clic aquí.

¿Por qué software libre?

Leer más

Scriptlets de Jasper Reports

En este post voy a mostrar como realizar un Scriptlet y usarlo en iReports.

A continuación, veremos lo fácil que es filtrar y transformar esos datos si conoces el lenguaje, si usas ellenguaje xPath para filtrar o transformar esos datos es necesario usar Scriptlets.

Un Scriptlet para Jasper Reports es una clase Java que hereda de JRDefaultScriptlet, los métodos que creemos en esta clase estarán disponibles para usarlos en nuestro informe.

Primer paso

Empezaremos explicando, que hay que hacer para crear este Scriptlet de ejemplo vamos a crear un fichero llamado CalendarioScriptlet.java en un directorio llamado calendario, con dos métodos, uno que dice el día de la semana en el que cae el día uno de un mes y el otro método dice el número de días que tiene un mes.

Este es el código:

package calendario;
import net.sf.jasperreports.engine.JRAbstractScriptlet;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;
import java.util.*;
public class CalendarioScriptlet extends JRDefaultScriptlet {
public Integer primerDiaMes(String mes, String anno) throws JRScriptletException{
Calendar cal = new GregorianCalendar();
cal.set(Integer.parseInt(anno), Integer.parseInt(mes)-1, 1);
int num = cal.get(Calendar.DAY_OF_WEEK );
return num;
}
public Integer numeroDiaMes(String mes, String anno) throws JRScriptletException{
Calendar cal = new GregorianCalendar();
cal.set(Integer.parseInt(anno), Integer.parseInt(mes)-1, 1);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1);
int num = cal.get(Calendar.DAY_OF_MONTH );
return num;
}
}

Segundo paso

En segundo lugar, esta es la clase que hemos creado para usar en nuestro informe, para poder usarlo tenemos que compilar el java. Para poder compilar el scriptlet tienes que tener las librerías de jasperreports, puedes descargarlo desde aquí, busca el .jar.

Tercer paso

Si nos situamos en el directorio padre del directorio calendario en el que esta CalendarioScriptlet.java, y tienes la librería de jasper en /home/usuario/report/jasperreports-3.7.2.jar puedes compilar así:

javac -classpath /home/usuario/report/jasperreports-3.7.2.jar calendario/CalendarioScriptlet.java

y puedes crear la librería .jar de tu Scriptlet así:

jar cf calendarioScriptlet.jar calendario/CalendarioScriptlet.class

Con esto tenemos calendarioScriptlet.jar.

Cuarto paso:

A continuación, vamos a ver lo que tenemos que hacer en iReport para poder usar el Scriptlet. Primero vamos a las propiedades del informe.

Scriptlets de Jasper Reports

 

 

 

Aquí tenemos que asegurarnos que el lenguaje es Java y poner la clase del Scriptlet.

Scriptlets de Jasper Reports

 

 

 

Y en el campo import poner también el nombre de la clase.

Scriptlets de Jasper Reports

 

 

 

Quinto paso:

Ahora vamos a Herramientas>Opciones para añadir al classpath nuestra librería, para poder ejecutarlo en iReport. Podemos añadir al classpath directamente calendarioScriptlet.jar o el directorio que lo contiene, si queremos ejecutar el informe desde otro programa tendremos que copiar la librería al PATH del sistema o copiarla junto con el resto de las librerías.

 

 

De esta manera, con esto ya podemos usar las clases de nuestro Scriptlet en el informe, podemos usarlo por ejemplo en un field, teniendo en cuenta que el tipo de dato que devuelve sea el mismo que el tipo de dato del field o haciendo algún tipo de casting. O incluso, podemos usarlo para filtrar los datos, clickando el botón “Filter expression…” en la ventana de la consulta del informe.

Para llamar a un método de nuestra clase tenemos que llamarla sobre el parámetro $P{REPORT_SCRIPTLET}, por ejemplo para conocer el número de días de el mes de febrero del año 2010 lo podemos hacer así:
$P{REPORT_SCRIPTLET}.numeroDiaMes("2","2010")

Resumen:

Para concluir, con esto hemos visto como crear y usar un Scriptlets en iReports, este Scriptlet en concreto lo he creado para realizar un informe tipo calendario así que pronto subiré otro post con la explicación del informe y el ejemplo de como usar este Scriptlet.

Fuente: http://angelmoya.es/openerp/scriptlets-de-jasper-reports/

Además, también le adjuntamos el enlace a nuestra web, donde podrá encontrar más información de su interés, haciendo clic aquí.

Scriptlets de Jasper Reports

Leer más

Traducción de la Documentación de Open ERP

http://doc.openerp.com.

La herramienta que genera la documentación es sphinx, esta herramienta permite generar la documentación en formato html y en Latex para generar los pdf, usar etiquetas, crear indices… tienes mas información en su pagina.

Para instalar sphinx en Ubuntu:
sudo easy_install sphinx

Para poder generar la documentación hace falta instalar algunas dependencias para generar los documentos Latex y convertir las imágenes:
# Instalar Latex extras
sudo apt-get install texlive-latex-extra texlive-fonts-recommended
# Instalar ImageMagick para convertir imágenes
sudo apt-get install imagemagick

Ahora que tenemos sphinx instalado vamos a descargar el código de la documentación como vimos en el post anterior
bzr branch lp:openobject-doc

Al descargar el código se crea un directorio openobject-doc y dentro de este nos interesan los siguientes directorios

  • books: con los libros
  • build: en este se genera la documentación en html y en pdf
  • i18n: con las plantillas para los diferentes idiomas
  • source: con el código de la documentación original

Para generar la documentación original en ingles nos situamos en el directorio openobject-doc y hacemos lo siguiente:

#Para generarla en html:
make clean
make html
#Para generarla en pdf:
make clean
make latex
cd build/latex
make all-pdf

Con esto hemos generado la documentación que tiene el código en la carpeta source, estos son book, user-trainning..

Para generar la documentación que se encuentra en el directorio book, puedes hacerlo así
cd books/book_mrp
make clean
make latex
cd build/latex
make all-pdf

Con esto hemos visto como generar la documentación original en html y en pdf, ahora vamos a ver como se hacen las traducciones. Dentro del directorio i18n se encuentran los directorios de las plantillas de cada idioma, la de español ya esta creada, si se quisiese crear otro directorio para otro idioma se puede hacer ejecutando
make i18n LANG=xx
con esto se crea el directorio openobject-doc/i18n/xx, donde xx indica el idioma en el que vamos a traducir las plantillas.

Las plantillas de la documentación para la documentación en español están en el directorio openobject-doc/i18n/es, para generar la documentación en español se hace igual que hemos explicado antes para la original en ingles pero desde este directorio.

Los ficheros con extensión rst son las plantillas que tenemos que traducir, estos ficheros tienen una serie de lineas que empiezan con la etiqueta –i18n: que son las lineas originales de la traducción y seguido de estas lineas tiene que aparecer la traducción, cuando se han generado las plantillas de la traducción estas lineas aparecen también en ingles.

Por ejemplo este es un fragmento del fichero openobject-doc/i18n/es/source/book/0/index.rst antes de traducirlo:
.. i18n: The Open ERP Solution
.. i18n: =====================

The Open ERP Solution
=====================

.. i18n: Because of its modularity, collaborative developments in Open ERP have been cleanly integrated,
.. i18n: enabling any company to choose from a large list of available functions.
.. i18n: As with most open source software, accessibility, flexibility, and simplicity are important keywords
.. i18n: for development.
.. i18n: Experience has shown that there’s no need to train users for several months on the system,
.. i18n: because they can just download it and use it directly.

Because of its modularity, collaborative developments in Open ERP have been cleanly integrated,
enabling any company to choose from a large list of available functions.
As with most open source software, accessibility, flexibility, and simplicity are important keywords
for development.
Experience has shown that there’s no need to train users for several months on the system,
because they can just download it and use it directly.

Así se quedaría después de traducirlo:
.. i18n: The Open ERP Solution
.. i18n: =====================

La solución Open ERP
=====================

.. i18n: Because of its modularity, collaborative developments in Open ERP have been cleanly integrated,
.. i18n: enabling any company to choose from a large list of available functions.
.. i18n: As with most open source software, accessibility, flexibility, and simplicity are important keywords
.. i18n: for development.
.. i18n: Experience has shown that there’s no need to train users for several months on the system,
.. i18n: because they can just download it and use it directly.

Debido a su modularidad, el desarrollo colaborativo en Open ERP ha sido limpiamente integrado,
permitiendo a cualquier empresa a elegir entre una larga lista de funciones disponibles.
Como con la mayoría del software de código abierto, la accesibilidad, flexibilidad y simplicidad son las palabras clave
para el desarrollo.
La experiencia ha demostrado que no hay necesidad de formar a los usuarios durante varios meses en el sistema,
porque Open ERP esta disponible para descargarlo y utilizarlo directamente.

También hay que tener en cuenta que sphinx permite crear el indice de la documentación, vinculos, encabezados, salto de paginas, ect, asi que habrá etiquetas que normalmente comiencen con .., lineas de * o lineas de -, que deberán mantenerse para no perder el formato o el vinculo.

Fuente: http://angelmoya.es/openerp/traduccion-de-la-documentacion-de-open-erp/

Leer más

Impuesto tipo canon en Openerp

El impuesto tipo canon en Openerp, tiene como unidad de medida por defecto la célula para aplicar la tasa y como medida de venta la batería.

Lo primero creo el impuesto de tipo fijo, el canon se aplicará a cada cd.

Creo las medidas Unidad y Tarrina en una nueva categoría de medida que he llamado CD.

Impuesto tipo canon en Openerp

Creo el producto CD, con unidad por defecto Unidad y unidad de venta Tarrina con ratio de conversión 1/25 = 0,04.

Ahora si creo un pedido, al crear la linea puedo poner en la unidad de venta Tarrina y cantidad 1 y automaticamente si unidad por defecto es Unidad se pone la cantidad a 25.


Impuesto tipo canon en Openerp

También puedo crear lineas con unidad de venta Unidad, en este caso la Unidad que indico en la unidad de venta es la de la categoría que he creado. Pero he tenido que forzar que coja como valor 1.

Impuesto tipo canon en Openerp

Si hago click en el botón de calcular impuestos, me calcula los impuestos sobre los 26 CDs (25 de la tarrina y uno suelto).

Al imprimir el pedido si que sale las unidades de venta.

Se podría cambiar el informe para que la impresión del precio unitario tuviese en cuenta la unidad de venta,

Y por último, se podría modificar la ventana de pedidos para mostrar la unidad de venta.

Fuente: http://angelmoya.es/openerp/impuesto-tipo-cannon-en-openerp/

Además, le dejamos el enlace a nuestra web, donde podrá encontrar más información que le podría resultar interesante, haciendo clic aquí.

Impuesto tipo canon en Openerp

Leer más

Como saber el nombre del modelo que necesito para un informe

A continuación le mostramos paso a paso, un tutorial para saber el modelo necesario con el que realizar el informe que busca con OpenERP.

Muy sencillo, simplemente entra en el cliente web de la aplicación logeandote como admin, entra en la ventana en la que quieres meter el informe y en la zona inferior a la izquierda clicka sobre [PERSONALIZAR]>PERSONALIZAR OBJETO

Esto abre una ventana emergente con la información del objeto, en este caso estamos en la factura y el objeto es account.invoice

Ahora si quiero iterar sobre las lineas de la factura buscando entre los campos de este objeto vemos que hay uno etiquetado como “Invoice Lines”, y el nombre del campo es invoice_line.

Como último consejo entra en el sistema en ingles y abre la ventana en modo formulario, así será mas fácil relacionar los campos del formulario con los del modelo.

Fuente: http://angelmoya.es/openerp/como-saber-el-noSólo los miembros del equipo OpenERP Spain Team puede hacer traducciones o aprobar sugerencias al español de España. Los que no son miembros pueden hacer sugerencias.mbre-del-modelo-que-necesito-para-un-informe/

También le dejamos a continuación el enlace a nuestra web, donde podrá encontrar más información de su interés, haciendo clic aquí.

Resultado de imagen de openerp

Leer más

Launchpad y Bazaar para colaborar con OpenERP

La semana pasada estuve en Bilbao en las jordanas estatales de OpenERP y me quede impresionado con el funcionamiento de la comunidad. Como hace tiempo que estoy dándole vueltas a la documentación y pensando en traducirla he decidido que lo primero con lo que voy a empezar a colaborar es con la traducción de la documentación. Las herramientas necesarias para colaborar con OpenERP son Launchpad y Bazaar, vamos a ver que son y como se utilizan si queremos descargar código (en este caso será el código de la documentación), modificarlo y volverlo a subir para que este disponible para la comunidad.

Según la wikipedia “Launchpad es una aplicación web y un sitio web que apoya el desarrollo de software, en particular el de software libre. Está desarrollada y mantenida por Canonical Ltd..”, puedes ver el articulo completo aqui. Launchpad da soporte para compartir código y controlar versiones, reportar errores (Bugs), sugerir modificaciones y nuevas funcionalidades (blueprints), crear traducciones y para dar respuestas a preguntas de la comunidad. La herramienta que permite compartir el código y controlar versiones es Bazaar, luego veremos como funciona.

Para poder colaborar en cualquier proyecto alojado en Launchpad tendremos que registrarnos en la web de Launchpad. Una vez tengas tu cuenta en launchpad puedes unirte al grupo openerp-community. No es necesario unirse a ningún grupo para descargarte el código, pero si para subir modificaciones.

Bazaar es la herramienta que permite descargar el código y controlar las versiones a la hora de subirlo. Puedes ver mas en Bazaar en cinco minutos. Para instalar bazaar en ubuntu 9.10 hacer lo siguiente: Dependiendo de la versión necesaria para usar bzr es conveniente instalarlo desde su repositorio echo 'deb http://ppa.launchpad.net/bzr/ubuntu karmic main' | sudo tee -a /etc/apt/sources.list apt-get update Una vez añadido al repositorio se puede instalar asi apt-get install bzr

para instalarlo en otra versión de ubuntu simplemente cambia el nombre de la versión al añadir los repositorios, y para otro sistema operativo puedes ver la guía aquí.

La idea es la siguiente, el código compartido en bazaar se organiza en ramas o branches, por ejemplo el proyecto openerp-server tiene una rama llamada trunk para el código en desarrollo, y una rama 5.0 para la versión estable. Así que si queremos descargarnos la versión estable de openerp-server podemos hacer: bzr brach lp:openobject-server/5.0 y para descargarnos el código de la documentación: bzr branch lp:openobject-doc con esto se nos crea un directorio llamado openobject-doc que contendrá el código de la documentación. En el próximo post explicare la estructura del código de la documentación y como se crean las traducciones.

Bazaar es una herramienta distribuida de control de versiones así que lo que hemos hecho realmente al descargar el código es crear una rama en nuestro repositorio local, si modificamos el código antes de subirlo tendremos que sincronizar nuestra rama con la original, obtendremos los cambios realizados desde que descargamos el código o desde la última revisión que hicimos y lo sincronizaremos con nuestra rama local.

Para poder publicar nuestro código con Bazaar primero tendremos que identificarnos, por un lado nos identificaremos con nuestro usuario de Launchpad: bzr launchpad-login nombre_usuario_launchpad la primera vez que lo ejecutemos se creara el fichero /home/angelmoya/.bazaar/authentication.conf con la información de nuestro usuario.

Por otro lado tenemos que identificar nuestro equipo con la clave ssh key, para conseguir nuestra clave ssh key en ubuntu lo haremos así:

#Instala OpenSSH sudo apt-get install openssh-client #Genera la clave ssh-keygen -t rsa # - Presiona intro para aceptar el nombre por defecto # - Introduce la contraseña

Con esto se genera en el directorio /home/usuario/.ssh/ una pareja de claves, id_rsa la clave privada y id_rsa.pub la clave publica. La clave privada se quedara en tu equipo y la publica hay que subirla a tu perfil de launchpad. Logeate en Launchpad.net con tu usuario y accede a tu página para editar la información de SSH keys.

Launchpad y Bazaar

Copia en esa ventana la información que hay dentro del fichero /home/usuario/.ssh/id_rsa.pub y clicka el botón Import Public Key para terminar.

Launchpad y Bazaar

Con esto ya tienes tu equipo preparado para subir modificaciones del código. Si te has descargado el código del proyecto openobject-doc y has realizado alguna modificación, ve al directorio de openobject-doc y haz lo siguiente:

Sincronizamos nuestros cambios con los que se han realizado en openobject-doc desde la ultima sincronización bzr merge Hacemos un commit para indicar los cambios que hemos realizado bzr ci -m "[TAG] Mensaje explicando cambios hechos" Por último subimos los cambios bzr push Para mas información puedes consultar aquí.

Por último, cuando realices el commit, según se indica la documentación de Open ERP aquí sobre como subir tus modificaciones, en el mensaje hay que indicar que tipo de modificación has realizado, esto se indica con el [TAG] las diferentes opciones son:

  • [IMP]: Mejoras
  • [FIX]: Corrección de errores
  • [REF]: Refactorizar, modificar el código sin cambiar la funcionalidad
  • [ADD]: Añadir fuentes
  • [REM]: Eliminar fuentes

Con esto ya hemos visto como trabajar con Launchpad y Bazaar, en el siguiente post veremos como trabajar en la traducción.

Fuente: http://angelmoya.es/openerp/launchpad-y-bazaar-para-colaborar-con-openerp/

A continuación también le dejamos el enlace a nuestra web, dónde podrá encontrar, más información de su interés, haciendo clic aquí.

Resultado de imagen de openerp

Leer más

Presentaciones Jornadas de OpenERP 2010

A continuación, les mostramos las presentaciones usadas en las conferencias de las III Jornadas de OpenERP 2010.

Recordar que se realizaron los días, 13 y 14 de Mayo de 2010 en la Universidad Deusto de Bilbao.

Ya están subidas las presentaciones y material auxiliar usado por Pexego, de las conferencias de las III Jornadas de OpenERP 2010 realizadas los días 13 y 14 de Mayo de 2010 en la Universidad Deusto de Bilbao.

Fuente: http://pexego.es/blog/2010/05/18/presentaciones-jornadas-de-openerp-2010/

A continuación, le facilitamos el enlace a nuestra web, donde podrá encontrar, infromación de su interés, haciedno clic aquí.

Jornadas de OpenERP 2010

Leer más