Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Copia de sistemas, clonado de discos

Para copiar sistemas hay muchas herramientas disponibles: g4l, partimage, ntfsclone… y por supuesto el viejo y confiable tar.
Veamos unas chuletas rápidas que pueden ayudarnos. Lógicamente hay que ajustar los nombres de los discos y las particiones.

Copia del MBR y la tabla de particiones
Para copiar el MBR y la tabla de particiones de un disco usamos dd y sfdisk.
MBR:
# dd if=/dev/sda of=sda.mbr count=1 bs=512
Tabla de particiones
# sfdisk -d /dev/sda > sda.sf

Para recuperarlos.
MBR:
# dd if=sda.mbr of=/dev/sda
Tabla de particiones
# sfdisk /dev/sda < sda.sf

Para clonar discos NTFS (Windows), usamos ntfsclone
Esta herramienta (ntfsclone) no permite volcar una imagen de una partición en otra partición más pequeña, aunque los datos quepan. En cambio volcar una partición pequeña en una más grande sí es posible.
Por ello se recomienda que la partición original sea lo más pequeña posible. Lo más cómodo es instalar en una partición grande y después redimensionarla antes de hacer la imagen.
# ntfsclone -s -o – /dev/sda1 | gzip | split -b 1500m – sda1.ntfsclone.gz.

Para recuperar la partición usamos:
# cat sda1.ntfsclone.gz.aa sda1.ntfsclone.gz.ab | gunzip -c | ntfsclone –restore-image –overwrite /dev/sda1 -

Para copiar datos de un sistema GNU/Linux a otro, mediante ssh+tar
Desde el equipo en el que vamos a volcar los datos (usamos p para preservar los permisos):
$ ssh IP_equipo_origen “tar cpf – /path_a_copiar” | tar xpf -

Si la red en que trabajamos es lenta (por ejemplo a través de internet) podemos comprimir los datos antes de enviarlos, podemos cambiar el directorio en que se copian los datos…:
$ ssh IP_equipo_origen “tar czpf – /path_a_copiar” | tar xzpf – -C /nuevo_path_base

También podríamos volcar los datos a un fichero:
$ ssh IP_equipo_origen “tar czpf – /path_a_copiar” | dd of=copia_datos.tar.gz
O en el sentido contrario:
$ tar czpf – /path_a_copiar | ssh IP_equipo_destino “dd of=copia_datos.tar.gz”

Más opciones con
$ man tar
$ man ssh

Trabajar con imágenes de particiones
$ partimage
Sí, ya está, solo eso.
Se pueden ver más opciones para evitar el asistente, como siempre mediante:
$ man partimage

tar, ssh, partimage, ntfsclone, dd, clonado, copia

Generar (diff) y aplicar (patch) parches

Hay manuales muy buenos sobre cómo generar parches… este no es uno de ellos, pero es una guía rápida para el 90% de casos.

Para los ejemplos suponemos que tenemos ficheros originales en una carpeta “original” y ficheros modificados en una carpeta “new”.

Trabajando con ficheros
Primero veremos como parchear un único fichero. Usamos el formato unificado (-u). Es el mejor pero “solo” sirve para entornos GNU, es decir todos los Linux y muchos UNIX.
diff -u original/foo.txt new/foo.txt > foo.patch

Podemos ver el parche generado con:
less foo.patch
La sintaxis es (línea o rango de líneas)(orden)(línea o rango de líneas)
Orden puede ser:
c – change – sustituir unas líneas por otras
a – add – añadir líneas
d -delete – borrar líneas

Para aplicar el parche podemos hacer (nombre de fichero implícito en el parche):
patch < foo.patch
O más seguro
patch bar.txt < foo.patch

Si queremos revertir un parche, porque detectamos que introduce un bug pero que el que corrige, por ejemplo, podemos hacer:
patch -R < foo.patch

Trabajando con directorios
Si modificamos varios ficheros, trabajamos con los directorios.
Generamos el parche con:
diff -rupN original/ new/ > codigo.patch

