Archives par mot-clé : Migration

Test de migration Dolibarr vers OpenERP 7

Trésorier d'une association, j'ai mis en place en 2011, le logiciel Dolibarr pour gérer les adhérents, adhésions, cours, mailing et trésorerie.

J'utiliserai cette gestion d'association comme 1er exemple de déploiement OpenERP.
Pour cela, je pars d'une installation minimale de OpenERP (uniquement modules par défaut installés).

Je vais réaliser un test de migration partielle (données "adhérent") de Dolibarr vers OpenERP.

Ce test comporte 2 phases :

  • installation du module "Gestion d'association" sur OpenERP
  • migration des données "adhérent" de Dolibarr vers OpenERP

La 1ère phase est facilement réalisée en se connectant "administrateur" à l'IHM et choisissant l'installation du module

La 2ème phase va se dérouler en plusieurs étapes :

  • export des adhérents sous Dolibarr dans un fichier csv
  • préparation du fichier csv d'import dans OpenERP
  • import dans OpenERP

La 1ère étape se fait dans l'IHM de dolibarr

La 2ème étape nécessite 3 modifications :

  • remplacement des codes "MR" et "MME" par les codes attendus par OpenERP (Mister, Madam)
  • Concaténation des 2 champs Nom/Prénom en un seul
  • Ajout du code "membre libre" (=1)

Pour cela, j'écris le petit programme python suivant :

import csv
fileInput=open("export_dolibarr.csv","r")
fileOutput=open("import_oerp.csv","w")

fileReader=csv.reader(fileInput)
fileWriter=csv.writer(fileOutput)
for rec in fileReader:
    s=rec[0].replace('MME','Madam')
    s=s.replace('MR','Mister')
    fileWriter.writerow([s,rec[1]+" "+rec[2],rec[3],rec[4],rec[5],rec[6],rec[7],rec[8],"1"])

fileInput.close()
fileOutput.close()

La 3ème étape se fait avec la procédure "import" décrite dans une rubrique précédente.

Voilà c'est terminé, les adhérents ont été créés dans l'objet "Membre" de OpenERP.

Import/Export de données CSV (1ère méthode)

Pour exporter des données en CSV, il suffit de sélectionner les enregistrements (ou tous) puis de choisir "exporter" dans "autres options" :

Pour importer des données au format CSV, il faut 2 conditions qui une fois remplies, permettent l'apparition du bouton "import"  à droite de "créer" :

  • l'écran de saisie d'un objet (client, devis ...) doit être en vue "liste"
  • avoir autorisé l'import CSV par les utilisateurs dans les paramètres généraux

Pour avoir un exemple de fichier d'import, il suffit de produire un fichier d'export !!

En fait, il existe d'autres méthodes (ETL, Python+XML-RPC ...) pour réaliser des export ou import. Nous les découvrirons ultérieurement ...