Importsmf
Un article de Documentation 8sens.
1) Documentation générale sur les importations de données
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.
Imports (menu Fichier)
Sommaire |
Imports
8sens permet d'importer des données dans la plupart des tables de la base de données.
Choisissez une table via le menu local Table concernée, et désignez un fichier de données en cliquant sur le bouton «Lire un fichier texte». Les enregistrements de ce fichier apparaissent dans la partie gauche de la liste à gauche; les champs de la table sélectionnée dans la partie droite de la liste.
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 champs de 8sens avec la même donnée.
Les références à importer doivent être "cochées": les rangées concernées doivent être marquées d'un "X" au niveau de la quatrième colonne de la liste des données, colonne appelé Importer (en rouge, à gauche). Pour se faire : sélectionner la ligne et appuyer sur la barre d'espace. Un "X" apparaît dans la colonne Importer. Un second appui remplace le "X" par "-", qu'une des cases de la ligne soit éditée ou non.
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 programme aligne automatiquement les colonnes à importer en face des colonnes correspondante de la table sélectionnée, quand on appuie sur le bouton «Automatique».
Ajout / Mise à jour
1) Pour des tables "à 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.
- si cette colonne n'est pas cochée, et 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.
2) 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
Ex : 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" (ex : 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.
Ex : 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.
Les images doivent être au format JPEG, le nom de chaque image doit être le code d'un article importé + ".jpg".
Il faut cocher l'option "Importer l'image" dans l'écran d'import.
On peut importer les deux images à la fois dans le cas de la table article, avec deux dossiers d'images.
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, lisez la doc complémentaire ci-dessous pour importer des 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.
Import pièce
1) Documentation spécifique Import Pièces 8sens
Très important :
Les pièces créées par un import sont de vraies pièces 8sens, elles gèrent tout ce que leur nature ( cf Menu fichier > paramètres généraux > natures) a prévu (gestion des quantités en commande, en stock, génération des écritures comptables, ...). Par exemple : si vous importez d’une part des factures, et d’autre part les écritures correspondant à ces factures en comptabilité, prenez soin d’importer les factures sur une nature de pièce qui NE GERE PAS les écritures comptables, sinon chaque facture va générer des écritures qui seront en double avec celles importées directement par les écritures.
Une solution consiste à commencer par l’import des factures sur la nature de pièce qui existe par défaut puis de supprimer les écritures de la base de données. Soit par le programme de comptabilité, ou alors en exécutant la requête SQL suivante :
delete from ecr where ecrid >0 à coller dans la fenêtre administration des bases du menu Fichier
NB : attention TOUTES les écritures seront perdues avec l'éxécution de cette requête.
A partir de la version 3.3.7, les lignes de pièce importées comprennent les mêmes éléments que les lignes d'une pièce saisie à la main, même si ces éléments ne sont pas renseignés dans le fichier d'import
Paramétrage des Transformations :
Il faut créer une transformation par nature de pièce à importer ( menu Fichier > Paramètres Généraux > natures )
Les codes des transformations sont fixes, et vous devez respecter ces codes exactement :
- IMPORFAC : pour importer des Factures
- IMPORBON : pour les Bon de Livraison
- IMPORCDE : pour les Bon de commandes
- IMPORDEV : pour les Devis.
NB : pour les pièces fournisseur on rajoute F à la fin du code ( ex : IMPORCDEF)
Les réglages ci-dessus (type, reliquat, tiers) sont obligatoires : C’est une transformation de type duplication, donc tous les réglages par defaut du client sont pris : ce n’est pas la peine d’importer les conditions de règlement ou la devise ou tout ce que le client apporte par defaut Seules les adresses (facturation et livraison ) importées sont bien reprises dans l’import.
Cochez Mise à jour des prix si vous voulez que 8sens recalcule les prix avec les tarifs en cours, et Mise à jour des PR si vous n'importez pas les prix de revient (ce qui est en général le cas)
Le fichier d’entrée en mode E/L
Une ligne d’entête identifiée par un E, suivie de lignes identifiées par un L, et de nouveau E puis L etc Exemple :
| E | NUMERO PIECE | CODE CLIENT | DATE | LIB .ADRESSE | RUE 1 | CP | VILLE |
| L | CODE ARTICLE | LIBELLE | QTE | P.U. Brut | P.U. Net | ||
| E | FROC003 | CILOO | 100307 | Ciloo Sarl | 8,rue bleue | 75005 | PARIS |
| L | FOT001 | Ballon cuir cuir | 1 | 40 | 10 | ||
| L | Texte libre | ||||||
| L | FOT001 | Ballon cuir cuir | 1 | 32 | 30 |
(Les 2 premières lignes du fichier exemple sont des lignes de titres)
Le caractère séparateur est Tabulation dans l’exemple
Le numéro de pièce, ici FROC003 , ne doit pas exister dans la base de données Le client (ici CILOO) et l’article (ici FOT001) doivent exister dans la base de données. Le programme effectue en effet des contrôles.
précautions:
Bien vérifier la nature sur laquelle on importe
On peut aussi faire apparaître le numéro de colonne du fichier de données en positionnant le pointeur à la limite de la colonne Référence et en écartant :
Les réglages de l’entête :
n’oubliez pas que vous pouvez dupliquer une ligne du fichier :
éditer des éléments
importer une valeur fixe
Les réglages de la ligne
Avant la version 3.3.7 (cf ci-dessus en gras), ne pas oublier de cocher PlvIsStat si les lignes de pièces doivent apparaître dans les statistiques articles (le réglage import est prioritaire pour les articles sur celui des articles ou de la nature de pièce)
NB :
- PU Brut et PU Net sont obligatoires, le programme calcule la remise entre les 2 si elle n’est pas spécifiée dans le fichier d’import
2) Pour aller plus loin
Astuce pour exporter et importer des pièces 8sens : (v2.0.4 et suivantes)
1) créer un modèle d’export, en cochant toutes les colonnes souhaitées puis cliquer sur le bouton « Automatique » 2) exporter les pièces voulues avec ce modèle (liste des pièces > bouton exporter > modèle d’export) 3) menu fichier > Importer, ouvrir le modèle d’export (attention, la transformation nécessaire doit exister, cf ci-dessus) 4) éventuellement sélectionner une autre racine si on ne veut pas importer avec les mêmes numéros de pièce 5) ouvrir le fichier exporté au 2) et importer
Le fichier d'entrée en mode E/L en gérant l'automatisme de colonne:
| E | NUMERO PIECE | CODE CLIENT | DATE | LIB .ADRESSE | RUE 1 | CP | VILLE |
| L | CODE ARTICLE | LIBELLE | QTE | P.U. Brut | P.U. Net | ||
| E | PcvCode | PcvGCliCode | PcvDate | PcvLib | PcvPAdpRue1 | PcvPAdpCp | PcvPAdpVille |
| L | PlvGArtCode | PlvLib | PlvQteUV | PlvPUBrut | PlvPUNet | ||
| E | FROC003 | CILOO | 100307 | Ciloo Sarl | 8,rue bleue | 75005 | PARIS |
| L | FOT001 | Ballon cuir cuir | 1 | 40 | 10 | ||
| L | Texte libre | ||||||
| L | FOT001 | Ballon cuir cuir | 1 | 32 | 30 |
En ligne 3 et 4 du Fichier d'import on renseigne les noms de colonnes Sql correspondantes à celles de 8sens. Affichez cet enregistrement dans la partie Valeur de la liste à gauche, une fois le fichier de données ouvert, puis cliquez sur le bouton "automatique" : 8sens fait correspondre automatiquement les colonnes du fichier de données avec celles de 8sens.
Retour à la page Accueil
Site web : http://www.8sens.com










