Importación de clientes automática
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.