Importing customers automatically

Revision as of 09:50, 27 July 2009 by Eldy (talk | contribs) (Created page with 'Category:ImportsEn {{ToTranslate}} Cette page décrit un exemple de développement utilisé pour réaliser des imports dans Dolibarr par du développement. Si vous recherchez...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 页面等待翻译。若要翻译本页,先创建一个帐户、登录并返回本页后单击“编辑”。

Cette page décrit un exemple de développement utilisé pour réaliser des imports dans Dolibarr par du développement. Si vous recherchez d'autres méthodes, consultez la page Imports de masse.


Fichier de données

Premièrement vous devez créer votre fichier de données en respectant une structure bien particulière:

Ce fichier devra contenir les champs suivants et les champs devront être séparés par des tabulations. Le plus simple est de travailler avec excel puis d'enregistrer votre document au format txt tabulé.

Colonne1: code_client

Colonne2: nom de la société

Colonne3: complément nom de société

Colonne4: ligne d'adresse 1

Colonne5: ligne d'adresse 2

Colonne6: ligne d'adresse 3

Colonne7: Code postal

Colonne8: ville Comme vous pouvez le voir les adresse doivent être normalisées (2 lignes pour le nom et 3 lignes pour l'adresse + CP et Ville). 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 script


<!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
".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.