Instal.lació OpenERP II

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Instal.lació

Instal.lació de la BD

$ sudo apt-get install postgresql
you must create a PostgreSQL user. This user must be the same as your system user.
$ sudo su postgres
$ createuser joana
$ psql
postgres=# alter role joan with password '****';
postgres=# \q

una altra possibilitat és:

$ createuser --createdb --username postgres --no-createrole --pwprompt ****
$ su joan
$ psql -U joan
psql: FATAL:  password authentication failed for user "joan"

$ sudo joe /etc/postgresql/8.4/main/pg_hba.conf
local all all md5

$ sudo /etc/init.d/postgresql-8.4 restart
$ psql -h localhost -p 5432 -U joan -d postgres
#postgres

Instal.lació Python

You need to have Python (at least 2.5 for OpenERP v6.0) in your Ubuntu system, which is in-built in Ubuntu version 10.04 and above.

sudo apt-get install python-lxml
sudo apt-get install python-mako
sudo apt-get install python-egenix-mxdatetime
sudo apt-get install python-dateutil
sudo apt-get install python-psycopg2
sudo apt-get install python-pychart
sudo apt-get install python-pydot
sudo apt-get install python-tz
sudo apt-get install python-reportlab
sudo apt-get install python-yaml
sudo apt-get install python-vobject

The OpenERP server can be downloaded from the OpenERP website’s download page

Em baixo el server, el client i el web client

tar -xzf openerp-server-6.0.3.tar.gz
cd openerp-server-6.0.3
sudo python setup.py install
openerp-server

You can find the OpenERP server configuration file at ~/openerp-server-6.0.3/doc/openerp-server.conf

en realitat el fitxer de configuració està a

$ sudo joe /usr/local/share/doc/openerp-server-6.0.3/openerp-server.conf

doncs quan es fa la instal.lació del servidor es copia de ~/openerp-server-6.0.3/doc/openerp-server.conf a /usr/local/share/doc/openerp-server-6.0.3/openerp-server.conf

$ sudo joe /etc/openerp-server.conf
$ openerp-server --config /etc/openerp-server.conf

o bé
$ sudo /etc/init.d/openerp-server start

$ ps uaxww | grep -i openerp
~/openerp-client-6.0.3/bin$ sudo lsof -i :8069
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python  4229 joan    3u  IPv4  58973      0t0  TCP *:8069 (LISTEN)

~/openerp-client-6.0.3/bin$ sudo lsof -i :8070
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python  4229 joan    5u  IPv4  58981      0t0  TCP *:8070 (LISTEN)
python  4229 joan    6u  IPv4  59041      0t0  TCP localhost:8070->localhost:52304 (CLOSE_WAIT)
python  4229 joan    7u  IPv4  59329      0t0  TCP localhost:8070->localhost:52305 (CLOSE_WAIT)

per mirar els logs, /var/log/openerp-server.log

està definit en el fitxer de configuració del servidor

$ whereis openerp-server
/usr/local/bin/openerp-server

$ joe /usr/local/bin/openerp-server
#!/bin/sh
cd /usr/local/lib/python2.6/dist-packages/openerp-server
exec /usr/bin/python ./openerp-server.py $@

$ joe /usr/local/lib/python2.6/dist-packages/openerp-server/openerp-server.py

per tant, per executar el servidor:

$ python /usr/local/lib/python2.6/dist-packages/openerp-server/openerp-server.py

a la línia 363 substitueixo

for p in ('host', 'port', 'user', 'password'):
    cfg = tools.config['db_' + p]
    if cfg:
        _dsn += '%s=%s ' % (p, cfg)

per

for p in ('host', 'port', 'user'):
    cfg = tools.config['db_' + p]
    if cfg:
        _dsn += '%s=%s ' % (p, cfg)



_dsn += 'db_password=**** '

i ara:

pkg_resources.DistributionNotFound: Beaker>=1.1
$ sudo apt-get install python-beaker

i ara sí:

$ openerp-web
[23/Aug/2011:16:46:18] ENGINE Bus STARTING
[23/Aug/2011:16:46:18] ENGINE Started monitor thread '_TimeoutMonitor'.
[23/Aug/2011:16:46:18] ENGINE Started monitor thread 'Autoreloader'.
[23/Aug/2011:16:46:18] ENGINE Serving on 0.0.0.0:8080
[23/Aug/2011:16:46:18] ENGINE Bus STARTED

obro el navegador:

Funciona correctament, tot i que no em puc connectar al servidor de bd. Però això és el mateix problema que m'he trobat amb el client.

Localització espanyola

Segueixo el curs de aulaerp per a instal.lar la localització espanyola:

$ mkdir openerp_es
$ cd openerp_es/
$ sudo bzr branch lp:openerp-spain/6.0
$ sudo bzr branch lp:openobject-addons/extra-6.0

En aquest cas copiarem els mòduls necessaris en comptes de fer un enllaç simbòlic.

Instal.laré el mòdul l10n_es_pyme_account, que sembla ser que és el més important (https://groups.google.com/forum/#!topic/openerp-spain/09ELGpEFfIM/discussion)

$ cd ~/openerp_es/6.0/l10n_es_pyme_account

i ara copiem aquests arxius a la carpeta del servidor (abans feia un enllaç simbòlic, i em deia que ja existia... suposo que havia de sobreescriure)

$ sudo cp -R ~/openerp_es/6.0/l10n_es_pyme_account /usr/local/lib/python2.6/dist-packages/openerp-server/addons

Creem una base de dades nova.

important: l'opció carregar dades ha d'estar desmarcada

Cuando se ejecute el asistente de configuración de contabilidad
(account) deberá omitir el paso, pués la selección del plan contable y
la creación de ejercicios y períodos fiscales lo realiza este módulo
de forma automática.

Comprovació dels mòduls necessaris:

Aquests mòduls que falten els hem de copiar com en el cas anterior.

descripció del mòdul l10n_es_pyme_account:

Instalación de los módulos contables de OpenERP para una PYME estándar incluyendo los módulos de localización española y algunos datos de configuración iniciales.

Instala los módulos habituales para la gestión contable de una PYME del Estado Español: contabilidad y facturación, pagos, remesas de recibos, plan contable 2008, topónimos, datos de bancos españoles y su validación, importación de extractos bancarios, cierre de ejercicio, informes contables, ...

Cuando se ejecute el asistente de configuración de contabilidad (account) deberá omitir el paso, pués la selección del plan contable y la creación de ejercicios y períodos fiscales lo realiza este módulo de forma automática.

Después de instalar este módulo y todas sus dependencias, deberá crear los topónimos del Estado Español (crear las provincias mediante el asistente que se ejecuta automáticamente) y las cuentas contables a partir de la plantilla de plan contable (con el asistente que se ejecuta automáticamente o mediante el menú "Contabilidad/Configuración/Contabilidad financiera/Configuración financiera para nueva compañía").

Posteriormente podrá crear los bancos españoles mediante el menú "Ventas/Configuración/Libreta de direcciones/Bancos/Asistente de importación de todos los bancos del Estado Español" y los conceptos de extractos bancarios mediante el menú "Contabilidad/Configuración/Varios/Extractos bancarios C43/Asistente de importación de conceptos de extractos".

així doncs copio també els altres mòduls necessaris (que són els altres mòduls que acompanyen l10n_es_pyme_account):

$ sudo cp -R ~/openerp_es/6.0/* /usr/local/lib/python2.6/dist-packages/openerp-server/addons

I ara ja fem la instal.lació clicant sobre el botó

pywebdav

Aplica actualizaciones programadas

PyWebDAV Import Error!

Please install PyWebDAV from http://code.google.com/p/pywebdav/downloads/detail?name=PyWebDAV-0.9.4.tar.gz&can=2&q=/

Installation and setup of server can be as easy as follows:

$ easy_install PyWebDAV  
$ davserver -D /tmp -n -J
$ sudo easy_install pywebdav 
Searching for pywebdav
Reading http://pypi.python.org/simple/pywebdav/
Reading http://code.google.com/p/pywebdav/
Reading https://sourceforge.net/projects/pywebdav/
Reading http://www.webdav.de
Best match: PyWebDAV 0.9.4.1
Downloading http://pywebdav.googlecode.com/files/PyWebDAV-0.9.4.1.tar.gz
Processing PyWebDAV-0.9.4.1.tar.gz
Running PyWebDAV-0.9.4.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-kagpp7/PyWebDAV-0.9.4.1/egg-dist-tmp-OrKXQ4
Adding PyWebDAV 0.9.4.1 to easy-install.pth file
Installing davserver script to /usr/local/bin

Installed /usr/local/lib/python2.6/dist-packages/PyWebDAV-0.9.4.1-py2.6.egg
Processing dependencies for pywebdav
Finished processing dependencies for pywebdav

jo tinc pywebdav instal.lat a:

/usr/local/lib/python2.6/dist-packages/PyWebDAV-0.9.4.1-py2.6.egg

>>> import imp
>>> imp.find_module('DAV')
(None, 'DAV', ('', '', 5))

Procés de venda (28 agost)

reinicio i no cal res de tot això...

Ja tinc instal.lat el mòdul l10n_es_pyme_account

vaig a fer un procés de venda: lead (iniciativa), proceés de venda, factura

Omplo les dades per crear un Contacte (abans de guardar l'oportunitat), i em diu

un unknown error has been reported
You do not have a valid OpenERP publisher waranty contract!

Per registrar un contracte: Administració > Garantia de l'editor > registra un contracte

Soy nuevo en OpenERP, y tengo instalado OpenERP6 y la localización española (creo que correctamente). Quiero empezar a trabajar añadiendo un contacto y una iniciativa (para hacer una primera venta), pero no me deja crear el contacto porque me dice que

You do not have a valid OpenERP publisher waranty contract!

Entiendo que al igual que Openbravo (de donde vengo) puedes trabajar libremente con OpenERP sin la necesidad de contratar servicio alguno (de momento sólo quiero evaluar el software). Me estraña que me salga el mensaje y que en ningún sitio me haya salido información clara sobre cómo evitar este mensaje.

He ido a Administración > Garantía del Editor > Registrar un contrato, pero claro, yo no tengo ningún número de serie ni de momento quiero ninguno.

Saludos.

nova instal.lació 01/09/2011

eliminem la instal.lació anterior del PostgreSQL (remove, purge, clean dels paquets)

creem l'usuari del postgresql joan, amb permís de crear base de dades, i li direm que ens demani la clau de pas.

$ sudo su - postgres
$ createuser --createdb --username postgres --no-createrole --pwprompt joan
$ exit

$ psql -h localhost -p 5432 -U joan postgres 
$ sudo joe /etc/postgresql/8.4/main/pg_hba.conf
#local   all         postgres                          ident
local all all md5
$ psql -h localhost -p 5432 -U joan postgres 
$ mkdir /home/joan/openerp_v6/src
$ cd /home/joan/openerp_v6/src
$ bzr branch lp:openobject-server/6.0 openerp-server60
$ bzr branch lp:openobject-client/6.0 cliente-gtk60
$ bzr branch lp:openobject-client-web/6.0 cliente-web60
$ bzr branch lp:openobject-addons/6.0 addons60
$ bzr branch lp:openobject-addons/extra-6.0 extra-addons60

Los módulos de la localización española:

$ bzr branch lp:openerp-spain/6.0 openerp-spain60

Instalar dependencias necesarias

$ sudo apt-get update
$ sudo apt-get install python-lxml python-psycopg2 python-pydot \
python-reportlab python-tz python-matplotlib python-pychart \
python-hippocanvas python-dev build-essential python-setuptools \
python-mako python-django python-yaml python-egenix-mxdatetime \
python-vobject python-imaging python-beaker

Instalación parte servidor

$ cd openerp-server60/
$ sudo ./setup.py install

Esto me instala el servidor de openerp en el directorio:

/usr/local/lib/python2.6/dist-packages/openerp-server/

Y el enlace al ejecutable en:

/usr/local/bin/openerp-server

Una vez instalado el servidor ya lo podemos ejecutar, pero aún no funcionará, debemos:


ARCHIVO DE CONFIGURACIÓN /etc/openerp-server.conf

Crear /etc/openerp-server.conf con el siguiente contenido: (debes ajustar db_user, db_password según lo que tengas puesto en el paso de la configuración de postgres). Tener en cuenta que el usuario que aquí indicas puede realizar las operaciones normales desde los clientes de openerp, pero no el backup o restauración de bases de datos.

Para esto último se requiere acceso directo desde el cliente al servidor postgresql8.4, y permisos para realizarlo.

## Comienzo del archivo de configuración
[options]
#without_demo = False
netport = 8070
secure = False
demo = {}
#syslog = true
cache_timeout = 100000
port = 8069
smtp_password = False
secure_pkey_file = server.pkey
netinterface =
#log_level = 20
admin_passwd = admin
smtp_port = 25
smtp_server = localhost
price_accuracy = 2
import_partial =
soap = False
#pidfile = true
db_maxconn = 64
reportgz = False
xmlrpc = True
#db_port = False
debug_mode = False
netrpc = True
secure_cert_file = server.cert
#interface =
logfile = /var/log/openerp/openerp-server.log
csv_internal_sep = ,
pg_path = None
translate_modules = ['all']
stop_after_init = False
root_path = /usr/local/lib/python2.6/dist-packages/openerp-server
smtp_user = False
db_user = joan
db_password = ****
db_name = False
db_host = False
assert_exit_level = 30
email_from = False
addons_path = /usr/local/lib/python2.6/dist-packages/openerp-server/addons
## Fín del archivo de configuración

Como he indicado en el archivo de configuración, en /var/log/openerp/openerp-server.log se guardarán los logs emitidos por el servidor, pero no antes de que tenga creados esos ficheros y directorio, con los permisos adecuados a mi configuración:

$ sudo mkdir /var/log/openerp
$ sudo touch /var/log/openerp/openerp-server.log

Ahora los permisos para que mi usuario 'joan' pueda escribir en esos directorios / ficheros:

$ sudo chown -R joan /var/log/openerp

Ahora lo puedo probar ejecutando e indicando el archivo de configuración:

$ openerp-server --config="/etc/openerp-server.conf"

Si la añado al final & arrancará en background

Esta última prueba sirve para comprobar que no le falta ninguna dependencia a la parte servidor, por lo menos en un primer momento.

Comentar que al tener configurado un archivo de log, al ejecutarlo en la consola no nos presentará nada de información, que sí estará en /var/log/openerp/openerp-server.log

SCRIPTS DE INICIO / RUNLEVELS EN /etc/init.d

El siguiente paso es hacer que el servidor tenga su script de inicio y se inicie con el ordenador. Para ello necesito crear el script de inicio asi cómo propagarlo en los runlevel:

Para ello creo un archivo /etc/init.d/openerp-server con el siguiente contenido, pero OJO, tienes que cambiar el campo USER= por un usuario que ya tenga tu sistema, en mi caso el mio mismo, joan

También vigilar que DAEMON apunte al path correcto de openerp-server, visto anteriormente con whereis. (usr/local/bin/openerp-server)

Ojo a los errores producidos al cortar / pegar

Para evitar errores al copiar / pegar con el tema de los formatos y los editores, mejor utilizar el fichero descargado desde alguna web. (compte perquè el script que ve per defecte té malament la ruta del DAEMON-no posa local, per tant no és la correcta)

## Comienzo script de init.d
#!/bin/sh
### BEGIN INIT INFO
# Provides: openerp-server
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/openerp-server
NAME=openerp-server
DESC=openerp-server
USER=joan

test -x ${DAEMON} || exit 0
set -e
case "${1}" in

start)
echo -n "Starting ${DESC}: "
start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- --config=/etc/openerp-server.conf
echo "${NAME}."
;;

stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \
--oknodo
echo "${NAME}."
;;

restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \
--oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- --config=/etc/openerp-server.conf
echo "${NAME}."
;;

restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid \
--oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile /var/run/${NAME}.pid \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- --config=/etc/openerp-server.conf
echo "${NAME}."
;;

*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;

esac
exit 0
## Fin de script

Ok, ahora lo hago ejecutable:

$ sudo chmod +x /etc/init.d/openerp-server

Lo probamos(verifica que lo tuvieras antes parado):

$ sudo /etc/init.d/openerp-server start

Compruebo que está cargado:

$ sudo ps aux | grep openerp-server
joan 11376 1.5 2.4 36788 12780 ? Sl 20:16 0:00 /usr/bin/python ./openerp-server.py --config=/etc/openerp-server.conf

El script funciona perfectamente en mi equipo de pruebas.

Y ahora lo pruebo con un cliente, con lo que debería conectar sin problemas, como hasta ahora.

Ya que tenemos el script, lo que nos falta es indicarle a Ubuntu que quiero que arranque con el inicio, y se desconecte al apagar:

$ sudo update-rc.d openerp-server defaults

Reiniciamos el ordenador y lo probamos.

Ojo, porque así tenemos el servidor con los addons (módulos) que incorpora por defecto, pero hay que añadirle un montón mas.

Per tant, tinc dues forme d'arrencar el servidor. Com a dimoni (i fent que s'executi directament en l'inici del sistema), o directament:

$ openerp-server --config=/etc/openerp-server.conf

$ sudo /etc/init.d/openerp-server start
Starting openerp-server: openerp-server.

Per solucionar: no veig que tingui res en el fitxer de log: /var/log/openerp/openerp-server.log, que és el que diu el fitxer de configuració

Instal.lació del client GTK

$ cd ~/openerp_v6/src/cliente-gtk60/bin

arrenco el servidor

$ openerp-server --config=/etc/openerp-server.conf

i arrenco el client

$ python openerp-client.py

arrenca la interfície gràfica, però missatge: no s'ha pogut connectar amb el servidor

però la informació del servidor està en el fitxer de configuració, és com si no li faci cas (de la mateixa manera que no omple el fitxer de logs)

una possible solució:

$ openerp-server --config=/etc/openerp-server.conf --db_user=joan --db_password=****
$ python openerp-client.py

missatge: no existeix la base de dades. Hem de crear la base de dades openerp manualment. (NO! mirar més avall. Creant la base de dades des del client em suposa executar tota la configuració)

$ psql -h localhost -p 5432 -U postgres

postgres=# create database openerp;
CREATE DATABASE

i l'usuari joan té permisos per entrar en la base de dades openerp

$ psql -h localhost -p 5432 -U joan openerp

i ara arrenco el servidor i es crea la bd:

$ openerp-server --config=/etc/openerp-server.conf --database=openerp --db_user=joan --db_password=****
...
[2011-09-01 09:34:21,006][openerp] INFO:init:init db
[2011-09-01 09:34:50,758][openerp] INFO:init:module base: loading objects
[2011-09-01 09:34:50,767][openerp] INFO:init:module base: registering objects
[2011-09-01 09:34:51,009][openerp] INFO:init:module base: creating or updating database tables
...

ara ja puc entrar en el client

$ python openerp-client.py

doncs no! Faig una cosa, creo la base de dades des de la interfície gràfica (crear base de datos):

$ openerp-server --config=/etc/openerp-server.conf --database=openerp --db_user=joan --db_password=****
$ python openerp-client.py

Interfície estesa; fico les dades de la companyia; Fico facturació i Comptabilitat i Finances (entre d'altres). M'he descuidat desmarcar el tema d'omplir dades de prova.

Instal.lació client web

$ cd cliente-web60/lib
$ ./populate.sh

(esto ha bajado las dependencias necesarias para el cliente web)

$ cd ..
$ sudo python setup.py install

O bien :

$ sudo easy_install

Esto lo instala en /usr/local/bin/openerp-web

Copiamos el archivo de configuración incluido al directorio /etc (Ojo, porque esto ha cambiado con respecto a la versión anterior)

$ sudo cp /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/doc/openerp-web.cfg /etc/

Asegurarnos que el archivo de configuración del cliente web tiene los datos correctos de acceso al servidor, descomentando las líneas para guardar los logs del cliente web:

$ sudo joe /etc/openerp-web.cfg

Cambiamos:

# logging
#log.access_file = "/var/log/openerp-web/access.log"
#log.error_file = "/var/log/openerp-web/error.log"

Por (ajústalo a tus necesidades):

# logging
log.access_file = "/var/log/openerp/openerp-web_access.log"
log.error_file = "/var/log/openerp/openerp-web_error.log"

El directorio ya está creado anteriormente, asi que sólo debemos crear los archivos:

$ touch /var/log/openerp/openerp-web_access.log
$ touch /var/log/openerp/openerp-web_error.log

aquests logs sí que funcionen.

No utilizo el sudo, recordemos que el directorio ya pertenecía al usuario 'joan', que es el mío propio de Ubuntu, con lo que no necesito ser superusuario.

Tenemos el problema, de que para la versión 6 del cliente web, no se incluye el script de inicio (para init.d), como en las versiones anteriores. Lo que haremos es utilizar el script de la versión 5.0.15:

$ sudo joe /etc/init.d/openerp-web

USER="joan"
DAEMON=/usr/local/bin/openerp-web
## comienzo de script init.d para el cliente web versión 6.x
#!/bin/sh

### BEGIN INIT INFO
# Provides: openerp-web
# Required-Start: $syslog
# Required-Stop: $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OpenERP Web - the Web Client of the OpenERP
# Description: OpenERP is a complete ERP and CRM software.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/openerp-web
NAME=openerp-web
DESC=openerp-web

# Specify the user name (Default: openerp).
USER="joan"

# Specify an alternate config file (Default: /etc/openerp-web.cfg).
CONFIGFILE="/etc/openerp-web.cfg"

# pidfile
PIDFILE=/var/run/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
[ -d /proc/$pid ] && return 0
return 1
}

if [ -f /lib/lsb/init-functions ] || [ -f /etc/gentoo-release ] ; then

do_start() {
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--chuid $USER --background --make-pidfile \
--exec $DAEMON -- $DAEMON_OPTS

RETVAL=$?
sleep 5 # wait for few seconds

return $RETVAL
}

do_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

RETVAL=$?
sleep 2 # wait for few seconds
rm -f $PIDFILE # remove pidfile

return $RETVAL
}

do_restart() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --oknodo

sleep 2 # wait for few seconds
rm -f $PIDFILE # remove pidfile

start-stop-daemon --start --quiet --pidfile $PIDFILE \
--chuid $USER --background --make-pidfile \
--exec $DAEMON -- $DAEMON_OPTS

RETVAL=$?
sleep 5 # wait for few seconds

return $RETVAL
}

else

do_start() {
$DAEMON $DAEMON_OPTS > /dev/null 2>&1 &

RETVAL=$?
sleep 5 # wait for few seconds

echo $! > $PIDFILE # create pidfile

return $RETVAL
}

do_stop() {

pid=`cat $PIDFILE`
kill -15 $pid

RETVAL=$?
sleep 2 # wait for few seconds
rm -f $PIDFILE # remove pidfile

return $RETVAL
}

do_restart() {

if [ -f $PIDFILE ]; then
do_stop
fi

do_start

return $?
}

fi

start_daemon() {

if [ -f $PIDFILE ]; then
echo "pidfile already exists: $PIDFILE"
exit 1
fi

echo -n "Starting $DESC: "

do_start

checkpid

if [ $? -eq 1 ]; then
rm -f $PIDFILE
echo "failed."
exit 1
fi

echo "done."
}

stop_daemon() {

checkpid

if [ $? -eq 1 ]; then
exit 0
fi

echo -n "Stopping $DESC: "

do_stop

if [ $? -eq 1 ]; then
echo "failed."
exit 1
fi

echo "done."
}

restart_daemon() {

echo -n "Reloading $DESC: "

do_restart

checkpid

if [ $? -eq 1 ]; then
rm -f $PIDFILE
echo "failed."
exit 1
fi

echo "done."
}

status_daemon() {

echo -n "Checking $DESC: "

checkpid

if [ $? -eq 1 ]; then
echo "stopped."
else
echo "running."
fi
}

case "$1" in
start) start_daemon ;;
stop) stop_daemon ;;
restart|force-reload) restart_daemon ;;
status) status_daemon ;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac

exit 0

# vim: sts=4 st=4 et

## Fin del script de inicio para openerp web-client

Debemos modificar en el script de inicio el parámetro USER por un usuario del sistema que ya exista (el que ejecutará el cliente web), y también modifica el parámetro DAEMON que desde Ubuntu 9.10 cambia el path de instalación:

Lo hacemos ejecutable:

$ sudo chmod +x /etc/init.d/openerp-web

Ahora propagar los scripts por los runlevel para que se inicie al inicio del sistema:

$ sudo update-rc.d openerp-web defaults

Lo arrancamos con (en background):

$ sudo /etc/init.d/openerp-web start

O bien en la consola, para ver la salida:

$ openerp-web

Y nos conectamos desde cualquier navegador web a la ip del servidor http://ip_servidor:80804

Arrenca correctament

Localització espanyola

Añadir localización española y nuevos módulos a OpenERP

Antes del siguiente punto, que indica cómo utilizar nuestras bases de datos creadas anteriormente o bien en otro OpenERP, indicaré cómo enlazar los nuevos módulos y la localización española al directorio addons del servidor.

Comentar, que en la versión 6 ya está incluido de serie el plan contable general español. Para los módulos que podamos necesitar por sus distintas funciones (remesas, renumeraciones,...) tenemos que tener en cuenta su estado de desarrollo para la actual versión estable. (Puede que algunos módulos no estén todavía refactorizados)

Utilizaremos enlaces blandos desde addons en el servidor a las carpetas que creamos en el paso 1, de manera que si en un futuro actualizamos esas carpetas, no será necesario volcarlas de nuevo al servidor, aunque si será necesario y muy importante realizar lo que viene explicado en el punto siguiente.

Paramos openerp-server y el cliente web. Esto dependerá de cómo tengas configurado el sistema, pero algo infalible es hallar el pid del server y matarlo con un kill -9

$ sudo /etc/init.d/openerp-server stop
$ sudo /etc/init.d/openerp-web stop

Nos metemos en el directorio addons del servidor openerp:

$ cd /usr/local/lib/python2.6/dist-packages/openerp-server/addons/

Y ahora enlazamos a los directorios del paso 1:

$ sudo ln -sf origen destino

(-s para enlaces blandos, -f para forzar la copia aunque ya exista)

Así que (recuerda que mi directorio de trabajo es /home/joan/openerp_v6/src):

$ sudo ln -sf /home/joan/openerp_v6/src/addons60/* .
$ sudo ln -sf /home/joan/openerp_v6/src/extra-addons60/* .
$ sudo ln -sf /home/joan/openerp_v6/src/openerp-spain60/* .

Ya tenemos supervitaminado el directorio addons, podemos pasar al siguiente paso. (556 módulos me ha dado a mí, lo ves al actualizar los módulos desde el cliente)

Ejecuta el server y el cliente de openerp.

Sólo recuerda en el cliente darle a actualizar los módulos para que aparezcan los nuevos y los modificados.

Ara instal.lo el mòdul l10n_es_pyme_account (i totes les dependències que té)

System updated completed. Start configuration

Uso de bases de datos creadas anteriormente

Para utilizar nuestras bases de datos ya creadas, necesitaremos actualizarlas con los nuevos módulos.

1.Tenemos los módulos enlazados en el directorio addons del servidor

2.Tengo la base de datos (bdd) importada al postgres, bien mediante el asistente del cliente web o bien con pgadmin3 (Depende de con cual realizara anteriormente el backup). Yo realizo las copias mediante PgAdmin3, que sirve para gestionar gráficamente bases de datos postgresql

3. Iniciamos openerp-server con un par de opciones para cada base de datos, --update=all y --database=nombre_de_mi_bdd

$ sudo python /usr/local/lib/python2.6/dist-packages/openerp-server/openerp-server.py --config=/etc/openerp-server.conf --update=all --database=malagaTIC

O como ya lo tengo en el path:

$ openerp-server --config=/etc/openerp-server.conf --update=all --database=malagaTIC

Vas mirando los logs, y cuando termine de actualizar, cierras el servidor y lo arrancas normalmente. Termina cuando muestre:

[malagaTIC] INFO:web-services:the server is running, waiting for connections...

En los logs, no deben aparecer warnings o sobre todo ERROR. Lo ves en las últimas líneas:

      INFO:init:[01]: Assertions report:
      [2010-12-29 18:49:48,485][malagaTIC] INFO:init:[02]: Level success failed
      [2010-12-29 18:49:48,485][malagaTIC] INFO:init:[03]: error 1 0
      [2010-12-29 18:49:48,485][malagaTIC] INFO:init:[04]: total 1 0

Hay un aviso o error, en concreto es que el módulo 'Poweremail' no se a podido cargar, y mi bdd si lo utiliza. Lo veo en el log del server:

      [2010-12-29 18:49:48,286][malagaTIC] WARNING:init:module poweremail: module not found

El error se debe a que poweremail tiene su propio repositorio, así que lo descargo:

$ bzr branch lp:poweremail otros_modulos/poweremail

Lo enlazo al servidor:

$ sudo ln -sf /home/joseba/src/openerp/otros_modulos/* /usr/local/lib/python2.6/dist- packages/openerp-server/addons/

Además poweremail requiere el paquete:

$ sudo apt-get install python-django

Paro el servidor y lo arranco de nuevo con la opción del --update y el --database

Y listo, base de datos actualizada con los nuevos módulos. Es conveniente no dejar ningún ERROR o WARNING sin resolver (mirar los logs)

Procés de venda 1/9/2011

vaig a fer un procés de venda: lead (iniciativa), procés de venda, factura

Menú > Vendes > Iniciatives. Estic en mode Llista, per crear una iniciativa he d'estar en mode Formulari.

Omplo les dades per crear un Contacte (abans de guardar l'oportunitat), i ara ja no em diu

un unknown error has been reported
You do not have a valid OpenERP publisher waranty contract!

Fent una iniciativa el primer que he fet és crear un contacte, i a partir del contacte he creat l'empresa que el representa.

Ara la iniciativa la converteixo a Oportunitat. Planifico una trucada.

Vaig a vendre-li un servei. Primer de tot crearé el servei Assistència Tècnica I: (fixem-nos que ja és un producte, no una categoria)

Ara ja vaig a fer la venda: Vendes > Comandes de Venda Quan he ficat les línies de la comanda (de moment un sol article), clico sobre Calcula, Confirma Comanda, i Crea Factura Manual

Canvio el compte de comptabilitat a on es facturarà

700000. Ventas de Mercaderías en España
per 
705000. Prestación de Servicios en España (he de refrescar...)

Coses a millorar:

1) que el servei tingui associat automàticament el compte 705000. En el formulari del producte Assistència Tècnica I, he de buscar Categoria: Tots els productes / Vendible / Serveis, clicar sobre la carpeta (obrir aquest recurs), i és aquí on puc canviar el compte d'ingressos a 705000.

2) que quedi ben definida la capçalera i peu de la factura. Administració > Companyies. He d'eliminar la part que diu Contact : Administrator -

Canvio

            <drawCentredString x="10.5cm" y="0.8cm">Contact : [[ user.name ]] - Page: <pageNumber/></drawCentredString>

per

            <drawCentredString x="10.5cm" y="0.8cm">Pag: <pageNumber/></drawCentredString>

Totes aquestes factures de client les puc veure a Comptabilitat > Clients > Factures de client

Totes aquestes comandes que estic fent estan en procés. Ara falta rebre l'ingrés. Vaig al formulari de la factura > botó Pagament. Creo una línia de pagament... no cal. En Mètode de Pagament selecciono Efectiu, i ja s'omple la línia de pagament. En la pestanya Apunts Comptables ja veig com ha quedat registrada aquesta operació (dues línies). Ara l'Estat d'aquesta factura ja em queda com a pagada.

Si en comptes d'Efectiu fico Targeta, en l'assentament tindré el comtpe Anticipos de Clientes 438000

Sempre és interessant ficar una referència del pagament (sobretot si és transferència o targeta), per no perdre la pista del pagament.

Sólo se recomienda usar el asistente Pagar factura para cobrar/pagar facturas en efectivo, las facturas cobradas en la C.C. de la compañía (transferencias, recibos, cheques) es mejor registrar los cobros en el diario correspondiente mediante extractos bancarios y después conciliar cuentas para el cálculo automático de facturas cobradas.

Ho faré d'aquesta manera. Suposo que el client em fa una transferència al meu CC. Comptabilitat > Banc i caixa > Extractes bancaris > Nou

factura SAJ/2011/004 (236e). Una possibilitat és el botó Importar les factures. Cerco la factura

Vaig a apunts comptables i veig que s'ha registrat correctament el cobrament de la factura contra el compte 572:

572001 Current
572 Bancos e instituciones de crédito c/c vista, euros

Vaig a Factures de clients i veig que efectivament està cobrada. Puc veure com està quadrat en els assentaments comptables

Com es pot eliminar una factura que ja està feta? (sense haver de fer factura rectificativa?)

Canviar el prefix de la factura

Administració > Configuració > Seqüències. Per a Account Invoice In, el prefix és %(year)s/. Però en realitat no és aquesta seqüència, sinó sale journal (d'aquí ve el prefix SAJ). Per ex, Factura SAJ/2011/001


Intento esboorar una factura oberta

You can not modify a posted entry of this journal !
You should set the journal to allow cancelling entries if you want to do that.

Suposo que es pot fer, però he de saber fer el que diu el text: permetre cancelar assentaments. (TBD). De moment faig una factura rectificativa, vaig a apunts comptables, i veig que efectivament les tres línies que s'havien generat es contrarresten amb altres tres línies.

fer una factura directament

En comptes del procés normal Comanda > factura a partir de comanda, també puc fer una factura directament. Comptabilitat > Factures de client > Nova factura. Afegeixo un producte, però no queda clar l'apartat d'impostos. No faig cas, quan valido la factura ja em calcula directament els impostos (iva 18)

fer un apunt comptable manualment

No vaig a Apunt comptable, sinó a Assentament Comptable passo CC (que acabo de cobrar d'un client) a Caixa

S'ha de fer amb dues línies. Aprovo, i m'ha de canviar les línies de desquadrat a vàlid. Aleshores vaig a Apunt Comptable i ja puc veure l'apunt.

Està molt bé excepte que la Caixa és 570000 i no 572003


Tot això s'ha de poder veure en la BD...

ordres de cobrament i Remeses

Faig una factura amb termini de pagament a 30 dies (en efectiu) i una factura amb termini de pagament immediat (en efectiu)

A pagaments/cobraments > Efectes veig tots els efectes, com el que acabo de fer, que em diu quin és l'import a pagar.

A Ordres de cobrament generaré les ordres de pagament dels rebuts que ja s'han de cobrar. Es tracta de fer Ordres de Cobrament > Nou, i a partir de la factura clicar el botó seleccionar factures a cobrar/pagar. Seleccionar les factures que vull cobrar (a Import ficar un número gran), i ficar la data de venciment per tal de seleccionar les factures que vull. (S'ha de fer notar que només puc seleccionar aquelles factures que el venciment ja ha vençut, sinó no surten). Afegir a l'ordre de pagaments. Confirmar pagaments (per tal de fer el pagament i així a Efectes ja em surt com a pagats)

Aquí allò important és veure com en les Ordres de Pagament hi ha tres enllaços a la dreta: Imprimir Ordre de Pagament, Imprimir remesa, i Generar fitxer (se suposa que genera el fitxer segons la norma 19 per enviar-ho a La Caixa)

A Configuració > Varis > Mode de Pagament creo un nou mode de pagament mètode 19 que ara ja puc seleccionar quan faig Ordres de Pagament.

Factura a cobrar por banco (remesas de recibos) es importante validar la C.C. del cliente.

Configuració de l'aplicació CRM

Els items que m'interessen són Sincronització del Calendari, cerca de mail, Connector amb el Thunderbird.

passos d'instal.lació i configuració del connector Thunderbird:

* Save the Thunderbird plug-­in. (es guarda com a openerp_plugin.xpi)
        * Follow these steps to install Thunderbird plug-­in.
            1. From Menu Bar of Thunderbird, open Tools ­> Add-ons.
            2. Click "Install" button.
            3. Select the plug-in(openerp_plugin.xpi file)
            5. Click "Install Now".
            6. Restart Thunderbird.
        * Follow the steps to configure OpenERP in Thunderbird.
            1. Go to Tools > OpenERP Configuration.
            2. Check data (configured by default).
            3. Click "Connect".
            4. A message appears with the state of your connection.
            5. If your connection failed, check if your database is opened, and check data again.
            6. If your database is connected successfully, you can start to archive your e-mail in OpenERP.


Configuració FTP: servidor: localhost:8021

Enllaços

OpenERP vs Openbravo:

Python based hence faster than java


creat per Joan Quintana Compte, setembre 2011

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines