Вы находитесь на странице: 1из 19

IMPORTAR/EXPORTAR DATOS

EXPORTAR
Se pueden exportar los datos del ERP a un formato CSV o Excel.

1. Seleccin de los datos y campos a exportar


Para ello hay que seleccionar los que queremos exportar (todos o solo algunos)
Ejemplo Compaas:

Tras hacer la seleccin de los objetos, aparecer una nueva pantalla en la que indicaremos los
campos.
A la izquierda a aparecen todos los campos disponibles para el objeto que hemos seleccionado.

Los campos que aparecen con flechas se despliegan en ms campos. Estos realmente estn
indicando las relaciones que existen entre esos objetos y otros objetos. Son las relaciones
entre tablas.
Para incluir los campos concretos en la exportacin, seleccionar de la parte izquierda y pulsar
agregar. El orden en el que los agreguemos ser el orden en el que aparezcan en el fichero.

2. Seleccin del formato a exportar


Una vez seleccionados los campos, elegir el formato de exportacin:

CSV: archivo que separar los distintos campos de datos con coma (,).
Segn el programa:
a) Libre Office: Para poder abrirlo correctamente habr que importarlo e indicar que
el separador de datos es la coma

b) Excel: Abrir un documento en blanco.


1. Datos Desde Texto
3

2. Seleccionar el archivo
3. Delimitados

4. Separador coma

5. Formato General
4

6. Indicar la celda desde donde empezar.

EXCEL: extensin de archivo xls. Directamente puede ser abierto por Excel con los campos
separados.

3. Interpretacin del fichero resultante:


La primera columna ser siempre el identificador del objeto al ser exportado. Tendr relacin
con la clave que lo distinguir en la B.D dentro de la tabla. Tras l estarn los datos que se han
pedido exportar. Cuando uno de los campos lo relaciona con otro objeto, en el dato aparecer
el id de ese objeto en la B.D.

Cuando el id del objeto empieza por base.XXXXX indica que es un dato inicial de base creado
por el sistema al instalarse. En el ejemplo la compaa inicial que se crea lleva el identificador
base.main_company

Cuando el id del objeto empieza por _export_.res_XXXXX_Y nos indica:


5

res_XXXXXX: indica la tabla de B.D. donde est guardado el dato


Y: indica la clave de ese dato en la tabla.

En este ejemplo tendramos que la tabla se llama res_company y que el dato correspondiente
a la compaa ICJARDIN-IMPORT tiene como clave el 4

En este otro ejemplo de exportacin de usuarios podemos interpretar otros datos:

Cuando el campo est precedido por otro nombre y una barra, quiere decir que est
relacionado con otra tabla y nos indica el nombre de la tabla, el campo con el que se relaciona
y el valor de este. Es el caso de la compaa (tabla: company_id res_company; campo id;
valor del campo en el caso empVentas = 5) y la empresa relacionada (parter_id res_partner;
campo id; valor del campo en el caso empVentas = 75)

4. Guardar la seleccin de los campos a exportar


Si realizamos habitualmente una exportacin con los mismos campos, podemos guardarla una
vez configurada (seleccionados los campos) pulsando Guardar lista de campos.


Escribimos el nombre que queremos darle a la seleccion

Y estar disponible las prximas veces que queramos exportar esos campos.

5. Seleccionar campos de tablas relacionadas entre s


Video ayuda: https://www.youtube.com/watch?v=S-stx5O8LTM

A la hora de poder generar un informe ms claro sobre los datos, no me sirve que en el
fichero resultante me aparezcan las claves con las que se relacionan unas tablas con otras.
Sera ms claro si en vez del id me apareciera el nombre o algo con que se pueda identificar.

Por ejemplo en esta imagen es complicado saber a qu campos se refieren realmente sin
acceder a la B.D.

Este campo s que se refiere a la tabla res_company y concretamente a la


fila con el id = 5. Si accedo a la B.D, veo qu compaa es.

Realmente sera ms til si directamente pudiera sacar ese dato en el archivo. Para ello, a la
hora de hacer la exportacin, debo indicar Todos los datos

Selecciono los datos, evitando los IDs y seleccionando los nombres explicativos (dentro de los
desplegables):

El fichero resultante da datos ms entendibles:

IMPORTAR DATOS
1.a ) Tablas simples
Para importar datos hay que asegurarse que est instalado el mdulo que permite hacerlo
(base_import)

A tener en cuenta para realizar importaciones de datos mediante ficheros CSV en OpenERP:
Los ficheros CSV deben tener los campos separados por ;, , o cualquier otro que se configure
en el momento de la importacin. (Cuidado al exportar)
Al construir el fichero CSV, el separador de texto debe ser ". Ojo! El separador de texto debe
aparecer incluso en los campos vacos.
La cabecera del fichero CSV (primera lnea) contiene el nombre de los campos que deben estar
en el mismo idioma tenga configurado por defecto el usuario que realice la importacin.
Si en un objeto hay campos relacionados, por ejemplo categoras de clientes o productos, los
objetos de los campos relacionados deben existir en OpenERP.
Consejo Para saber exactamente cmo se debe formatear el fichero csv, la mejor opcin es
hacer una exportacin previa y ver como OpenERP ha construido el fichero CSV.
Ejemplo: Importar la definicin de un nuevo idioma basndose en una exportacin previa de
los idiomas ya existentes

Comprobamos en la tabla de la BD de qu tipo es el id para saber si debemos asignrselo o sin


embargo al hacer la insercin del dato la BD se lo asignar directamente.
La tabla es res_lang. La busco en pgadmin y compruebo el tipo de la columna id

10

