Imports des données
Créer un import
Pour créer un import, cliquez sur le menu Paramétrage > Import/export > Imports, puis sur le bouton « Créer ».

Libellé : choisissez le nom de votre import.
Description de données externe : choisissez le format dans lequel vous souhaitez importer (Excel, texte etc.) voire chapitre sur la description de données externes.
Formulaire de destination : choisissez le formulaire qui recevra les données importées.
Bouton « Lancer l’import » : enregistrez d'abord votre import puis cliquez ensuite sur le bouton pour le lancer.
Onglet « Paramètres avancés »
Désactiver les automatismes ? : cochez cette case si vous souhaitez désactiver les automatismes lors de l’import. La coche "Désactiver les automatismes" du formulaire Import permet d'importer sans tenir compte des automatismes. Elle évite d'avoir à désactiver les automatismes un par un.
Nouveauté valide à partir de la version 7
N’importer que les lignes qui respectent les conditions : vous pouvez choisir de n'importer que des lignes qui correspondent à des critères que vous établissez (que le genre des livres créés est Roman).
Description de données source
Utilisez une description de données source déjà existante ou cliquez sur le bouton
pour créer une nouvelle description de données externe.
Choisissez alors le type de fichier externe.

Données d'un fichier Excel

Nom de la description : donnez un titre à votre description de données.
Nom du fichier : recherchez le fichier à importer grâce à l'icône
IMG_U00200
Note: vous pouvez importer un fichier .xls ou .xlsx
Nom de la feuille : déterminez dans quelle feuille Excel se trouvent les données à importer. Par défaut, SIMAX propose la feuille 1.
La 1re ligne est une ligne d’entête ? : s'il y a des entêtes de colonnes dans votre fichier Excel, cochez cette case, cela évitera que les entêtes de colonnes ne soient importées, et la création de correspondances de colonnes sera facilitée.
Onglet « Paramètres avancés »
Mode des colonnes à exporter : seulement pour les exports
Tableau :
Correspondances de colonne : voir chapitre correspondances de colonnes
Si les libellés de vos colonnes dans le fichier Excel et les libellés des champs correspondent bien, inutile de préciser des correspondances de colonnes. Dans ce cas, lancez directement l’import en vérifiant que la case « la première ligne est une entête » est bien cochée.
Remarque: on importe chaque donnée d'un enregistrement dans l'ordre des correspondances utilisateur ou déterminées (automatique). Dans le compte rendu avant import, les correspondances sont données dans l'ordre de leur traitement.
Colonnes de référence : on peut fixer une ou plusieurs colonnes de référence. Elles seront utiles pour un import avec mise à jour, les recherches d'enregistrements existants se feront à l'aide de ces colonnes. Ces colonnes doivent avoir une correspondance.
Si aucune des colonnes de référence n'a une correspondance associée, alors les colonnes uniques et les colonnes identifiantes du formulaire seront utilisées pour la recherche. Sans colonne de référence, aucune mise à jour n'est possible. Les enregistrements seront considérés comme nouveaux.
Si lors d'une recherche, plusieurs enregistrements sont trouvés, aucune modification, ni ajout n'est effectué pour la ligne. Un fichier journal est alors créé puis envoyé par Max dans les messages d'action.
Données dans un fichier texte

Pour un fichier texte, même chose.
Pour les paramètres avancés, pensez à indiquer correctement le séparateur (souvent une tabulation TAB ou ;).
En fin d’import vérifiez que les imports n'ont pas créé des lignes vides (problème parfois avec Excel).
Import dans modèle fichier depuis un fichier CSV
Il est possible d'importer un fichier dans modèle fichier depuis un CSV.

Description de données externe