Lo aplicamos con:
patch -p1 < codigo.patch

Para más información, como siempre:
$ man diff
$ man patch

Trabajando con github.com
Los commits de Github pueden bajarse como parches añadiendo “.patch” al URL.
Así bastaría con:
$ wget github.com/URL_COMMIT.patch
$ patch -p1 < URL_COMMIT.patch

diff, patch, parche

Montar y desmontar sistemas con Truecrypt en GNU/Linux

Truecrypt es un sistema de cifrado libre de código abierto para GNU/Linux, Windows y Mac.

Permite cifrar sistemas de archivos enteros, o generar archivos cifrados contenedores de sistemas de archivos.
Permite incluso generar sistemas ocultos dentro de otros sistemas para permitir una denegación plausible.
En su web puede encontrarse mucha documentación, incluyendo cómo generar ficheros contenedores de sistemas de ficheros cifrados.
Aquí veremos cómo montar y desmontar en GNU/Linux un sistema de ficheros de Truecrypt.
Esto nos permite llevar en una memoria USB los ejecutables de Truecrypt para GNU/Linux, Windows y Mac y un archivo con información cifrada mediante Truecrypt.

En GNU/Linux truecrypt debe ejecutarse como root. Para ello podemos valernos de sudo, por ejemplo.
En todo momento si añadimos la opción ‘-t’ prescindiremos del GUI y ejecutaremos la versión de solo consola. Si ejecutamos los comandos del ejemplo sin ‘-t’ haremos lo mismo pero con una bonita GUI.

Aunque necesita permisos de root, en teoría se puede ejecutar el comando como usuario y se encarga de solicitar la clave necesaria, pero yo no he conseguido que funcione:
$ truecrypt -t mi_archivo_cifrado

Enter mount directory [default]:
Enter password for mi_archivo_cifrado:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]:
Enter your user password or administrator password: 

Lanzamos el mismo comando con sudo:
$ sudo truecrypt -t mi_archivo_cifrado

Enter mount directory [default]:
Enter password for mi_archivo_cifrado:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]: 

Lanzamos el mismo comando pero con GUI:
$ sudo truecrypt mi_archivo_cifrado
Truecrypt

Podemos ver el dispositivo montado:
$ mount

/dev/mapper/truecrypt1 on /media/truecrypt1 type vfat (rw,uid=1000,gid=1000,umask=077)

O con el propio Truecrypt:
$ truecrypt -t -l

1: /ruta_a/mi_archivo_cifrado /dev/mapper/truecrypt1 /media/truecrypt1

Para desmontarlo hacemos (no necesitamos sudo):
$ truecrypt -d /media/truecrypt1/

Para montar en un directorio determinado:
$ sudo truecrypt -t mi_archivo_cifrado /mi_directorio/

Truecrypt

Cómo importar/exportar datos en OpenERP

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Las imágenes han sido cedidas por Servi3, tu experto en OpenERP.

Para importar y exportar datos con OpenERP utilizaremos archivos CSV.
Si lo que queremos es mover o copiar una instalación completa, es tan sencillo como hacer una copia de seguridad de la base de datos de postgres y restaurarla en el nuevo servidor.

OpenERP permite en los formularios importar y exportar datos.
Para importar datos recomiendo hacer primero una exportación, lo que nos permite ver la estructura de datos.
OpenERP
Seleccionamos los campos que nos interesan y pulsamos aceptar.
OpenERP

Para cargar datos en una instalación nueva, lo primero que hay que importar son las cuentas, ya que las empresas y productos hacen referencia cuentas contables.
Vamos a ‘Contabilidad -> Configuración -> Contabilidad financiera -> Cuentas -> Cuentas’, abrimos la vista formulario y seleccionamos en el menú “Formulario -> Importar datos…”. Seleccionamos el fichero deseado y pulsamos “Auto-Detección”. Este proceso nos cargará los campos del CSV y nos detectará algunos errores.
OpenERP
Pulsamos aceptar. Si todo ha ido bien veremos el siguiente mensaje:
OpenERP