Como es de tipo serial (=autonumrico) elimino la primera columna del archivo. La BD le


asignar el identificador.

Elimino las filas tomadas como ejemplo porque ya existen en la BD

Guardo el archivo con Guardar como y selecciono el tipo de archivo (csv) y Edito la
configuracin de los filtros (para indicar los separadores)

11

Marcar estas opciones que son las que entiende OpenERP (UTF-8, coma, comillas)

Tras obtener el archivo csv, ir al ERP e importarlo en la categora que le corresponda, en este
caso Idiomas. Seleccionar Importar

12

Seleccionar el archivo y pulsar Validar para comprobar si hay algn error. Si el archivo est
bien, el ERP reconocer las cabeceras, que corresponden a los campos de la tabla.

Si no hay errores, pulsar Importar.

13

1.b) Relaciones entre tablas


Puede ocurrir que haya que importar datos en una tabla que tiene uno de los campos relacionados con otra
tabla (constraints).
Para construir el archivo.csv lo mejor es hacerlo desde una extraccin anterior para tener los nombres de
los campos. Comprobar en PgAdmin los valores que puedan pertenecer a otras otras.
En este ejemplo, el campo parent_id/id, si miro en PgAdmin me indica que es el id de la tabla
res_company:

Si miro los datos de la tabla res_company, puedo ver sus datos y seleccionar uno de ellos para incluir en el
csv que quiero construir.

Una vez construido el csv con los datos propios de la tabla en cuestin ms los que pueda referenciar a
otras, importo el csv. En este caso se trata de nuevas compaas:

Seleccionar el archivo:

14

Validar

Al pulsar Validar nos pueden salir errores en los campos que se relacionan con otras tablas.

Desplegar el campo que da error y elegir Id. De la BD.

15

Validar de nuevo:

Importar.

16

1.c) Identificadores para importar - exportar.


Identificadores de BD: directamente accedidos y consultados desde la BD
Identificadores Externos - formato: __export__res_tabla_clave excepto los inicialmente creados por el
sistema que tendrn formato base.XXXXXXXXX
Por ejemplo, aqu pondramos un 5 si vamos a utilizar en la importacin Id de BD o dejaramos lo escrito si
utilizamos id externos.

Para conocer los Identificadores externos de los objetos hay que activar el modo desarrollador:

Acceder al objeto en cuestin y seleccionar Ver metadatos

17

Para desactivar el modo desarrollador, en la barra de direcciones eliminar desde el smbolo ? hacia atrs

1.d) Registros relacionados en archivos de datos CSV


a) ManyToOne
El usuario responsable de cada tarea es un registro relacionado en el modelo de los usuarios, con la
relacin many to one - muchos a uno - (o foreign key - clave fornea). El nombre de la columna para ello
fue usuario_id/id y los valores de los campos eran identificadores externos para los registros
relacionados, tales como base.user_root para el usuario administrador.
Las columnas de relacin deben tener /id anexo a su nombre, si se usan IDs externos, o /.id, si se usan IDs
(numricos) de base de datos.
Por ejemplo, en las compaas en lugar de parent_id/id si vamos a utilizar los IDs de la BD, podemos
escribir en el csv parent_id/.id

b) ManyToMany
Del mismo modo, la relacin many to many - muchos a muchos - son soportables.
18

Un ejemplo de relacin many to many es la que existe entre usuarios y grupos: cada usuario puede estar
en muchos grupos, y cada grupo puede tener muchos usuarios. La columna nombre para este tipo de
campo debera haber aadido un /id. Los valores de los campos aceptan una lista separada por comas de
Id externos, entre comillas dobles.
Por ejemplo, los Seguidores de las tareas a realizar es una relacin many-to-many entre Tareas por hacer
y Socios. El nombre de la columna puede ser follower_ids/id y un valor de campo con dos seguidores
podra ser: "__export__.res_partner_1,__export__.res_partner_2"

c) OneToMany
Finalmente, las relaciones one to many tambin se pueden importar a travs de CSV. El ejemplo tpico de
esta relacin es un documento "head" con varias "lines".
Podemos ver un ejemplo de tal relacin en el modelo de empresa (la vista de formulario est disponible
en el men configuracin): una empresa puede tener varias cuentas bancarias, cada una con sus propios
detalles, y cada cuenta bancaria pertenece a (tiene una relacin many-to-one con) solo una empresa.
Es posible importar las empresas junto con sus cuentas bancarias en un solo archivo. Para esto, algunas
columnas correspondern a empresas, y otras columnas correspondern a cuentas bancarias detalladas.
Los nombres de columnas de los detalles del banco deben ser precedidos de los campos con la relacin
one-to-many que vincula a la empresa con los bancos; bank_ids en este caso.

Los primeros datos de la cuenta bancaria van en la misma fila de los datos vinculados de la
empresa.
Los detalles de la prxima cuenta bancaria van en la siguiente fila, pero solo los datos bancarios
de la columna relacionada deben tener valores;
La columna de datos de la empresa debe tener esas lneas vacas.

Aqu est un ejemplo cargando una empresa con datos de tres bancos:
id,name,bank_ids/id,bank_ids/acc_number,bank_ids/state
base.main_company,YourCompany,__export__.res_partner_bank_4,123456789,b
ank
,,__export__.res_partner_bank_5,135792468,bank
,,__export__.res_partner_bank_6,1122334455,bank
Las dos ltimas lneas comienzan con comas: Esto corresponde a valores en las dos primeras columnas, id
y name, con respecto a los datos del encabezado de empresa. Pero las columnas restantes, con respecto a
las cuentas bancarias, tienen valores para el segundo y tercer registro del banco.

19

Вам также может понравиться