Import généralités

Documentation générale sur l’import de données 8sens.

Préambule : cette documentation technique ne concerne que l’administrateur de la base de données. Il faut donc se connecter en ADMIN.

Prévoyez de faire systématiquement des sauvegardes avant l’import et de bien vérifier la qualité des éléments importés.

8sens permet d’importer des données dans la plupart des tables de la base de données.

On peut lancer l’import de deux manières :

1) Dans le Menu Fichier > Imports…

2) Depuis une vue, avec le bouton Imprimer > Importer > un modèle d’import

Dans les deux cas, on arrive sur la fenêtre “Import de données”.

Choisir une table dans le menu Table concernée et un fichier de données avec le bouton [Lire un fichier texte…] : les colonnes de ce fichier apparaissent dans la partie gauche de la liste, les colonnes de la table sélectionnée dans la partie droite.

Le principe est de déplacer les lignes de gauche (en insérant des lignes vides, ou en supprimant des lignes, au besoin) pour les mettre en face de celles de droite. On peut dupliquer une ligne pour renseigner plusieurs colonnes de 8sens avec la même donnée.

Les références à importer doivent être activée à l’aide d’un “X” dans la colonne Importer. Sélectionner la ligne et appuyez sur la barre d’espace : le “X” active la colonne, le “-” la désactive.

Options d’import

Le bouton [Options d’import…] permet d’activer les options suivantes :

Astuce : si la deuxième ligne du fichier de données contient les noms de colonne 8sens (la première ligne contient les titres), le bouton [Automatique] aligne automatiquement les colonnes à importer en face des colonnes correspondantes de la table.

Ajout / Mise à jour pour des tables “à code”

A la création d’une fiche dans une table dite “à code”, le renseignement d’un code unique est obligatoire.

Toute fiche CLIent comporte un “Code Client” unique (CliCode) de même qu’une Facture possède un “Code Facture” (FacCode) qu’on retrouve en comptabilité.

L’utilisation de cette colonne de “Code” concerne principalement les tables de Tiers (CLIents/FOUrnisseurs…), des ARTicles/PROduits et des Pièces (cf Import pièces).

Lors d’un import, la référence à ce Code permet de modifier ou compléter une fiche existante : les informations de la fiche importée viennent alors compléter ou remplacer celles de la fiche existante.

La règle est alors la suivante :

  • si la colonne de l’ID de la table choisie est cochée, le programme met à jour la fiche dont il trouve l’ID.
  • si cette colonne n’est pas cochée, mais si la colonne du Code de la table choisie est cochée et si le choix de la racine est de prendre celle du code importé (ou un choix de racine manuelle), le programme met à jour la fiche dont il trouve le Code (sinon, il crée une fiche avec un nouvel ID et ce code).

NB en création d’enregistrement : la colonne du Code de la table doit être cochée, même si une racine automatique est sélectionnée.

Ajout / Mise à jour pour des tables “sans code”

  • si la colonne de l’ID de la table choisie est cochée, le programme met à jour la fiche dont il trouve l’ID.
  • sinon, le programme recherche en fonction des données fournies si l’enregistrement existe ou non.

Ces données varient en fonction de la table, pour que 8sens trouve l’enregistrement :

  • pour un produit, il faut fournir le code (ou l’ID) du fournisseur et le code produit.
  • pour un compte, il faut fournir le code (ou l’ID) du type de compte et le code compte.
  • pour un article en dépôt, il faut fournir le code (ou l’ID) du dépôt et le code (ou l’ID) de l’article.
  • pour une nomenclature article, il faut fournir le code (ou l’ID) de l’article composé et le code (ou l’ID) de l’article composant.
  • pour une nomenclature produit, il faut fournir le code (ou l’ID) du produit composé et le code (ou l’ID) du produit composant.
  • pour une ligne de tarif article, il faut fournir le code (ou l’ID) du tarif et le code (ou l’ID) de l’article.
  • pour une ligne de tarif produit, il faut fournir le code (ou l’ID) du tarif et le code (ou l’ID) du produit.

Exemple : pour modifier un emplacement dans un article dépôt, on renseigne le code dépôt ArdGDepCode, le code article ArdGArtCode, et l’emplacement ArdEmpl.

