Importación de clientes automática

From Dolibarr ERP CRM Wiki
Revision as of 10:10, 27 July 2009 by Simnandez (talk | contribs)
Jump to navigation Jump to search

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). Lors de l'import ces 3 lignes d'adresse seront mis dans l'unique champ adresse de dolibarr avec un retour à la ligne après chaque ligne. Ce sera pareil pour le nom et le complément nom qui seront dans le seul champ nom de dolibarr avec un retour à la ligne.

Colonne9: téléphone

Colonne10: fax

Colonne11: email

Colonne12: client (1 pour client, 2 pour prospect, 0 sinon)

Colonne13: fournisseur (valeur 1 pour fournisseur ou 0 si non fournisseur)

Colonne14: forme juridique (Voir les valeurs de la table llx_c_forme_juridique pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)

Colonne15: type d'entreprise (Voir les valeurs de la table llx_c_typent pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)

Colonne16: Code du pays (Voir les valeurs de la table llx_c_pays pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)

Colonne17: url (url des sites internet des sociétés. Vous pouvez laisser cette colonne vide)

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.