Le contenu de la colonne dans le fichier CSV doit être au format suivant :
data:<type mime>;name=<nom du fichier encodé>;base64,<contenu du fichier en base64>
Dans le nom du fichier, les caractères & et ; doivent être remplacé par & et ; respectivement.
Attention! Si la colonne contient uniquement le nom du fichier, la colonne n'est pas importée.
Exemple de valeur à importer :
data:image/png;name:Eri_;Kisaki&,.png;base64,iVBORw0KGgoA....
data:image/png;name:Conan_Edogawa.PNG;base64,iVBORw0....
Données dans un fichier XML
Importer du XML
Un nouveau type de description de données est disponible dans le langage : données d'un fichier XML (Domaine connectivité. SMX est à importer)
Attention ! A ne pas confondre avec "donnée d'un fichier XML (avec XSD) qui est par exemple utilisé pour les exports SEPA.
Avec cette nouvelle description de données, vous pouvez importer des valeurs depuis un fichier XML sans avoir le XSD correspondant.
La description de données XML contient :
- le formulaire dans lequel on va importer
- le fichier XML source (à remplir obligatoirement avant de créer les correspondances si vous voulez profiter de l'aide à la saisie pour le champ "colonne externe")
- la balise enregistrement : libellé de la balise qui est répétée dans le fichier XML et qui correspond aux enregistrements à importer
- les correspondances de colonne où les colonnes externes sont décrites par un chemin XPATH (cf paragraphe suivant)
- les colonnes références
Chemin XPATH dans la colonne externe des correspondances :
Un chemin XPATH est un chemin de localisation d'une information dans un XML.
En saisissant un chemin XPATH dans la colonne externe de la correspondance, on indique à SIMAX où se trouve l'information à importer dans le XML.
Soit le chemin est un chemin absolu, c'est à dire à partir de la racine du XML, soit relatif, à partir de la balise enregistrement
Le '/' est utilisé pour indiquer un sous-niveau de balise
Le '@' précède le nom des attributs
On utilise "../" pour remonter à la balise au-dessus.
SIMAX propose dans l'aide à la saisie tous les chemins absolus qu'il a déduits du fichier XML source mais cette liste n'est pas exhaustive. Vous pouvez utiliser ces chemins en les complétant par exemple :
- A/B/C => A/B/C[@attribut=valeur] pour dire qu'on souhaite récupérer la valeur de la balise C où attribut=valeur
- A/B/C => A/B[2]/C pour dire qu'on souhaite récupérer l'info dans la 2ième occurrence de la balise B
De plus, ces chemins XPATH doivent indiquer la localisation d'une valeur et non d'un bloc XML. C'est à dire que :
- soit le chemin XPATH se termine par une balise et cette balise NE doit PAS contenir de sous-balises
- soit le chemin XPATH se termine par un attribut (@attribut)
RESTRICTIONS :
- Il est obligatoire d'indiquer les correspondances manuellement, pas de correspondances automatiques
- Tous les enregistrements décris dans le XML doivent avoir la même structure, c'est à dire que chaque bloc XML correspondant à un enregistrement doit être identique.
En effet, en se plaçant sur chaque balise enregistrement, toutes les valeurs des chemins XPATH des correspondances doivent pouvoir être récupérées de la même manière.
Donc si un enregistrement n'a pas de valeur :
- pour une balise : le XML contient une balise vide <Balise/>
- pour un attribut : le XML contient l'attribut sans valeur <Balise attribut="">
Cette restriction est nécessaire pour des questions de temps de réponse encore une fois car le fichier XML source n'a pas de XSD donc la seule façon de connaître sa structure est de lire le XML.
Une structure unique nous permet de lire uniquement le 1er enregistrement pour connaître les informations disponibles pour chaque enregistrement.
Exemple d'import XML :
Fichier XML source

Description de données XML
Formulaire : Film
Balise enregistrement : film
Source : film.xml
Correspondances :
- /films/film/titre Titre de Film
- /films/film/@datesortie Date de sortie de Film
- /films/film/acteurs/acteurPrincipal/Nom Acteur principal de Film
- /films/film/producteur Producteur de Film
- /films/@date Date de projection du film
SIMAX propose aussi les chemins XPATH suivants :
- /films/film/@id
- /films/film/acteurs/acteurPrincipal/@civilité
On remarque que pour le dernier film décrit dans le XML, la date de sortie et le producteur ne sont pas renseignés mais la balise et l'attribut sont bien présents pour garder la même structure
La dernière correspondance se fait avec une balise hors de la balise enregistrement. L'information "Date" sera la même pour tous les films importés car c'est attribut de la balise racine du XML
Important :
Correspondances de colonnes

Tableau SIMAX : formulaire dans lequel sera effectué l'import (repris par défaut)
Colonne SIMAX : choisissez un champ du formulaire SIMAX pour l'associer ensuite à une colonne externe.
Colonne externe : déterminez le nom de la colonne correspondante. SIMAX propose les listes des colonnes d’Excel ou fichier texte pour faciliter la création des correspondances de colonne.
Si vous aviez coché précédemment la case « La 1ere ligne est une ligne d'entête ? », la liste des colonnes disponibles apparait dans le champ
Si la case n'est pas cochée, une liste de numéros qui sont les positions dans le fichier apparaît.
Formule de transformation : pour modifier le nom de la colonne. La constante à utiliser est VALEURIMPORT.
Exemple:
– dans le fichier à importer la valeur est '24'
– si la formule est: VALEURIMPORT + " cm",
– la valeur importée sera "24 cm"
Création autorisée ? : permet d'autoriser ou non les créations en cascade sur le champ SIMAX correspondant. Par exemple: Lors d'un import d'un contact, si la société n'existe pas, l'import va créer celle-ci.
Conserver les espaces ? : pour conserver les espaces entre les mots.
Exporter la valeur affichée ? : cette case est utilisée pour l’export.
Si les libellés des colonnes du fichier Excel/Texte et les libellés des champs de SIMAX ne correspondent pas, vous pouvez créer des correspondances de colonnes dans votre paramétrage import sur SIMAX (ou alors organiser votre fichier Excel/Texte afin qu'il corresponde mieux).
Assistance création correspondances Import
Nouveauté valide à partir de la version 12
Il a été ajouté dans les descriptions de données pour les imports de l'option « Créer toutes les correspondances manquantes ».
Le bouton créer de la liste des correspondances propose 2 choix :
- Créer
- Créer toutes les correspondances manquantes

« Créer toutes les correspondances manquantes » va automatiquement créer toutes les correspondances qui n'ont pas encore été créé entre la source de l'import et le formulaire. Par défaut, cela va créer les mêmes correspondances que les correspondances automatiques (celle proposé par l'écran avant import).
Si des correspondances existent déjà, seules les correspondances manquantes sont créées.
S'il n'y a pas de formulaire associé, les correspondances créées ne sont pas associés à une colonne et donc l'import ne pourra pas fonctionner en l'état mais cela permet de pré créer ses correspondances.
Remarque :
Certains types de descriptions de données ne permettent pas la création automatique de correspondance (comme "Données texte largeur fixe")
Important :
Import du numéro de ligne : NUMIMPORT
Nouveauté valide à partir de la version 7
La nouvelle constante NUMIMPORT permet d'importer le numéro de ligne dans SIMAX sans être obligé d'ajouter une colonne dans le fichier d'import.
NUMIMPORT démarre à 1.
ATTENTION : La ligne d'entête n’est pas comptée.
Exemples de cas d'utilisation :
- colonne de référence en import de mise à jour
- repérage des lignes importées
Mise en place :
Créer une correspondance de colonne
- Colonne SIMAX = colonne Num Import
- Colonne Externe = numimport (la colonne n'a pas besoin d'exister dans le fichier source de l'import)
- Formule de transformation = numimport

Gestion des protocoles de fichier dans les imports (file, ftp, webdav)
Nouveauté valide à partir de la version 10
Afin de simplifier l'import de fichiers depuis un serveur FTP (ou WebDAV), il est possible de préciser le protocole à utiliser dans la source de l'import. Ce protocole indique le type de serveur où se trouve le fichier.
Les protocoles supportés actuellement sont :
- FTP
- WebDAV (Stockage GED)
- FILE
Le format utilisé est celui des URL standards (même syntaxe que dans les navigateurs web).
Intérêt : Cela évite de devoir récupérer les fichiers d'import depuis le serveur FTP ou WebDAV et de les copier avant de faire un import.
Différence de version :
- Avant la version 1536.01, c'est le mode FTP ACTIF qui est utilisé
- A partir de la version 1536.01, c'est le mode FTP PASSIF qui est utilisé par défaut, ce mode est configurable via la clé FTPACTIF de la section client de l'info.nb.
Format de l'URL pour FTP et WebDAV :
<ftp ou webdav>://[<login>:<mot de passe>@]<adresse de serveur>[:<port>]/<Chemin du fichier>
Exemples :
- ftp://login:[email protected]/dossier1/dossier2/fichier.csv
- ftp://login:[email protected]:21/dossier1/dossier2/fichier.csv
- ftp://serveur.com/fichier.csv
- webdav://serveur.com:8080/dossier/fichier.csv
- webdav://login:[email protected]:8080/dossier/fichier.csv
- webdav://login:[email protected]/dossier/fichier.csv
Format de l'url pour FILE :
file:///<lettre du lecteur>:/<chemin du fichier>
file:////<nom du serveur>/<chemin du fichier>
Exemple :
file:///c:/temp/fichier.csv
file:////monserveur/reppartage/fichier.csv
Lancer un import

Import : choisissez un import, enregistré dans la base de données.
Type d’import : vous pouvez réaliser différents types d'imports :
- « Ajouter tous » : Ce type d'import ajoutera tous les enregistrements nouveaux sans faire de tri
- « Ajouter seulement les nouveaux » : ce type d'import vous permet de faire le tri entre les nouveaux enregistrements et ceux déjà créés. Avec cet import, SIMAX ne créera que les nouvelles données.
- « Mise à jour » : Ce type d'import vous permet de mettre à jour les enregistrements déjà existants. Attention : sans colonne référence, aucune mise à jour n'est possible.
- « Mise à jour sans création »: Ce type d'import permet de mettre à jour seulement les enregistrements existants. Les nouveaux ne seront pas ajoutés.
Les valeurs, dont les champs pointent sur un autre formulaire (si la correspondance autorise la création en cascade), seront créées.
Attention : sans colonne référence, aucune mise à jour n'est possible.
Fichier à importer : déterminez l'endroit où se trouve le fichier à importer
Avant de commencer l'import, Max vous envoie un message de confirmation d'import

Une fois l’import terminé, vous recevez un rapport d’import de SIMAX.

Une fois l'import fini, vérifiez dans votre formulaire que les éléments ont été correctement importés:

Note : s'il y a des erreurs pendant l'import, elles sont journalisées dans un fichier CSV contenant trois colonnes:
- Numéro d'enregistrement : La ligne de l'enregistrement concerné
- Enregistrement
- Description de l'erreur : l'erreur retournée par SIMAX.
Le fichier se trouve en pièce jointe d'un message de MAX.
Mis à jour

