Fork me on GitHub
Bienvenue, Invité
Nom d'utilisateur Mot de passe: Se souvenir de moi

procédure pour Importer vos clients en automatique
(1 visualisation(s)) (1) Invité
  • Page:
  • 1
  • 2

SUJET: procédure pour Importer vos clients en automatique

procédure pour Importer vos clients en automatique il y a 3 ans #12517

  • daviraud
  • Hors ligne
  • Junior Boarder
  • Message: 23
  • Karma: 0
Bonjour,
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
1-Vous devez créer un fichier tabulé societe.txt respectant les champs de la table société_tmp (voir la structure dans le fichier joint lors de la création de la table societe_tmp)
2-Enregistrez ce fichier dans votre répertoire data .
3-Enregistrez le fichier joint sous le répertoire script et changer l'extension.txt en .php.
4-Modifier le contenu de ce fichier:
accès à la base de données
chemin d'accès aux données en fonction de votre arborescence

5-Ouvrir ce fichier avec votre navigateur et normalement votre fichier de données sera importé.
En espérant que ça aidera certaines personnes

Fichier attaché:

Nom du fichier: import_societe.txt
Taille du ficher: 2349
Dernière édition: il y a 3 ans par daviraud.

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13106

  • point
  • Hors ligne
  • Expert Boarder
  • Message: 111
  • Karma: 2
Bonsoir ,

je souhaiterais réaliser un import de masse de fichier client déjà existant . Pourriez vous me donner plus de précision sur votre méthode
sur la partie 1 ) concernant les champs qui doivent être présent dans le fichier texte , les séparateurs de champs qu'il faut ( : ; tabulation etc ) , séparateur de texte (" " ou ' ' ) .


sur mes fichiers csv ou txt habituellement j'ai quelque chose du genre

"champ1";"champ2";"champ3";"champ4";"champ5"
"agdsffg";"bsdfgsg";35124;"uikgkghk";"qqsdcqs"
"fdf";"hndbdf";74613;;
"mfmkh";"fcsd";873511;"fgbdfsg";"bsdfgs"
etc





Merci
Dernière édition: il y a 2 ans, 11 mois par point.

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13222

  • daviraud
  • Hors ligne
  • Junior Boarder
  • Message: 23
  • Karma: 0
Bonjour,

J'ai détaillé la doc de manière plus précise à l'adresse suivante: wiki.dolibarr.org/index.php/Importer_des_clients_en_automatique

Bonne chance

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13258

  • point
  • Hors ligne
  • Expert Boarder
  • Message: 111
  • Karma: 2
Bonjour,

merci pour l'aide . Je suis occupé jusqu'à la fin de la semaine . Je donnerai un retour que dimanche /début de semaine prochaine .

Encore merci

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13278

  • nticip
  • Hors ligne
  • Fresh Boarder
  • Message: 7
  • Karma: 0
Si cela vous interesse, j'ai développé une script PHP effectuant de la synchro de client vers Dolibarr. Je l'utilise entre une appli externe et Dolibarr.

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13329

  • daviraud
  • Hors ligne
  • Junior Boarder
  • Message: 23
  • Karma: 0
Bonjour nticip ,

Je suis interessé par ton script avec plaisir.
J'attend de tes nouvelles

Merci

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 11 mois #13333

  • nicoDICi
  • Hors ligne
  • Fresh Boarder
  • Message: 15
  • Karma: 0
Bonjour,
Je suis intéressé par ton script.
Merci d'avance.
A bientôt de te lire
Nicolas:-)

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 10 mois #13648

  • point
  • Hors ligne
  • Expert Boarder
  • Message: 111
  • Karma: 2
Bonjour,

Je n'ai pas encore pu me pencher sur l'import automatique Je suis désolé .

Cordialement .

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 10 mois #13942

  • point
  • Hors ligne
  • Expert Boarder
  • Message: 111
  • Karma: 2
ça y est j'ai réalisé mon premier import de masse en commençant par les produits .
je suis passé par phpmyadmin .

