Importación de clientes automática

Revision as of 10:19, 27 July 2009 by Simnandez (talk | contribs)

En verysmall.png Page waiting for translation. To translate, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente de traduction. Pour traduire, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a traducir. Para traducirla, cree una cuenta, vuelva a la página y haga clic en "editar".
It verysmall.png Pagina da tradurre. Per tradurla, crea un utente, torna indietro e clicca su "modifica".
Pt verysmall.png Página a aguardar por tradução. Para traduzir, crie uma conta, volte atrás e clique em "Modificar".
De verysmall.png Seite wartet auf Übersetzung. Um Übersetzung zu erstellen, richte einen Account ein, geh zurück und klicke auf "bearbeiten".
Zh verysmall.png 页面等待翻译。若要翻译本页,先创建一个帐户、登录并返回本页后单击“编辑”。

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: codigo_cliente

Columna2: nombre de la empresa

Columna3: complemento nombre de la empresa

Columna4: línia de dirección 1

Columna5: línia de dirección 2

Columna6: línia 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)

Ne mettez pas d'entête de colonne dans votre fichier.

Une fois vos colonnes renseignées, enregistrez votre fichier dans votre répertoire data sous le nom societe.txt

Fichier script d'import

Copiez le contenu ci dessous dans un fichier à créer "import_client.php". Enregistrez ce fichier dans le répertoire /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= "nomdevotrebasededonnées";'''''



$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 "Nb de clients importés:".$i;

}

?>
</body>
</html>


Modifier le contenu de ce fichier (les données à modifier sont en gras Italique:

accès à la base de données

chemin d'accès aux données en fonction de votre arborescence


Il ne vous reste plus qu'à ouvrir ce fichier avec votre navigateur et normalement votre fichier de données sera importé. En espérant que ça aidera certaines personnes.