Importación de clientes automática: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
mNo edit summary
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Importing_customers_automatically".)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : Importing_customers_automatically -->
[[en:Importing_customers_automatically]]
[[fr:Importer_des_clients_en_automatique]]
<!-- END interlang links -->
[[Category:Importaciones]]
[[Category:Importaciones]]
{{ToTranslate}}
{{TemplateDocDesarrollo}}
Bonjour,
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]].


J'ai vu plusieurs post de personnes souhaitant intégrer une base clients en automatique. Je vous propose ma solution à modifier en fonction de vos besoins.




== Fichier de données ==


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


Ce fichier devra contenir les champs suivants et les champs devront être séparés par des tabulations.
Primeramente debe crear su fichero de datos, respetando una estructura particular:
Le plus simple est de travailler avec excel puis d'enregistrer votre document au format txt tabulé.


Colonne1: code_client
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.


Colonne2: nom de la société
Columna1: código_cliente


Colonne3: complément nom de société
Columna2: nombre de la empresa


Colonne4: ligne d'adresse 1
Columna3: complemento nombre de la empresa


Colonne5: ligne d'adresse 2
Columna4: línea de dirección 1


Colonne6: ligne d'adresse 3
Columna5: línea de dirección 2


Colonne7: Code postal
Columna6: línea de dirección 3


Colonne8: ville
Columna7: Código postal
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
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.


Colonne10: fax
Columna9: teléfono


Colonne11: email
Columna10: fax


Colonne12: client (1 pour prospect, 2 pour client)
Colonne11: e-mail


Colonne13: fournisseur (valeur 1 pour fournisseur ou 0 si non fournisseur)
Columna12: cliente (1 para cliente, 2 para cliente potencial, 0 ni cliente ni cliente potencial)


Colonne14: forme juridique (Voir les valeurs de la table llx_c_forme_juridique pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)
Columna13: proveedor(valor 1 si es proveedor ó 0 si no es proveedor)


Colonne15: type d'entreprise (Voir les valeurs de la table llx_c_typent pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)
Columna14: forma jurídica (Ver los valores de la tabla llx_c_forme_juridique para alimentar esta columna. Podemos dejar vacía esta columna)


Colonne16: Code du pays (Voir les valeurs de la table llx_c_pays pour alimenter cette colonne. Vous pouvez laisser cette colonne vide)
Columna15: tipo de empresa (Ver los valores de la tabla llx_c_typent para alimentar esta columna. Podemos dejar vacía esta columna)


Colonne17: url (url des sites internet des sociétés. Vous pouvez laisser cette colonne vide)
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)


Ne mettez pas d'entête de colonne dans votre fichier.
Columna17: url (url del sitio web de la empresa. Podemos dejar vacía esta columna)


Une fois vos colonnes renseignées, enregistrez votre fichier dans votre répertoire data sous le nom societe.txt
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 =


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


<source lang="php">
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<html>


Line 80: Line 85:
'''''$sql_pass= "";'''''
'''''$sql_pass= "";'''''


'''''$sql_base= "nomdevotrebasededonnées";'''''
'''''$sql_base= "nombredesubasededatos";'''''




Line 139: Line 144:
}
}


echo "Nb de clients importés:".$i;
echo "Nº de clientes importados:".$i;


}
}
Line 146: Line 151:
</body>
</body>
</html>
</html>
</source>




----
Modifique el contenido del fichero (los datos a modificar se encuentran en negrita):
 
 
 
 
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
acceso a la base de datos


ruta de acceso a los datos en función de nuestro árbol


Il ne vous reste plus qu'à ouvrir ce fichier avec votre navigateur et normalement votre fichier de données sera importé.
Sólo falta abrir este archivo con el navegador y normalmente el archivo de datos se importará.
En espérant que ça aidera certaines personnes.
Esperamos que esta información sirva de ayuda a algunas personas.

Latest revision as of 13:20, 23 July 2019

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.