Importación de clientes automática

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Esta página describe un ejemplo de desarrollo utilizado para realizar importaciones a Dolibarr por código. Si busca otros métodos, consulte la página Importaciones.



Fichero de datos

Primeramente debe crear su fichero de datos, respetando una estructura particular:

Este fichero deberá contener los siguientes campos, y los campos deberán estar separados por tabulaciones. Lo más simple es trabajar con excel, guardando el documento en formato txt delimitado con tabulaciones.

Columna1: código_cliente

Columna2: nombre de la empresa

Columna3: complemento nombre de la empresa

Columna4: línea de dirección 1

Columna5: línea de dirección 2

Columna6: línea de dirección 3

Columna7: Código postal

Columna8: población Como puede observar, la dirección debe de estar normalizada (2 líneas para el nombre y 3 para la dirección + CP y población).Cuando se importen estas 3 líneas de dirección serán colocadas en el único campo de dirección de dolibarr con un retorno de carro después de cada línea. Lo mismo se realizará para el nombre y el complemento del nombre que se introducirán en el único campo de dolibarr con un retorno de carro en la línea.

Columna9: teléfono

Columna10: fax

Colonne11: e-mail

Columna12: cliente (1 para cliente, 2 para cliente potencial, 0 ni cliente ni cliente potencial)

Columna13: proveedor(valor 1 si es proveedor ó 0 si no es proveedor)

Columna14: forma jurídica (Ver los valores de la tabla llx_c_forme_juridique para alimentar esta columna. Podemos dejar vacía esta columna)

Columna15: tipo de empresa (Ver los valores de la tabla llx_c_typent para alimentar esta columna. Podemos dejar vacía esta columna)

Columna16: Código del país (Ver los valores de la tabla llx_c_pays para alimentar esta columna. Podemos dejar vacía esta columna)

Columna17: url (url del sitio web de la empresa. Podemos dejar vacía esta columna)

No cree una columna de cabecera en su fichero.

Una vez sus columnas estén rellenadas, guarde su fichero en su carpeta data bajo el nombre societe.txt

Fichero script de importación

Copie el contenido que se encuentra a continuacion en un fichero que creará bajo el nombre "import_client.php". Guarde este fichero en la carpeta /scripts

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>

<head>

       <title>Title here!</title>

</head>

<body>

<?php

'''''$sql_host= "localhost";'''''

'''''$sql_login= "root";'''''

'''''$sql_pass= "";'''''

'''''$sql_base= "nombredesubasededatos";'''''



$dbid = mysql_connect("$sql_host", "$sql_login", "$sql_pass");
mysql_select_db("$sql_base",$dbid);

if(file_exists("'''''../../../mysql/data/demopasspro/societe.txt'''''")) {


	create table if not exists societe_tmp 
	(
	 code_client        varchar(15),
	 nom                varchar(60),
	 complement         varchar(60),
	 address1            varchar(255),
	 address2            varchar(255),
	 address3            varchar(255),
	 cp                 varchar(10),
	 ville              varchar(50),
	 tel                varchar(20),
	 fax                varchar(20),
	 email              varchar(128),
	 client             tinyint        DEFAULT 0,
	 fournisseur        tinyint        DEFAULT 0,
	 fk_forme_juridique integer        DEFAULT 0,
	 fk_typent          integer        DEFAULT 0,
	 fk_pays          integer        DEFAULT 0,
	 url          varchar(255)

	);


	$query_content="delete from societe_tmp";
	$result_content=mysql_query($query_content,$dbid);

	$query_content="LOAD DATA INFILE 'societe.txt' into table societe_tmp fields terminated by '\t' ENCLOSED BY '\"' lines terminated by '\r\n'"  ;

	$result_content=mysql_query($query_content,$dbid);

	$requete=mysql_query("select * from societe_tmp ") or die("Erreur SQL : $query<br/>".mysql_error());

	$i=0;


	while ($data=mysql_fetch_array($requete))
	{
	$i=$i+1;

	$sql = "INSERT INTO llx_societe (datec, client, nom, address,cp,ville,tel,fax,email,fournisseur,fk_forme_juridique,fk_typent,code_client,fk_pays,url,fk_user_creat) ";

	$valeur_concat='"'.date("Y-m-d H:m:s").'","'.$data['client'].'","'.$data['nom']." ".$data['complement'].'","'.$data['address1']."\\r\n".$data['address2']."\\r\n".$data['address3'].'","'.$data['cp'].'","'.$data['ville'].'","'.$data['tel'].'","'.$data['fax'].'","'.$data['email'].'","'.$data['fournisseur'].'","'.$data['fk_forme_juridique'].'","'.$data['fk_typent'].'","'.$data['code_client'].'","'.$data['fk_pays'].'","'.$data['url'].'","1"';

	$sql .= "VALUES ($valeur_concat);";


	$result_content=mysql_query($sql);
	}

	echo "Nº de clientes importados:".$i;

}

?>
</body>
</html>


Modifique el contenido del fichero (los datos a modificar se encuentran en negrita):

acceso a la base de datos

ruta de acceso a los datos en función de nuestro árbol

Sólo falta abrir este archivo con el navegador y normalmente el archivo de datos se importará. Esperamos que esta información sirva de ayuda a algunas personas.