Comment utiliser plusieurs enregistrements avec une intégration POST via socket ou service web
Aperçu
Lorsque vous envoyez des données via un socket ou dans le cadre d'une intégration de service web, vous avez la possibilité d'envoyer plusieurs enregistrements, un peu comme une structure de tableau lors d'une intégration de fichier. Cela vous permet d'envoyer plus d'informations dans un seul fichier déclencheur.
Lorsque vous créez une nouvelle intégration, elle ne lira et ne traitera qu'un seul enregistrement. Cependant, avec quelques actions supplémentaires, vous pouvez configurer l'intégration pour traiter plusieurs enregistrements à la place.
S'applique à
BarTender 2019 et versions ultérieures
Édition Automation et supérieures
Informations
Il est possible d'envoyer des données via TCP ou POST qui ont déjà une structure de type "tableau", comme dans l'exemple ci-dessous :

Pour pouvoir utiliser le contenu de fichiers "plats" comme variables, deux actions supplémentaires sont nécessaires : "Pour chaque enregistrement de base de données" et "Transformer le texte en ensemble d'enregistrements" :
Ces deux actions peuvent être utilisées "quel que soit le type d'intégration" car elles s'appuient sur les valeurs de la variable %EventData%, qui contient toutes les données entrantes pour l'intégration.
L'action Transformer le texte en ensemble d'enregistrements n'accepte que les bases de données textuelles comme les fichiers CSV, délimités par des tabulations ou d'autres bases similaires. Les bases de données textuelles plus complexes comme XML ou JSON ne fonctionneront pas correctement.
Configuration de l'action "Transformer le texte en ensemble d'enregistrements"
La première action à définir est "Transformer le texte en ensemble d'enregistrements" (cette action va transformer les données en une structure de type base de données) :
- Vous devez d'abord disposer d'un fichier "exemple" qui servira à définir la structure des données entrantes. Par exemple, utilisez un document exemple avec la même structure que celle qui sera utilisée pour les données envoyées via TCP ou POST.
- Cliquez sur le bouton "Configuration de la connexion à la base de données..." puis utilisez l'assistant pour lier le fichier de base de données "exemple" à l'intégration. Une fois la base de données connectée, fermez la fenêtre.
- Dans l'option "Source du texte", assurez-vous que la "Variable" est définie sur "%EventData%" et que la sortie est également "%EventData%".
Cela signifie que les données utilisées par l'action sont celles de la variable "%EventData%", qui est celle où l'intégration enregistre automatiquement toutes les données entrantes.
Configuration de l'action "Pour chaque enregistrement de base de données"
Une fois les données séparées en enregistrements, l'intégration doit savoir comment traiter ces enregistrements entrants. L'action "Pour chaque enregistrement de base de données" avec une action "Imprimer le document" imbriquée en tant qu'enfant garantit que chaque enregistrement sera imprimé individuellement lors de l'impression :
L'action "Pour chaque enregistrement de base de données" ne nécessite aucune configuration, cependant, vous devrez définir comment les données s'affichent sur l'étiquette. Cela se fait dans l'action Imprimer le document.
- Tout d'abord, votre étiquette doit avoir toutes les valeurs configurées avec des sources de données nommées.
- Cliquez sur le bouton Importer les paramètres du document pour importer et renseigner les noms des sources de données nommées.
- Ensuite, faites correspondre la source de données nommée de l'étiquette avec les noms de champs de la base de données exemple. Si vous n'avez pas attribué de noms de champs, ils porteront les noms générés automatiquement : Champ1, Champ2, etc.
- Sélectionnez l'icône de variable dans le tableau des sources de données nommées pour insérer le nom du champ depuis la fenêtre de dialogue. Les noms des champs se trouvent dans la section Action comme illustré ci-dessous :
Si vous connaissez les noms des champs, vous pouvez les saisir manuellement en utilisant la syntaxe %NOMDUCHAMP%.