Ce module permet d'importer des données présentes dans des classeurs Excel.
Il est accessible depuis le menu Administration - Imports - Import générique.
Un message d'avertissement apparait à l'ouverture du module. Saisir OUI afin d'accéder à la fenêtre d'import.

Conventions :
- Les noms physiques des tables SQL ainsi que leurs rubriques sont entourés de guillemets doubles (ex : "adresse" ou "PREST_CODE").
- Les terminologies des tables SQL (désignation des tables physiques) sont soulignées (ex : "adresse" (dossiers)).
Principes de fonctionnement
La fenêtre d'Import générique se présente comme suit :

Description des différentes étapes
Les tables SQL à choisir peuvent être sélectionnées dans la liste déroulante de l'écran d'accueil. Ces tables peuvent avoir des tables "attachées" (voir la partie Tables Dia Client avec autre(s) table(s) Dia Client "attachée(s)).
Le bouton
permet d'ouvrir un tableau présentant la liste de l'ensemble des rubriques de la table SQL choisie. Cet écran permet de créer un fichier .XLS correspondant à la table SQL sélectionnée.
| Imprimer les rubriques telles qu'elles figurent à l'écran : avec le détail de chacune, nom(s) de table(s) "attachée(s)" inclus. | |
| Générer une « maquette » de fichier .XLS comportant toutes les rubriques. Le fichier fait figurer le nom de chaque rubrique de table « attachée » précédé du nom de cette dernière. |
Par exemple, pour la table « adresse » (dossiers) « chpparam_adresse.xxx » où xxx est le nom d’une rubrique de champs paramétrables dite INFO+
- Chaque ligne de ce tableau représente une rubrique.
- Les lignes en italique représentent des rubriques qui ne peuvent être importées.
- La colonne Nom table indique le nom de la table associée à la rubrique. Il s'agit en général du nom de la table SQL sélectionnée, cela peut aussi être le nom d'une table qui peut lui être "attachée".
Un fichier .XLS exporté se présente comme suit :

La première ligne correspond aux titres des colonnes :
- Cette ligne établit la correspondance entre les colonnes du fichiers .XLS et les rubriques de la table SQL.
- Pour qu'une colonne XLS soit prise en compte, son titre ne doit pas être vide et doit faire partie des rubriques de la table SQL.
Chacune des lignes suivantes représente un enregistrement, la valeur de chaque cellule XLS étant celle de la rubrique SQL nommée par le titre de sa colonne.
De retour sur la fenêtre principale, sélectionner le fichier .XLS correspondant à la table SQL choisie et cliquer sur le bouton suivant
.

- Il sera toujours possible de remettre à zéro la table SQL de destination, ce qui supprimera aussi les enregistrements des éventuelles tables « liées ». Par exemple, la remise à zéro de « adresse » (dossiers) supprimera tous les champs paramétrables, les missions, les factures …
- Les tables « simples » ainsi que la table « adresse » (dossiers) pourront êtres mises à jour. Ainsi, pour un enregistrement XLS dont le code est CODE1, s’il existe déjà un enregistrement dans la table SQL avec le même code, les valeurs de toutes les rubriques XLS remplaceront celles actuellement en place dans la table SQL.
- Ce principe de « mise à jour » est aussi valable pour « facture » et « reg_bord » pour lesquelles, 2 lignes XLS seront ‘réunies’ respectivement par leur N° de Facture (« FACT_NUM ») et de Bordereau (« REGB_NUM »).
- Pour les autres tables avec des table(s) « attachée(s) » seuls des ajouts pourront être faits.

- Mise à jour de la table destination : Cette option permet de mettre à jour la table de destination avec des ajouts compris dans le fichier .XLS (dans cet exemple la table Dossiers sera mise à jour).
- Mettre en rouge les lignes en erreur dans le fichier source : Cette option permet de surligner en rouge les lignes qui comportent des erreurs dans le fichier .XLS ayant servi à l'import.
Cliquer sur Importer pour lancer l'import. Un tableau récapitulatif apparait en fin d'import avec une réprésentation différente selon les cas :
- En noir les ajouts réussis ;
- En vert les mises à jour réussies ;
- En rouge les erreurs.

Gestion des ajouts / modifications d'enregistrements
Lors du traitement d'un enregistrement XLS (une ligne du fichier) :
- Il y aura création correcte dans la table SQL si le code (valeur de la colonne code XLS) n’existe pas déjà dans SQL, quel que soit l’état de la coche « Mise à jour de la table destination ». Le tableau récapitulatif contiendra alors une ligne de type ajout « normal ».
- Si cette coche est activée et que le code (valeur de la colonne code XLS) existe déjà dans SQL (provenant d’un précédent import, d’un précédent enregistrement XLS de même code ou d’une saisie préalable), les valeurs de l’enregistrement XLS en cours remplaceront celles de l’enregistrement SQL actuellement en place. Le tableau récapitulatif contiendra alors une ligne de type mise à jour.
- Si cette coche n’est pas activée, l’ajout d’un deuxième enregistrement XLS de même code génèrera une erreur signifiant qu’un enregistrement SQL existe déjà dans la table concernée. Le tableau récapitulatif contiendra alors une ligne de type erreur.
Types de rubriques
Voir exemple de la table Prestation.
Tables Dia Client "simples"
Ces tables sont : « activite » (activités), « collab » (collaborateurs), « cpostaux» (codes postaux), « fam_prest1 » (familles de prestations 1) , « fam_prest2 » (familles de prestations 2), « fonction » (fonctions), « forme_juridique » (formes juridiques), « genre » (genres), « groupe » (groupes), « horaire » (horaires), « journal » (journaux), « misstype » (missions types), « naf » (NAF), « pays » (pays), « prestation » (prestations), « qualif » (qualifications), « region » (régions), « service » (services), « societe » (cabinets), « tache » tâches, « tarif » (familles dossiers), « titre » (titres), etc …
Elles comportent un code et un certain nombre d'éléments propres à chacune d'entre elles.
Il est possible de se baser sur une "maquette" générée par la fenêtre d'aide pour créer son fichier XLS.
Les colonnes pour lesquelles des informations sont manquantes peuvent être supprimées.
Seule la colonne concernant le code est obligatoire. Tous les codes contiennent au plus 10 caractères.
Exemple pour la table "Prestation"
- Les rubriques commence en général par un préfixe caractérisant la table. Dans cet exemple : "PREST_".
- Celles qui font suivre le préfixe par "I_" sont des chiffres sans décimales. Dans cet exemple : "PREST_I_UNITE".
- Celles qui font suivre le préfixe par "B_" sont des booléens : mettre "0" ou "1". Dans cet exemple : "PREST_B_CLASSBUDGET".
- Celles qui font suivre le préfixe par "M_" sont des montants. Dans cet exemple : "PREST_M_QTE_DEF".
- Celles qui font suivre le préfixe par "DATE_" sont des dates. Elles doivent être sous la forme JJ/MM/AAAA ou AAAAMMJJ. Il n'y a pas de rubrique de ce type dans cette table.
- Les rubriques "CODE" associées doivent évidemment exister dans la table "associée".
- Ces rubriques ont généralement une dénomination sous la forme : préfixe table "associée" + "CODE".
- Dans cet exemple, "FAM1_CODE" représente le code de "FAM_PREST1 (familles de prestations 1)" dont le préfixe est "FAM1_".
- Si ces "CODES" associés n'existent pas dans les tables correspondantes, ils devront y être créés antérieurement ou postérieurement de manière à conserver une homogénéité d'association entre les tables Dia Client.
Table "adresse" (dossiers)
Particularités de cette table :
- Cette table peut être importée de manière simple OU avec sa table "attachée" "chpparam_adresse" (champs paramétrables dit INFO+).
- Les dossiers sont repérés par leur code.
- Lors de l'import de la table SQL "adresse", il est préférable de donner ce code (contenant au plus 10 caractères comme les autres) s'il est connu et unique. Sinon, un code automatique sera attribué au
dossier
- sous la forme "@xxx", xxx étant un numéro automatique géré par
DiaClient
- qui permettra de ne pas créer de doublons.
Attention :
- Si un nom est donné en tant que code alors la prise en compte du code ne se fera que sur les
10 premiers caractères
- . Voir chapitre 1.2.
- Pour importer les champs paramétrables, ceux-ci doivent déjà exister.
- Comme pour toute table "attachée", les colonnes XLS qui y font référence doivent être précédées du nom de la table physique SQL. Ici "chpparam_adresse", exemple : chpaparam_adresse.CPADR_RUBPARAM1.
- Dans l'exemple ci-dessous :
- Les rubriques "adresse" (dossier) sont "ADR_NOM", "ADR_CODE", "ADR_ADR1", "POSTAL_CODE", "ADR_TEL1", "ADR_FAX", "ADR_VILLE", "ADR_EMAIL","SOC_CODE".
- La colonne "SOC_CODE" doit impérativement exister.
- Les rubriques "chpparam_adresse" (champs paramétrables) prises en compte sont "CPADR_OGA" et "CPADR_TELAUTRE".
- Celles non prises en compte :
- Celles dont le titre est vide.
- "CPADR_EXD" pour exemple, qui ne serait créée dans les champs paramétrables.
- La dernière colonne comporte un nom de table "attachée" ne faisant pas partie des rubriques de la table SQL.
- Il est également possible de lier les SIE, OGA, CONSEIL, Prescripteur, Dossier pour l'Adresse de facturation (si différent de l'adresse principale du dossier) et la société mère pour chaque dossier.
- Ces dossiers SIE, OGA, etc... doivent avoir été préalablement importés.
- La colonne ADR_CODE doit être présente, en plus des colonnes suivantes, pour faire le lien avec le dossier client :
Tables Dia Client avec autre(s) table(s) Dia Client "attachée(s)"
"corresp" (correspondants)
- Seuls des ajouts sont possibles sur cette table.
- Chaque correspondant est repéré par son nom ainsi que le dossier auquel il est rattaché.
- Il peut y avoir deux tables "attachées" :
- "adresse" (dossier) dont la présence est obligatoire.
- "adr_cor" (liaisons correspondant-dossiers) dont la présence est facultative.
- Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les correspondants.
- La rubrique de "adr_cor" (liaisons correspondant-dossiers) prise en compte est "AC_I_TYPE". Cette colonne est facultative. Sa valeur va de 0 à 3, elle représente un type de correspondant pour chaque dossier :
- 0 ou vide : Il s'agit d'un correspondant d'aucun type particulier.
- De 1 à 3 : Le type correspond à la "terminologie" ("CORRESP_1", 2, 3) qui a été préalablement déterminée, ou celle livrée avec Dia Client (Exemple : 1 = Responsable, 2 = Correspondant, 3 = Corresp3).
- Les rubriques "corresp" (correspondants) sont "FONC_CODE", "COR_NOM" (obligatoire), "COR_PRENOM", "COR_ADR1"
Table "corresp"
"exercice" (exercices)Chaque exercice est repéré par code et le dossier auquel il est rattaché.
- La table "attachée" "adresse" (dossier) est obligatoire.
- Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les exercices.
- Les rubriques "exercice" (exercices) sont "EXO_CODE" (obligatoire), "EXO_DATE_DEB", "EXO_DATE_FIN", "EXO_B_COURANT"
Table "exercice"
Voir les explications sur les types de rubriques dans l'exemple concernant la table Prestation.
"temps" (temps)
- Seuls des ajouts sont possibles sur cette table.
- Chaque temps est repéré par son collaborateur, sa prestation et le dossier auxquels il est rattaché.
- La table "attachée" "adresse" (dossier) est obligatoire. Sauf, en cas de temps dit "non affectable" (temps d'un collaborateur effectué sans rapport avec un dossier).
Ex : voir la 3ème ligne de l'exemple ci-dessous. Il ne faut alors renseigner ni mission ("MISS_CODE"), ni exercice ("EXO_CODE"). Ce cas est normalement marginal. - Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les temps (sauf temps non "affectable").
- Les rubriques "temps" (temps) sont :
- "TEMPS_DATE", "TEMPS_MEMO", "TEMPS_DUREE", "TEMPS_M_QTE", "TEMPS_M_PVC", "TEMPS_M_PV", "TEMPS_M_PR".
- Ainsi que "COL_CODE" ("collab") (obligatoire), "PREST_CODE" ("prestation") (obligatoire), "MISS_CODE" ("misstype"), "EXO_CODE" ("exercice") qui sont les codes des tables "associées" entre parenthèses.
- Un contrôle sera fait sur l'existence des codes des tables "associées". Si la valeur d'un de ces codes est renseignée et que ce code n'existe pas dans la table ad hoc, une erreur sera générée.
- "ADR_CODE" obligatoire si "EXO_CODE" renseigné (un dossier devra exister concernant cet exercice).
- "ADR_CODE" et "EXO_CODE" obligatoires si "MISS_CODE" renseigné (un dossier et un exercice devront exister concernant cette mission).
Table "temps"
Table "temps" - suite
- Si les valeurs des rubriques "TEMPS_M_PVC", "TEMPS_M_PV", "TEMPS_M_PR" (présentes dans l'exemple ci-dessus) ainsi que "TEMPS_M_PVU" ne sont pas renseignées, ces montants seront recalculés en fonction des tarifs collaborateurs, prestations, etc... préalablement déterminés.
"budget" (budgets)
- Seuls des ajouts sont possibles sur cette table.
- Chaque budget est repéré par le dossier auquel il est rattaché, et son exercice.
- La table "attachée" "adresse" (dossier) est obligatoire.
- Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les budgets.
- Les rubriques "temps" (temps) sont :
- "BUD_AAAAMM", "BUD_M_QTE", "BUD_M_DUREE", "BUD_M_QTE_AVANCE", "BUD_DUREE_AVANCE", "BUD_M_PV", "BUD_M_PR".
- Ainsi que, "EXO_CODE" ("exercice") (obligatoire), "COL_CODE" ("collab"), "PREST_CODE" ("prestation") (obligatoire), "MISS_CODE" ("misstype"), qui sont les codes des tables "associées" entre parenthèses.
- Un contrôle sera fait sur l'existence des codes des tables "associées". Si la valeur d'un de ces codes est renseignée et que ce code n'existe pas dans la table ad hoc, une erreur sera générée.
Table "budget" - suite
"facture" (factures avec leurs lignes de factures)
- Seules des "mises à jour" sont possibles sur cette table via "FACT_NUM" pour un rapprochement entre les factures et leurs lignes.
- Chaque facture est repérée par son numéro, et le dossier auquel elle est "attachée".
- Il y a 2 tables "attachées" :
- "adresse" (dossier) dont la présence est obligatoire.
- "lignfact" (lignes de factures) dont la présence est obligatoire (une facture a au moins une ligne).
- Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les factures.
- Les rubriques "facture" (facture) sont :
- "FACT_NUM" (obligatoire), "FACT_DATE".
- Ainsi que "EXO_CODE" ("exercice") (obligatoire), "SOC_CODE" ("societe") (obligatoire) qui sont les codes des tables "associées" entre parenthèses.
- Ne figurent pas dans cet exemple mais font partie des codes des tables "associées" : "REG_CODE" ("reglement"), "TVACLI_CODE" ("tvaclient"), "VENTCLI_CODE" ("ventil_client").
- Les rubriques "lignfact" (lignes de factures) sont :
- "LFACT_M_QTE", "LFACT_DUREE", "LFACT_M_PU", "LFACT_M_PV", "LFACT_M_PVCOL", "EXO_CODE" (obligatoire).
- Ainsi que "PREST_CODE" ("prestation") (obligatoire sauf s'il s'agit d'un commentaire), "MISS_CODE" ("misstype") (obligatoire) qui sont les codes des tables "associées" entre parenthèses.
- Un contrôle sera fait sur l'existence des codes des tables "associées". Si la valeur d'un de ces codes est renseignée et que ce code n'existe pas dans la table ad hoc, une erreur sera générée.
Table "facture"
Table "facture" - suite
- FACT_I_ORIGINE : Origine Facture (0 = Manu, 1 = PréFact, 2 = Régul) : Permet de ventiler correctement les factures pour la synthèse dossier.
- Noter que les lignes de factures d'une même facture doivent toujours se suivre comme montré ci-dessus.
- Après chaque création de ligne de facture, les montants HT des ventilations et des TVA se mettront à jour selon "TVACLI_CODE" et "VENTCLI_CODE" de votre fichier XLS ou ceux par défaut de l'"adresse" (dossier) intervenant ainsi "TVAPREST_CODE" et "VENTPREST_CODE" de votre fichier XLS ou ceux par défaut de la "prestation" (prestation).
"reg_bord" (bordereaux avec leurs remises en banque)
- Seules des "mises à jour" sont possibles sur cette table via "REGB_NUM" pour un rapprochement entre les bordereaux et leurs remises en banque.
- Chaque bordereau est repéré par son numéro, et le dossier auquel elle est "attachée".
- Il y a 2 tables "attachées" :
- "adresse" (dossier) dont la présence est obligatoire.
- "remise_banq" (remises en banque) dont la présence est obligatoire (un bordereau a au moins une ligne).
- Dans l'exemple ci-dessous :
- La seule rubrique "adresse" (dossier) prise en compte est "ADR_CODE". Celle-ci est obligatoire pour effectuer la liaison avec les bordereaux.
- Les rubriques "reg_bord" (bordereau) sont :
- "REGB_NUM" (obligatoire), "REGB_DATE", "REGB_B_EDITE", "REGB_I_TYPE" (1 = Chèque, 2 = Espèces, 3 = Traite, 4 = Prélèvement, 5 = LCR, 6 = Virement, 7 = Remboursement).
- Ainsi que "BANQUE_CODE" ("banque") (obligatoire) qui est le code de la table "associée" entre parenthèses.
- Ne figurent pas dans cet exemple mais font partie des codes des tables "associées" : "reg_bord" ("bordereau"), "REGB_I_SOUSTYPE", "REGB_B_TRANSFERE".
- Les rubriques "remise_banq" (remises en banque) sont :
- "REMBANQ_DATE", "REMBANQ_RIB", "REMBANQ_NUMPIECE", "REMBANQ_M_MONTANT".
- Ne figurent pas dans cet exemple mais font partie des rubriques "remise_banq" (remises en banque) : "REMBANQ_I_TYPELCR", "REMBANQ_B_ENCAISSE", "REMBANQ_B_ENCAISSETRSF", "REMBANQ_DATE_ENCAISSE", "TVAPREST_CODE".
- Ne figurent pas dans cet exemple, font partie des rubriques "remise_banq" (remises en banque) mais ne peuvent être importées : "REMBANQ_LETRAGECOMPTA", "REMBANQ_M_AFFECTE" (calculées par le lettrage).
- Un contrôle sera effectué sur l'existence des codes des tables "associées". Si la valeur d'un de ces codes est renseignée et que ce code n'existe pas dans la table ad hoc, une erreur sera générée.
Table" reg_bord"
Table "reg_bord suite"
- À noter que les remises en banque d'un même bordereau doivent toujours se suivre comme indiqué ci-dessus.
"relations" (tout type de relations)
- Seuls des ajouts sont possibles sur cette table.
- Une fiche technique spécifique à l'Import générique des relations est disponible dans l'Espace client depuis le Guide utilisateur - M - Fiches techniques, ou en cliquant sur ce lien.