Después de importar las cuentas, necesitamos saber el identificador (ID) que ha asignado a cada una. Para ello podemos, bien exportar las cuentas, bien utilizar un cliente de postgres, ya sea la línea de comando o un cliente como pgadmin3.

A continuación unos ficheros de carga sencillos para cuentas. Basta adaptarlos a nuestras necesidades:
servi3-carga_01-cuentas.csv

"company_id","code",".id","id","name","parent_id","parent_id.id","user_type","type"
"Servi3",40000000,478,,"Proveedores (euros)","4000 Proveedores (euros)",477,"Terceros - A Pagar","A pagar"
"Servi3",40000001,,,"Prov. Mi proveedor 1","4000 Proveedores (euros)",477,"Terceros - A Pagar","A pagar"
"Servi3",40000002,,,"Prov. Mi proveedor 2","4000 Proveedores (euros)",477,"Terceros - A Pagar","A pagar"
"Servi3",41000000,507,,"Acreedores por prestaciones de servicios (euros)","4100 Acreedores por prestaciones de servicios (euros)",506,"Terceros - A Pagar","A pagar"
"Servi3",41000001,,,"Acre. Mi acreedor 1","4100 Acreedores por prestaciones de servicios (euros)",506,"Terceros - A Pagar","A pagar"
"Servi3",41000002,,,"Acre. Mi acreedor 2","4100 Acreedores por prestaciones de servicios (euros)",506,"Terceros - A Pagar","A pagar"
"Servi3",43000000,519,,"Clientes (euros)","4300 Clientes (euros)",518,"Terceros - A Cobrar","A cobrar"
"Servi3",43000001,,,"Clie. Mi cliente 1","4300 Clientes (euros)",518,"Terceros - A Cobrar","A cobrar"
"Servi3",43000002,,,"Clie. Mi cliente 2","4300 Clientes (euros)",518,"Terceros - A Cobrar","A cobrar"
"Servi3",60000000,949,,"Compras de mercaderías","600 Compras de mercaderías",948,"Gastos","Regular"
"Servi3",60000001,,,"Compras de mercaderías tipo 1","600 Compras de mercaderías",948,"Gastos","Regular"
"Servi3",60000002,,,"Compras de mercaderías tipo 2","600 Compras de mercaderías",948,"Gastos","Regular"
"Servi3",70000000,1264,,"Ventas de mercaderías en España","7000 Ventas de mercaderías en España",1263,"Ingresos","Regular"
"Servi3",70000001,,,"Ventas de mercaderías tipo 1","7000 Ventas de mercaderías en España",1263,"Ingresos","Regular"
"Servi3",70000002,,,"Ventas de mercaderías tipo 2","7000 Ventas de mercaderías en España",1263,"Ingresos","Regular"

 

servi3-carga_02-productos.csv:

".id","default_code","name","active","company_id","property_account_expense","property_account_income","state","taxes_id","supplier_taxes_id"
,"TP01","Mercaderías tipo 1","True","Servi3","60000001 Compras de mercaderías (HW)","70000001 Ventas de mercaderías (HW)","Normal","IVA 18%","18% IVA Soportado (operaciones corrientes)"
,"TP02","Mercaderías tipo 2","True","Servi3","60000002 Compras de mercaderías (HW)","70000002 Ventas de mercaderías (HW)","Normal","IVA 18%","18% IVA Soportado (operaciones corrientes)"

 

servi3-carga_03-clientes_proveedores.csv

