Módulo product_pricelist_fixed_price en Openerp 6.1

El módulo product_pricelist_fixed_price nos permite indicar un precio fijo a un producto en una regla de tarifa. En realidad este módulo no es necesario ya que puede simularse con las reglas estándar de las tarifas, pero resulta muy útil al simplificar mucho la regla ya que sólo habrá que indicar el precio fijo del producto.

Si utilizamos una regla estándar deberíamos poner:

 

Nuevo precio = precio base * (1 + -1) + precio fijo

 

De esta forma conseguimos que el precio base termine siendo anulado al multiplicarse por 0 y por tanto sólo se sumaría el precio fijo.

 

Pero si instalamos el módulo product_pricelist_fixed_price entonces es mucho más sencillo, en la regla tenemos un campo nuevo en el que indicamos el precio fijo y listo.

 

El problema que tiene este módulo es que ha sido desarrollado haciendo un fork del método price_get_multi de la clase product_pricelist. ¿Qué significa esto?, pues que tenemos uno de los problemas más clásicos en el mundo del software libre, el tener que mantener un fork.

El resultado es que este módulo deja de funcionar correctamente en la versión 6.1 al no existir una rama extra-addons para dicha versión y en consecuencia no haberse adaptado el módulo a la misma. ¿Qué significa no haberse adaptado?, pues principalmente que todos los cambios aplicados en el método price_get_multi en la versión 6.1 de OpenERP no están aplicados en el fork que utiliza el módulo.

 

Si queréis utilizarlo en vuestra versión 6.1 os dejo un parche que soluciona el problema. Para aplicarlo es tan sencillo como copiar el archivo a vuestro directorio addons y luego ejecutar:

 

patch -p0 < product_pricelist_fixed_price.diff

 

Obviamente tendréis que tener instalado el módulo previamente.

 

Nota: Está basado en la versión de la rama extra-6.0, revisión 5869. Si lo aplicáis sobre una revisión posterior en la que se hayan hecho modificaciones al módulo posiblemente tendréis problemas.

 

Cheli

 

Instalación de OpenERP 6.1 en Debian / Ubuntu

El proceso para instalar OpenERP 7.0 es exáctamente el mismo.

La forma más sencilla de instalar OpenERP 6.1 en Debian / Ubuntu es a través del paquete disponible en la página de OpenERP. Lo primero que tenemos que hacer es descargarnos el paquete.

Para la versión 6.1:

wget http://nightly.openerp.com/6.1/nightly/deb/openerp_6.1-latest-1_all.deb

Para la versión 7.0:

wget http://nightly.openerp.com/7.0/nightly/deb/openerp_7.0-latest-1_all.deb

Después como root lo instalamos.

dpkg -i paquete.deb

Si nos falta alguna dependencia fallará. Lo más seguro es que nos sugiera un «apt-get -f install» para solucionarlo, si es así lo ejecutamos y seguimos. El problema es que el paquete deb no tiene como dependencia el servidor de Postgresql ya que este podría encontrarse en otra máquina. Nosotros lo vamos a instalar en la misma máquina que el servidor de OpenERP.

apt-get install postgresql-9.1

Nota: En mi caso el paquete se llama postgresql-9.1 pero esto puede variar ligeramente en vuestra distribución.

Tendremos que configurar postgresql para que autentique correctamente en local, además tendremos que crear un usuario para nuestra base de datos. Editamos el archivos /etc/postgresql/9.1/main/pg_hba.conf y cambiamos la linea:

local   all             all                                     peer

por

local   all             all                                     md5

En vuestro caso la linea puede ser ligeramente diferente. Después tendremos que reiniciar el servidor.

service postgresql restart

Añadimos el nuevo usuario a la base de datos. Primero nos autenticamos como usuario postgres (administrador de Postgresql por defecto).

su - postgres

Y luego creamos el usuario:

createuser --createdb --username postgres --no-createrole --pwprompt cheli

Le damos una contraseña, en mi caso cheli, y le indicamos que si sea super usuario.

Por último tenemos que editar el archivo /etc/openerp/openerp-server.conf y dejarlo así:

[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = cheli
db_password = cheli

Al reiniciar el servidor de OpenERP este ya podrá conectarse a la base de datos.

service openerp restart

Una vez haya arrancado el servidor tenemos que crear la base de datos, esta tarea la realizaremos desde el cliente web. Abrimos la siguiente url desde el navegador:

http://localhost:8069/web/webclient/home

Y pinchamos en el enlace «Manage Databases». En la nueva ventana pinchamos en «create» y rellenamos los campos:

admin (por defecto a admin, tal y como lo pusimos en el archivo de configuración)

cheli (le damos un nombre, en mi caso cheli)

English (US) (en mi caso English US)

Admin password: cheli (le damos una contraseña de administración)

cheli (repetimos la contraseña)

Si queremos que se cargue con datos de ejemplo entonces seleccionaremos la opción Load Demostration data.

Cuando se termine de crear la base de datos se autenticará automáticamente y ya estaremos en nuestro OpenERP completamente limpio. Las siguientes veces tendremos que autenticarnos con usuario y contraseña admin / cheli.

En el siguiente apunte os explicaré como cargar la localización para España, así que atentos.

Nota:

Estoy ofreciendo unos mini cursos de desarrollo en OpenERP gratuitos.

Cheli