Importación de clientes automática: Difference between revisions
mNo edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
[[Category:Importaciones]] | [[Category:Importaciones]] | ||
{{ToTranslate}} | {{ToTranslate}} | ||
Esta página describe un ejemplo de desarrollo utilizado para realizar importaciones a Dolibarr por código. | |||
Si | 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 | Colonne9: téléphone | ||
Revision as of 10:10, 27 July 2009
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.