"id","name","ref","title","active","vat","vat_type","lang","customer","supplier","include_in_mod347","website","property_account_receivable.id","property_account_payable.id","city","email","country/id","country.id","vat_subjected","phone","address.id","address/id","address/type","address/active","address/street","address/zip","address/city","address/is_customer_add","address/email","address/phone","address/fax","address/function","address/name"
,"Mi cliente 1 SL","Mi cliente 1 SL","Ltd","True","ESA46103834","1 - Corresponde a un NIF","es_ES","True","False","True","http://servi3.com","****",,"Valencia","info@servi3.com","base.es","67","True","(+34) 123 456 789",,,"default","True","Cl Rue 13 del percebe",28001,"Valencia","True","info@servi3.com","(+34) 123 456 789","(+34) 123 456 789","Contacto 1","Mi cliente 1 SL"
,"Mi cliente 2 SA","Mi cliente 2 SA","Corp.","True","ESA46103834","1 - Corresponde a un NIF","es_ES","True","False","True","http://servi3.com","****",,"Valencia","info@servi3.com","base.es","67","True","(+34) 123 456 789",,,"default","True","Cl Rue 13 del percebe",28001,"Valencia","True","info@servi3.com","(+34) 123 456 789","(+34) 123 456 789","Contacto 1","Mi cliente 2 SA"
,"Mi proveedor 1 SL","Mi proveedor 1 SL","Ltd","True","ESA46103834","1 - Corresponde a un NIF","es_ES","False","True","True","http://servi3.com","****",,"Valencia","info@servi3.com","base.es","67","True","(+34) 123 456 789",,,"default","True","Cl Rue 13 del percebe",28001,"Valencia","True","info@servi3.com","(+34) 123 456 789","(+34) 123 456 789","Contacto 1","Mi proveedor 1 SL"
,"Mi proveedor 2 SA","Mi proveedor 2 SA","Corp.","True","ESA46103834","1 - Corresponde a un NIF","es_ES","False","True","True","http://servi3.com","****",,"Valencia","info@servi3.com","base.es","67","True","(+34) 123 456 789",,,"default","True","Cl Rue 13 del percebe",28001,"Valencia","True","info@servi3.com","(+34) 123 456 789","(+34) 123 456 789","Contacto 1","Mi proveedor 2 SA"
,"Mi cliente y poveedor 1 SA","Mi cliente y poveedor 1 SA","Corp.","True","ESA46103834","1 - Corresponde a un NIF","es_ES","True","True","True","http://servi3.com","****",,"Valencia","info@servi3.com","base.es","67","True","(+34) 123 456 789",,,"default","True","Cl Rue 13 del percebe",28001,"Valencia","True","info@servi3.com","(+34) 123 456 789","(+34) 123 456 789","Contacto 1","Mi cliente y poveedor 1 SA"

 

OpenERP, importar, exportar, datos, csv

 

Copias de seguridad en PostgreSQL

Si tenemos una base de datos con información importante, es imprescindible hacer copias de seguridad.

Para ello, con postgres, podemos utilizar el siguiente script:

#!/bin/bash
#
# pg_copia.sh
# Por Guimi 2008/11 - http://www.guimi.net
# Basado en un script de http://www.cyberciti.biz/tips/howto-backup-postgresql-databases.html
#

##########################
# PARAMETROS
DIR="/var/lib/postgresql/copias"
LOG="pg_copia.log"

# Vamos al directorio de copias
cd $DIR

# Marcamos el inicio del script en el registro
echo "["`date +%C%y/%m/%d-%X`"] --- Iniciando pg_copia ---" >> $LOG

# Obtenemos la lista de BBDD, excluyendo template0 y template1
LISTA_BBDD=$(psql -l | awk '{ print $1}' | grep -vE '^-|^:|^List|^Name|^Nombre|^\(|template[0|1]')
# Para cada BBDD hacemos un volcado
for BBDD in $LISTA_BBDD
do
  FICHERO_COPIA="$BBDD.sql.gz"
  # Rotamos copias anteriores
  mv $FICHERO_COPIA".004" $FICHERO_COPIA".005" > /dev/null 2>&1
  mv $FICHERO_COPIA".003" $FICHERO_COPIA".004" > /dev/null 2>&1
  mv $FICHERO_COPIA".002" $FICHERO_COPIA".003" > /dev/null 2>&1
  mv $FICHERO_COPIA".001" $FICHERO_COPIA".002" > /dev/null 2>&1
  mv $FICHERO_COPIA $FICHERO_COPIA".001" > /dev/null 2>&1
  # Hacemos la copia
  pg_dump $BBDD | gzip -c > $FICHERO_COPIA
  # Marcamos en el registro la copia
  if [ "$?" -eq 0 ]
  then
    echo "[OK] $BBDD copiada" >> $LOG
  else
    echo "[ERROR $?] $BBDD NO copiada" >> $LOG
  fi
