Instal.lació OpenERP II
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
- openerp-server-6.0.3.tar.gz
- openerp-client-6.0.3.tar.gz
- openerp-web-6.0.3.tar.gz
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:
- Administración/Administración de módulos
- Actualizar lista de módulos
- Verificar nuevos módulos. Ens indica el número de mòduls afegits
- cerquem en la llista de mòduls el mòdul l10n_es_pyme_account
- cliquem dos cops sobre el mòdul. Mirem la descripció i mirem les dependències. Ordenem per estat i mirem els que tenen estat desconegut
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
- 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 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
- http://www.openerp.com/forum
- login i pwd: joanillo/jq****
- Fòrum espanyol: http://www.openerp.com/forum/forum21.html
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:
- Crear archivo de configuración con los parámetros necesarios para conectar con la base de datos postgresql 8.4 que creamos anteriormente (mejor si lo creamos en el directorio /etc/ ). Además tendré que indicar al ejecutable donde encontrar el archivo de configuración durante la ejecución (parámetro --config=/etc/openerp-server.conf)
- Establecer el fichero que permite ejecutar automáticamente el servidor openerp con cada reinicio del ordenador (ejecutable en /etc/init.d y los necesarios en los runlevel)
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)
- tipus de producte: servei
- referència AT1
- mètode de subministrament: produir
- Preu de venda: 200
- Categoria: Tots els productes / Vendible / Serveis
- estat normal
- responsable: Administrador
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
- nom: passo CC (572001, Current, en el Deure) a Caixa (572003, Cash, en el Haver)
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
- enllaç interessant: http://www.openerpvideos.com/
- http://www.aulaerp.com/aula/ (hi ha cursos que permeten l'entrada com a visitant, com ara Comptabilitat amb OpenERP 5)
OpenERP vs Openbravo:
- http://www.pragtech.co.in/fr/component/lyftenbloggie/?view=entry&id=10%3Aopenerp-vs-openbravo-
- http://www.mail-archive.com/tinyerp-users@tinyerp.org/msg13765.html
Python based hence faster than java
creat per Joan Quintana Compte, setembre 2011