Pour transformer une valeur vrai/faux en booléen 8sens, mettre “BT” en quatrième colonne de la liste des données (en rouge, à gauche) et la valeur à prendre pour “vrai” en 3ème colonne.

Exemple : le fichier d’import comporte une colonne avec des “oui” ou des “non”. Si on met “oui” en colonne 3 et “BT” en colonne 4, 8sens importe la valeur “vrai” c’est à dire “X” à tous les enregistrements comportant un “oui” dans la bonne case, sinon il importe la valeur “faux”, c’est-à-dire “-”.

Les constantes doivent être placées en colonne 3 : elles sont prioritaires sur les valeurs lues dans le fichier. Par conséquent, utilisez cette colonne pour indiquer une même valeur à tous les enregistrements importés (ex: une catégorie clients).

Pour les colonnes à énuméré fixe (Nuf), on peut choisir d’importer la valeur lue dans le fichier ou d’affecter un même énuméré à tous les enregistrements en déroulant le menu local dans la liste de droite (par un clic droit ou Control-clic).

Si la table est une table “Fille” (ex : adresses, communications, etc), on peut importer dans cette table et mettre à jour la table “mère” (exemple : clients), de la façon suivante, si l’on dispose du code de l’enregistrement “mère” :

  • faire correspondre la ligne correspondant à la colonne “MereID” de droite, avec la ligne porteuse du code “mère” à gauche, et mettre le mot “CODE” en colonne 4.

  • sur la ligne correspondant à la colonne “MereTable” de droite, mettre le nom de la table mère en colonne 3 réservée aux constantes (ex : “CLI”) et mettre un “X” en colonne 4 ; pour connaitre les noms de table, consultez le menu local des tables en haut de la fenêtre, il donne entre parenthèses le nom interne de la table.

Exemple : pour importer des adresses de livraison de clients, il faut mettre le code client du fichier d’import en face de “MereID” avec “CODE” en colonne 4, “CLI” en face de “MereTable”, et les éléments de l’adresse en face des champs adresse.

Les valeurs vides ne sont pas importées ; pour “vider” une case de la base de données 8sens par l’import, il faut y mettre la valeur “%%%” dans le fichier d’import (ou mettre “%%%” en constante, troisième colonne, pour tous les enregistrements lus).

Import d’images

Si la table comporte des colonnes images, il est possible de les importer. Il faut :

  • Placer toutes les images dans un dossier dont le nom est celui de la colonne image, ex “ArtGPicID” (Photo) ou “ArtPlans” (Plan) pour la table Articles.

  • Que les images soient au format JPEG, le nom de chaque image doit être le code d’un article importé + “.jpg” Ex : ART001.jpg

  • Cocher dans “Options d’import” l’option “Importer les images”.

On peut importer les deux images à la fois dans le cas de la table article, avec deux dossiers d’images. Le dossier contenant les images doit être à côté du fichier à importer qui doit contenir au moins les codes articles.

Exemple Modèle d’import d’image http://www.8sens.com/DIVERS/ImportArtPhoto.zip

Import de pièces

Le fichier de données doit être hiérarchique. Un enregistrement Entête (qui doit avoir un “E” en première colonne) suivi de n enregistrements Ligne (qui doivent avoir un “L” en première colonne), et ainsi de suite ; le programme permet alors de paramétrer les entêtes et les lignes. Certaines contraintes sont à respecter (cf Import pièces).

Aucune mise à jour de pièce n’est effectuée en import, seulement des créations.

Import d’écritures

L’ordre du fichier d’import est important car le programme crée un n° de séquence à chaque fois que les écritures sont d’un autre journal, d’un autre exercice, d’une autre période, ou que le montant cumulé des soldes est égal à zéro. Le fichier importé doit donc être trié par journal, date, pièce. Aucune mise à jour d’écriture n’est effectuée en import, seulement des créations.

NB : les valeurs citées ci-dessus (“BT”, “CODE”, …) doivent être respectées exactement (mêmes majuscules).

Lors d’un import, le programme crée un ou deux fichiers, dont le nom provient du NOM du fichier importé :

  • NOM.MSG : contient les messages d’import et le compte rendu final,

et éventuellement

  • NOM.ERR : contient les enregistrements en erreur s’il y en a, ce fichier peut être repris tel quel pour réimporter avec les mêmes paramètres d’import, après correction des erreurs.