done

#Para restaurar una copia use:
# gunzip $FICHERO_COPIA
# psql -d $BBDD -f $FICHERO_COPIA > dump_$BBDD.log

 
Podemos programar el sistema para que realice copias automáticamente de forma regular mediante crontab -e.

Para restaurar una copia usamos:
$ gunzip miBD.sql.gz
$ psql -d miBD -f miBD.sql.gz > dump_miBD.log

De esta manera también podemos “llevarnos” una BDD de un servidor a otro. Primero hacemos la copia de seguridad en el servidor ‘origen’, y después en el servidor ‘destino’ creamos la BD y restauramos la copia:
$ createdb -O mi_usuario miBD
$ gunzip miBD.sql.gz
$ psql -d miBD -f miBD.sql > dump_miBD.log

postgres, copia de seguridad, backup postgres

Cómo configurar la localización española de OpenERP

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Las imágenes han sido cedidas por Servi3, tu experto en OpenERP.

Primero vimos cómo hacer una Instalación de OpenERP 6.0.3 en Debian GNU/Linux.
Después cómo instalar un cliente de OpenERP en Debian.
También hicimos una configuración inicial de OpenERP.
Y seguimos por instalar en OpenERP los módulos de la localización española.
En esta entrada veremos como realizar la configuración básica de la localización española de OpenERP.

Notas

Hay que tener en cuenta al usar OpenERP en España varios detalles. Algunos detalles:
- ‘Compañía’ es nuestra compañía o empresa
- ‘Empresas’ son todas las demás empresas: clientes, proveedores, acreedores…
- Para introducir los NIF/CIF es necesario indicar el país, para que se pueda validar correctamente. En el caso de un CIF de España pondremos ESxxxxxxxxxx.

Importar bancos

Primero en ‘Ventas -> Configuración -> Libreta de direcciones -> Bancos‘ lanzamos el ‘Import Bank Data Wizard’. Este asistente importa los datos de los bancos españoles, lo que es necesario para dar de alta los CCC.
OpenERP
Pulsamos aceptar y ya está.
OpenERP
No nos da ningún otro mensaje, pero si consultamos los bancos podemos comprobar que ya están importados.

Completar la información de nuestra empresa (compañía)

Antes de continuar, recomiendo abrir la ficha de nuestra empresa, que aparece en ‘Clientes’ (‘Contabilidad -> Clientes -> Clientes‘). Ahí podemos completar algunos datos como nuestro NIF/CIF, nuestro(s) CCC -ahora que ya hemos importado los bancos-, etc.

Crear ejercicio fiscal

Para crear un ejercicio fiscal vamos a ‘Contabilidad -> Configuración -> Contabilidad financiera -> Periodos -> Ejercicios fiscales‘.
OpenERP
Como vemos no hay ninguno creado, así que pulsamos el botón ‘Nuevo’.
OpenERP
Rellenamos los datos básicos.
OpenERP
Y pulsamos los botones ‘Crear periodos de apertura, cierra y PyG’ y ‘Crear periodos trimestrales’. En algunos casos en vez de los periodos trimestrales será necesario crear periodos mensuales.
OpenERP
Recomiendo cambiar los nombre de los periodos:
OpenERP

Numeración de facturas independiente de movimientos contables

Desde la versión 6.0 de OpenERP el contador de facturas y el de movimientos contables son el mismo. Esto hace que la numeración de las facturas no sea correlativo, lo cual va contra la norma española.
Por ejemplo, creamos una factura (contador ’1′), hacemos el pago (contador ’2′), hacemos otra factura (contador ’3′).

