Bonsoir,
Je débarque sur Dolibarr sans connaissances en php, etc. Mais assez à l’aise sur ces machines pour apprendre au pas de course quand il faut. Mais bref avec du retard.
Une association me demande d’importer la base de données de ses membres sur Dolibarr. Je suis naïf et joyeux et la vie est simple, donc je me dis que préparer les « attributs supplémentaires » des adhérents et passer un CSV (plus ou moins réarrangé si nécessaire) dans l’outil d’importation de données se fera sans trop de problèmes.
Mais ces membres arrivent avec leurs enfants.
Problème classique, plusieurs solutions en vue. Traiter les unités familiales comme « tiers » et leurs membres comme contacts. Ou simplement démultiplier les « attributs supplémentaires » des adhérents (enfant 1 prénom, enfant 1 nom, enfant 1 date de naissance, enfant 2 prénom, enfant 2 nom, etc). Laborieux. Faisable.
Par contre, l’outil que l’association utilisait permettait d’afficher les enfants de chaque membre dans une table en soi (sexe, prénom, nom, date de naissance, sur chaque ligne). Et cela se reflète dans leur CSV exporté. A chaque ligne s’y affichent, pour un membre, son « nom », « adresse », « titre », etc mais aussi les « table::prénom », « table::nom » etc qui correspondent à ses enfants, et ce sur plusieurs lignes. Une table, au sein de la base de donnée. Une table dans une table.
Même si je ventile ça dans de multiples champs indépendants (où chaque enfant est fragmenté en données autonomes), l’importation va être compliquée, le champ « table::prénom » d’un membre comportant plusieurs lignes (une par enfant). Comme il n’y a pas de table équivalente dans les formats des « attributs supplémentaires », Dolibarr ne semble pas prêt à traiter ce genre de table-dans-table. A priori, j’aurais à préparer ce CSV en étalant ces rangées supplémentaires sur des colonnes supplémentaires (enfant 1 nom, enfant 2 nom, etc).
Ou ? Y a-t-il un outil qui m’a échappé, dans Dolibarr, pour traiter l’importation d’un CVS comportant des « table:: » ?
Ou ? Y a-t-il dans la version actuelle un format d’attribut absolument idéal pour accueillir ces données-là ?
Est-ce que ma question fait sens ? Un peu ? La solution est-elle lointaine ou à portée ?