j'ai selectionné la table llx_product , j'ai réalisé un export sql ( ce qui donne le fichier import.sql ) pour récuper la structure de la table ce qui donne le fichier suivant

 
-- phpMyAdmin SQL Dump
-- version 2.11.9.2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Ven 10 Avril 2009 à 14:58
-- Version du serveur: 5.0.51
-- Version de PHP: 5.2.5
 
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
--
-- Base de données: `dolibarr`
--
 
-- --------------------------------------------------------
 
--
-- Structure de la table `llx_product`
--
 
CREATE TABLE IF NOT EXISTS `llx_product` (
`rowid` int(11) NOT NULL auto_increment,
`datec` datetime default NULL,
`tms` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`ref` varchar(32) collate utf8_unicode_ci NOT NULL,
`label` varchar(255) collate utf8_unicode_ci NOT NULL,
`description` text collate utf8_unicode_ci,
`note` text collate utf8_unicode_ci,
`price` double(24,8) default '0.00000000',
`price_ttc` double(24,8) default '0.00000000',
`price_min` double(24,8) default '0.00000000',
`price_min_ttc` double(24,8) default '0.00000000',
`price_base_type` varchar(3) collate utf8_unicode_ci default 'HT',
`tva_tx` double(6,3) default NULL,
`fk_user_author` int(11) default NULL,
`envente` tinyint(4) default '1',
`fk_product_type` int(11) default '0',
`duration` varchar(6) collate utf8_unicode_ci default NULL,
`stock_propale` int(11) default '0',
`stock_commande` int(11) default '0',
`seuil_stock_alerte` int(11) default '0',
`stock_loc` varchar(10) collate utf8_unicode_ci default NULL,
`barcode` varchar(255) collate utf8_unicode_ci default NULL,
`fk_barcode_type` int(11) default '0',
`partnumber` varchar(32) collate utf8_unicode_ci default NULL,
`weight` float default NULL,
`weight_units` tinyint(4) default NULL,
`volume` float default NULL,
`volume_units` tinyint(4) default NULL,
`canvas` varchar(15) collate utf8_unicode_ci default '',
`finished` tinyint(4) default NULL,
`import_key` varchar(14) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_product_ref` (`ref`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=560 ;
 
--
-- Contenu de la table `llx_product`
--
 
INSERT INTO `llx_product` (`rowid`, `datec`, `tms`, `ref`, `label`, `description`, `note`, `price`, `price_ttc`, `price_min`, `price_min_ttc`, `price_base_type`, `tva_tx`, `fk_user_author`, `envente`, `fk_product_type`, `duration`, `stock_propale`, `stock_commande`, `seuil_stock_alerte`, `stock_loc`, `barcode`, `fk_barcode_type`, `partnumber`, `weight`, `weight_units`, `volume`, `volume_units`, `canvas`, `finished`, `import_key`) VALUES
 


ensuite j'ai selectionné uniquement les champs qui m'intéresse ce qui donne

 
 
 
-- phpMyAdmin SQL Dump
-- version 2.11.9.2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Ven 10 Avril 2009 à 10:33
-- Version du serveur: 5.0.51
-- Version de PHP: 5.2.5
 
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
--
-- Base de données: `dolibarr`
--
 
-- --------------------------------------------------------
 
--
-- Structure de la table `llx_product`
--
 
CREATE TABLE IF NOT EXISTS `llx_product` (
`rowid` int(11) NOT NULL auto_increment,
`datec` datetime default NULL,
`tms` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`ref` varchar(32) collate utf8_unicode_ci NOT NULL,
`label` varchar(255) collate utf8_unicode_ci NOT NULL,
`description` text collate utf8_unicode_ci,
`note` text collate utf8_unicode_ci,
`price` double(24,8) default '0.00000000',
`price_ttc` double(24,8) default '0.00000000',
`price_min` double(24,8) default '0.00000000',
`price_min_ttc` double(24,8) default '0.00000000',
`price_base_type` varchar(3) collate utf8_unicode_ci default 'HT',
`tva_tx` double(6,3) default NULL,
`fk_user_author` int(11) default NULL,
`envente` tinyint(4) default '1',
`fk_product_type` int(11) default '0',
`duration` varchar(6) collate utf8_unicode_ci default NULL,
`stock_propale` int(11) default '0',
`stock_commande` int(11) default '0',
`seuil_stock_alerte` int(11) default '0',
`stock_loc` varchar(10) collate utf8_unicode_ci default NULL,
`barcode` varchar(255) collate utf8_unicode_ci default NULL,
`fk_barcode_type` int(11) default '0',
`partnumber` varchar(32) collate utf8_unicode_ci default NULL,
`weight` float default NULL,
`weight_units` tinyint(4) default NULL,
`volume` float default NULL,
`volume_units` tinyint(4) default NULL,
`canvas` varchar(15) collate utf8_unicode_ci default '',
`finished` tinyint(4) default NULL,
`import_key` varchar(14) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_product_ref` (`ref`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;
 
--
-- Contenu de la table `llx_product`
--
 
INSERT INTO `llx_product` (`ref`, `label`, `description`, `note`, `price_ttc`, `price_base_type`, `tva_tx`, `weight`) VALUES
 
 



J'ai ensuite récupéré à l'aide d'un script ma base de donnée produits pour pouvoir alimenter import.sql

 
#!/bin/bash
awk ' BEGIN { FS=";"
print debut }
{ gsub(",",".",$11)
gsub(",",".",$12)
for(i=1;i<=NF;i++){
if( $i != $11 && $i != $12 ){
if(index($i,"\"") == 0){a=$i;gsub(a,"\""a"\"",$i) }
}
}
chaine=$1
for(i=2;i<=NF;i++){
chaine=chaine";"$i
}
printf(chaine"\n") >> "ajout.txt"
}
 
 
END { print fini }'
finalg_c.csv
 
 
 
awk ' BEGIN { FS=";"
print debut }
{ if( NR !=1 ){
chaine="("
chaine=chaine$6","$3","$9","$7","$11",""\"TTC\""",""19.600"","$12
chaine=chaine"),"
printf(chaine"\n") >> "ajout2.txt"
}
}
 