Para solventar esto instalamos el módulo ‘nan_account_invoice_sequence’ (cómo instalar módulos en OpenERP) que nos crea cuatro secuencias para facturas normales y facturas rectificativas de clientes y proveedores: account invoice in (facturas a clientes), account refund in (fac. rectificativas), account invoice out (facturas de proveedores), account refund out (fac. rectificativas).
(Ver más adelante: Configurar secuencias).

Debemos ir a los diarios y asignar las nuevas secuencias desde el menú de ‘Contabilidad -> Configuración -> Contabilidad financiera -> Diarios -> Diarios‘.
OpenERP

Asignamos al diario ‘Purchase Journal’ la secuencia ‘Account invoice out’.
Asignamos al diario ‘Sales Journal’ la secuencia ‘Account invoice in’.
OpenERP

Si nos hemos dado cuenta del problema con el sistema ya en funcionamiento, hay solución:
Separar secuencias de facturas en OpenERP.

Configurar secuencias

Antes de hacer movimientos, podemos indicar los códigos de secuencias que queremos utilizar. Por ejemplo los códigos de factura son, por defecto, un número correlativo: Factura 1, 2, 3… Vamos a ver como cambiarlo a algo tipo 1/2012 o NF/2012/001. Abrimos ‘Administración -> Configuración -> Secuencias -> Secuencias‘.
OpenERP
‘Account Journal’ es la secuencia de movimientos contables y en principio también de todas las facturas -en España esta configuración no cumple la normativa-.
(Ver más atrás ‘Numeración de facturas independiente de movimientos contables’).
Hacemos doble click sobre la secuencia a configurar.
OpenERP
Recordemos que si hemos separado las secuencias de facturas, los contadores son: account invoice in (facturas a clientes), account refund in (fac. rectificativas), account invoice out (facturas de proveedores), account refund out (fac. rectificativas).
OpenERP

Otros ajustes

Según nuestras necesidades y preferencias podemos realizar más ajustes.

Introducir información inicial

El siguiente paso es introducir los datos de nuestros clientes, proveedores, artículos…
Es interesante crear cuentas contables específicas para ellos. Si vamos a crearlos a mano uno a uno, podemos ir creando las cuentas sobre la marcha. Pero si vamos a crearlos masivamente, usando las herramientas de importación, primero hay que crear primero las cuentas.
OpenERP

Podemos ver cómo importar datos en OpenERP.

 

OpenERP, configuración, localización española, Debian

Instalar en OpenERP los módulos de la localización española

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Las imágenes han sido cedidas por Servi3, tu experto en OpenERP.

En esta entrada explicaremos cómo instalar módulos en OpenERP. Lo haremos viendo cómo instalar y configurar la localización española en el servidor de OpenERP.

Para ello ya debemos tener un servidor instalado [Instalación de OpenERP 6.0.3 en Debian GNU/Linux], un cliente instalado [Cómo instalar un cliente de OpenERP en Debian] y la configuración inicial de OpenERP realizada.

Para instalar un módulo en OpenERP básicamente el proceso consiste en:

  1. copiar el módulo al directorio ‘addons’ del servidor
  2. conectar con el cliente de OpenERP y ‘Actualizar la lista de módulos’
  3. instalar y configurar el módulo desde el cliente

Observemos que el primer paso deja el módulo disponible para las diferentes instancias de OpenERP, pero los módulos instalados para cada instancia son independientes. Esto permite tener a la vez y en el mismo servidor diferentes instancias con, por ejemplo, el plan contable francés y español.

Vamos allá.

COPIAR MÓDULOS EN EL SERVIDOR

Trabajando en el directorio del servidor, descargamos los módulos extras y la localización española (todo en la versión 6.0):
# cd /opt/openerp/
# bzr branch lp:openobject-addons/extra-6.0
# bzr branch lp:openerp-spain/6.0

Asignamos el usuario y grupo a todas las fuentes
# chown -R openerp:openerp *

Copiamos los módulos estrictamente necesarios en el directorio ‘addons’ del servidor:
# cp -Rp 6.0/* server/bin/addons/
# cp -Rp extra-6.0/account_financial_report/ server/bin/addons/
# cp -Rp extra-6.0/account_payment_ex server/bin/addons/
# cp -Rp extra-6.0/account_payment_extension/ server/bin/addons/
# cp -Rp extra-6.0/account_renumber/ server/bin/addons/
# cp -Rp extra-6.0/account_balance_reporting/ server/bin/addons/
# cp -Rp extra-6.0/account_invoice_currency/ server/bin/addons/
# cp -Rp extra-6.0/account_refund_original/ server/bin/addons/
# cp -Rp extra-6.0/nan_ server/bin/addons/
# cp -Rp extra-6.0/nan_account_bank_statement/ server/bin/addons/

Hay quien prefiere instalar todos los extras disponibles, con lo que bastaría, en vez de lo anterior, hacer:
# cp -Rp 6.0/* server/bin/addons/
# cp -Rp extra-6.0/* server/bin/addons/

ACTUALIZAR LA LISTA DE MÓDULOS EN EL SERVIDOR

Desde el cliente, vamos a “Menú -> Administración -> Módulos -> Actualizar la lista de módulos”.
OpenERP
Si no encontramos la opción de Módulos es porque no tenemos la interfaz extendida. Se puede seleccionar desde el menú superior “Usuario -> Preferencias -> Interfaz”.

Presionamos “Actualizar”.
OpenERP

Y nos indica los módulos de que disponemos.
OpenERP

Después abrimos los módulos pulsando “Abrir módulos” o, en cualquier momento desde “Menú -> Administración -> Módulos -> Módulos”.

INSTALAR Y CONFIGURAR EL MÓDULO

Abrimos el apartado de módulos (“Menú -> Administración -> Módulos -> Módulos”).
El módulo que vamos a instalar se llama “l10n_es_pyme_account” y se encarga de instalar todos los módulos necesarios para llevar la contabilidad de una empresa española.
Cómo vemos, en la imagen hemos filtrado los módulos que empiezan por ‘l10n_es’, es decir los de la localización española, y seleccionado el módulo que nos interesa.
OpenERP

Al pasar a la vista “Formulario” (botón en la barra de herramientas o Ctrl+L), podemos seleccionar “Dependencias” y vemos que el módulo a instalar depende de otros módulos. Algunos estan “Instalados”, otros están “No instalados” (pero disponibles) y otros son “Desconocidos” (no están disponibles).
OpenERP

Si el módulo que queremos instalar depende de módulos “Desconocidos”, debemos volver al paso 1 (copiar módulos en el servidor) y actualizar la lista de módulos (paso 2).
Generalmente los módulos que necesitamos se encuentran en la rama “extras” de las fuentes (directorio ‘extra-6.0′).
Si has copiado todos los módulos que indico un poco más arriba deberían estar todos disponibles (“Instalados” o “No Instalados”).
OpenERP

Desde la pestaña “Módulo” lo marcamos como “Programar para instalación” y después lanzamos la “Acción” “Aplicar actualizaciones programadas”. Nos aparecerá un mensaje de confirmación:
OpenERP
Y otro al acabar. Si todo ha sido correcto nos indicará:
OpenERP
Los motivos más habituales de fallo de una instalación son que, o bien no hemos instalado todos los módulos de que dependía, o bien alguno de ellos no está en la versión correcta.

Tras la instalación del módulo, algunos lanzan un asistente de configuración del mismo. Para nuestro ejemplo, los módulos de la localización española, el asistente nos permite crear el plan contable (por eso en la configuración inicial de OpenERP nos habíamos saltado este paso).
OpenERP
En España se entrega a Hacienda un único diario. Por eso desmarcamos la casilla ‘Secuencias de diarios separadas’.

También nos permite cargar los topónimos. Muy útil.
OpenERP

Y ya hemos instalado los módulos de la localización española de OpenERP.
OpenERP

Podemos ver cómo han quedado los módulos de localización española:
OpenERP

Pero todavía no es suficiente para empezar a trabajar. Falta configurar la localización española de OpenERP y, si se puede, importar datos en OpenERP.