END { print fini }'
ajout.txt
 
cat ajout2.txt >> import.sql
 
 
 
wc -l finalg_c.csv
wc -l ajout.txt
wc -l ajout2.txt
 
 
exit 0 #sort du programme une fois fini
 



remplacé la virgule de la dernière ligne par un point virgule ce qui donne .

 
-- phpMyAdmin SQL Dump
-- version 2.11.9.2
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Ven 10 Avril 2009 à 10:33
-- Version du serveur: 5.0.51
-- Version de PHP: 5.2.5
 
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
--
-- Base de données: `dolibarr`
--
 
-- --------------------------------------------------------
 
--
-- Structure de la table `llx_product`
--
 
CREATE TABLE IF NOT EXISTS `llx_product` (
`rowid` int(11) NOT NULL auto_increment,
`datec` datetime default NULL,
`tms` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`ref` varchar(32) collate utf8_unicode_ci NOT NULL,
`label` varchar(255) collate utf8_unicode_ci NOT NULL,
`description` text collate utf8_unicode_ci,
`note` text collate utf8_unicode_ci,
`price` double(24,8) default '0.00000000',
`price_ttc` double(24,8) default '0.00000000',
`price_min` double(24,8) default '0.00000000',
`price_min_ttc` double(24,8) default '0.00000000',
`price_base_type` varchar(3) collate utf8_unicode_ci default 'HT',
`tva_tx` double(6,3) default NULL,
`fk_user_author` int(11) default NULL,
`envente` tinyint(4) default '1',
`fk_product_type` int(11) default '0',
`duration` varchar(6) collate utf8_unicode_ci default NULL,
`stock_propale` int(11) default '0',
`stock_commande` int(11) default '0',
`seuil_stock_alerte` int(11) default '0',
`stock_loc` varchar(10) collate utf8_unicode_ci default NULL,
`barcode` varchar(255) collate utf8_unicode_ci default NULL,
`fk_barcode_type` int(11) default '0',
`partnumber` varchar(32) collate utf8_unicode_ci default NULL,
`weight` float default NULL,
`weight_units` tinyint(4) default NULL,
`volume` float default NULL,
`volume_units` tinyint(4) default NULL,
`canvas` varchar(15) collate utf8_unicode_ci default '',
`finished` tinyint(4) default NULL,
`import_key` varchar(14) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`rowid`),
UNIQUE KEY `uk_product_ref` (`ref`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;
 
--
-- Contenu de la table `llx_product`
--
 
INSERT INTO `llx_product` (`ref`, `label`, `description`, `note`, `price_ttc`, `price_base_type`, `tva_tx`, `weight`) VALUES
 
("086DC","","piece lambda ","",200,"TTC",19.600,10),
("ERH319",""," autre piece ","",175,"TTC",19.600,2),
etc
("WG478L","","dernière piece ","",200,"TTC",19.600,20);
 
 



enfin réaliser un import sql avec phpmyadmin et voilà import réussit

Ceci fait j'ai remarqué qu'on peut ajouter des photos en passant par l'interface Dolibarr . Je souhaiterais savoir si il est possible de faire un import de photos ?
Si possible , dans quelle répertoire dois-je mettre les photos et quelle table dois-je alimenter .

Merci ... et grand merci à Dolibarr

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 8 mois #14629

  • flomo
  • Hors ligne
  • Senior Boarder
  • Message: 61
  • Karma: 6
pour les photos c'est dans : /documents/produits
par exemple /documents/produits/9/8/55089/photos/nomphoto.jpg

55089 représente l'id du produit
le 9 le dernier chiffre de l'id
le 8 l'avant dernier chiffre de l'id

Aucune table à alimenter.
Dernière édition: il y a 2 ans, 8 mois par flomo.

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 4 mois #16306

  • pitchouloute
  • Hors ligne
  • Senior Boarder
  • Message: 45
  • Karma: 0
Bonjour,

j'ai suivi le tuto wiki.dolibarr.org/index.php/Importer_des_clients_en_automatique

mais en l'exécutant j'ai

Parse error: syntax error, unexpected T_STRING in /var/www/dolibarr-2.6.1/scripts/user/import_client.php on line 31


Comment faire ?

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 4 mois #16321

  • pitchouloute
  • Hors ligne
  • Senior Boarder
  • Message: 45
  • Karma: 0
up ?

Re:procédure pour Importer vos clients en automati il y a 2 ans, 4 mois #16348

  • Dagg
  • Hors ligne
  • Gold Boarder
  • Message: 181
  • Karma: 4
Généralement, ce type d'erreur provient d'un ";" manquant en fin d'instruction.
Trouve la ligne 31 de ton script et regarde ce qu'il en est pour elle et celle qui la précède.
Dolibarr 2.6.1 - Ubuntu 8.04

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 4 mois #16350

  • pitchouloute
  • Hors ligne
  • Senior Boarder
  • Message: 45
  • Karma: 0
Eh bien je pense qu'il y a une erreur dans le tuto car j'ai copié collé le code :

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">

<html>

<head>

<title>Importation de clients</title>

</head>

<body>

<?php

$sql_host= "localhost";

$sql_login= "root";

$sql_pass= "********";

$sql_base= "dolibarr";



$dbid = mysql_connect("$sql_host", "$sql_login", "$sql_pass");
mysql_select_db("$sql_base",$dbid);

if(file_exists("/var/www/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);



La ligne 31 est en gras

à++

Re:procédure pour Importer vos clients en automatique il y a 2 ans, 4 mois #16393

  • pitchouloute
  • Hors ligne
  • Senior Boarder
  • Message: 45
  • Karma: 0
re -up
  • Page:
  • 1
  • 2
Temps de génération de la page: 0.42 secondes