OpenERP, localización española, Debian

Configuración inicial de OpenERP

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Las imágenes han sido cedidas por Servi3, tu experto en OpenERP.

Tras instalar el servidor OpenERP [Instalación de OpenERP 6.0.3 en Debian GNU/Linux] e instalar un cliente [Cómo instalar un cliente de OpenERP en Debian] el siguiente paso es realizar una configuración inicial de OpenERP.

La primera vez que ejecutamos el cliente, indica “¡Base de datos no encontrada, debe crear una!”.
OpenERP
Pulsamos “Cancelar”

Si no hemos asignado una contraseña para admin en openerp-server.conf, (si estás siguiendo mis entradas sobre OpenERP ya está hecho) primero vamos a “Archivo -> Bases de datos -> Contraseña del administrador” para cambiarla.
Hay que tener en cuenta que por omisión la clave del “superadministrador” es ‘admin’ y con ella se puede crear, modificar y BORRAR bases de datos fácilmente. Conclusión: cambia la clave.

Creamos una base de datos para nuestra instalación. Cada BD es una instancia del sistema, que permite sus planes contables, sus varias empresas, sus varios idiomas… Lo normal es tener una instancia en producción y otra(s) para pruebas.
Cada instancia tiene su usuario administrador, lo que puede ser un poco confuso al crear una BD.

Desde “Archivo -> Bases de datos -> Nueva base de datos”
OpenERP
Notas importantes

  • El “Super Administrator Password” es la clave del “super administrador”, es decir el usuario ‘admin’, cuya clave se define en /etc/openerp.conf (que no debe ser legible por cualquiera) y que permite crear y borrar instancias completas.

  • Desmarcar “Load demonstration data” excepto si es para hacer pequeñas pruebas. Incluso para que funcione la localización española -por pequeñas que sean las pruebas- debe estar desmarcado.
  • El “Administrator Password” es la clave del administrador de la instancia que estamos creando.

Tras rellenar los datos, y pulsar “Aceptar” tarda un poquito.
OpenERP

La primera pantalla del asistente nos recuerda los datos que estamos utilizando.
OpenERP

Indicamos interfaz extendida. Si no, no podremos configurar módulos.
OpenERP

Rellenamos los datos básicos de nuestra empresa.
OpenERP
¿Ya sabéis que Servi3 es tu experto en OpenERP?

Elegimos los módulos a instalar. Más adelante podemos instalar más, así que para empezar basta con marcar “Contabilidad y finanzas” que es EL módulo.
OpenERP

Si vamos a instalar en OpenERP los módulos de la localización española es importante saltarnos la definición del plan contable (en ese caso lo haremos más adelante).
OpenERP

Seleccionamos la parte de la contabilidad que deseamos en el sistema.
OpenERP

¡Y por fin hemos terminado y podemos ver OpenERP en funcionamiento!
OpenERP

Ahora, podemos pasar a instalar en OpenERP los módulos de la localización española, configurar la localización española de OpenERP e importar datos en OpenERP.

OpenERP, configurar inicial de OpenERP, Debian

Cómo instalar un cliente de OpenERP en Debian

Esta entrada forma parte de una pequeña serie de [entradas sobre OpenERP].
Estas entradas se han realizado gracias a la colaboración de Servi3, tu experto en OpenERP.

El cliente de OpenERP a utilizar debe ser de la misma versión que el servidor con el que queremos conectar.
Su instalación es muy sencilla, basta con descargar las fuentes en python y ejecutar:
$ wget http://www.openerp.com/download/stable/source/openerp-client-6.0.3.tar.gz
$ tar xfz openerp-client-6.0.3.tar.gz
$ cd openerp-client-6.0.3/bin/
$ python openerp-client.py

Si se desea, también puede crearse una entrada en el menú del GUI (Gnome, KDE…) que ejecute el comando “python /path_cliente/openerp-client.py”.

Si las estás leyendo por orden, puedes seguir con la configuración inicial de OpenERP.

OpenERP, instalación del cliente, Debian