Impression d’enregistrements de base de données via une intégration de service Web en un seul travail d’impression
Vue d'ensemble
Il est probable que vous souhaitiez créer une intégration de service Web afin de profiter de la communication bidirectionnelle, qui permet de recevoir plus d’informations sur la façon dont le fichier déclencheur est reçu. De plus, vous pouvez envoyer des données variables à BarTender pour chaque étiquette que vous souhaitez imprimer. Cependant, il se peut que vous n’appréciiez pas que chaque enregistrement de données envoyé génère un travail d’impression distinct. Certains clients rencontrent également des situations où l’imprimante doit effectuer une tâche entre chaque travail d’impression, ce qui augmenterait considérablement le temps total d’impression pour obtenir la quantité d’étiquettes souhaitée.
La méthode présentée ici permet de profiter du traitement des déclencheurs d’une intégration de service Web, tout en regroupant les enregistrements à imprimer dans un seul travail d’impression grâce à l’utilisation d’un script de commande d’impression.
Mise en œuvre
La meilleure façon d’aborder toute intégration est de séparer au moins les événements en deux parties : l’événement qui déclenche l’intégration, et les événements qui se produisent après réception du déclencheur. L’article Puis-je envoyer plusieurs enregistrements dans une intégration de service Web ? traite de la première partie de l’intégration. Comme indiqué, vous pouvez configurer une intégration de service Web en POST et envoyer plusieurs enregistrements, comme illustré ci-dessous :
Notez qu’il ne s’agit que d’une méthode où l’utilisateur a choisi d’inclure non seulement ses données pertinentes, mais aussi de définir l’étiquette et l’imprimante pour chaque enregistrement. Vous pouvez explorer une autre approche. Par exemple, voici comment j’ai structuré mes données à envoyer à l’intégration :
La partie délicate (et ce qui fait la puissance d’Integration Builder) est ce qu’il faut faire après avoir envoyé les informations à l’intégration. À ce stade, l’intégration de service Web ne sait pas ce que sont ces données ni à quoi elles servent. Nous voulons regrouper les enregistrements envoyés dans un ensemble d’enregistrements. Une fois cela fait, nous pouvons imprimer le document souhaité en utilisant notre base de données créée dynamiquement.
Fichiers d’exemple
Voici des fichiers d’exemple que vous pouvez utiliser pour suivre ce tutoriel, ou vous pouvez créer les vôtres :
- ShippingLabel.btw
- TESTDB.txt - base de données d’exemple à utiliser dans l’étiquette
- Multi-RecordSinglePrintJobExample.btin
Créer un fichier de base de données d’exemple
Pour commencer, créez une base de données d’exemple qui reflète la façon dont vous enverrez vos données depuis l’intégration. Dans cet exemple, j’enverrai deux informations par étiquette à imprimer : le numéro de suivi et le numéro de série. J’ai donc créé une base de données texte délimitée par des virgules comme ceci, et l’ai enregistrée sous TESTDB.txt :
TrackingNumber,SerialNumber,
T456826,S956845
Créer le document BarTender
Nous devons préparer l’étiquette pour accepter le numéro de suivi et le numéro de série que nous enverrons via l’intégration, en associant la connexion à la base de données aux objets appropriés.
- Ouvrez ShippingLabel.btw.
- Connectez votre base de données (TESTDB.txt) à BarTender en utilisant l’option de configuration de connexion à la base de données dans BarTender (vous pouvez vous référer à cet article : Premiers pas avec les connexions à une base de données (Vidéo - 5:20))
- Associez les champs d’en-tête de votre enregistrement aux objets souhaités dans votre modèle d’étiquette (également expliqué dans l’article de support mentionné)
- Enregistrez l’étiquette.
Créer l’intégration
Nous devons maintenant créer l’intégration. Puisque cet exemple utilise une méthode de requête POST, nous allons créer une intégration de service Web.
- Ouvrez Integration Builder
- Sélectionnez Créer une nouvelle intégration
- Sélectionnez Service Web comme type d’intégration souhaité, puis cliquez sur OK.
- Sous Données d’entrée, assurez-vous que le format des données d’entrée est défini sur Non structuré.
- Sous Réponse, rédigez la réponse que vous souhaitez envoyer. Voici un exemple de réponse que vous pouvez utiliser :
Statut du travail d’impression = %PrintJobStatus%
Messages du travail d’impression = %PrintJobMessages% - Dans la section Actions, supprimez l’action Imprimer le document en cliquant sur la croix rouge à droite de l’action. Ensuite, cliquez sur le bouton bleu plus pour accéder aux différentes actions possibles dans une intégration :
- Ajoutez trois actions :
Transformer le texte en ensemble d’enregistrements
Écrire un fichier
Script de commande d’impression - Dans la commande Transformer le texte en ensemble d’enregistrements, effectuez les réglages suivants :
Dans l’option Configuration de la connexion à la base de données texte, connectez TESTDB.txt à l’intégration.
Assurez-vous que la source du texte est définie sur Variable et %EventData%
Assurez-vous que la sortie est configurée pour enregistrer l’enregistrement dans la variable %EventData% - Dans la commande Écrire un fichier, effectuez les réglages suivants :
Définissez la source sur la variable %EventData%
Définissez la destination du fichier de base de données que nous allons écrire à l’emplacement souhaité. Assurez-vous que l’intégration dispose des droits suffisants pour accéder à cet emplacement. Dans cet exemple, le fichier est placé sous C:\test.
Nommez le fichier comme vous le souhaitez. L’étape suivante aura besoin de ce nom de fichier.
Choisissez ce que vous souhaitez faire si le fichier de base de données existe déjà. Dans cet exemple, sélectionnez Remplacer le fichier s’il existe déjà. - Dans la commande Script de commande d’impression, effectuez les réglages suivants :
Choisissez la source comme Script intégré.
Dans la fenêtre Script, saisissez ce qui suit :
Pour les Remplacements des options d’impression, cochez la case Demander la saisie des données.%BTW% /AF="C:\test\ShippingLabelMod.btw" /D="C:\test\TestResult.txt" /P
%END%
Tester l’intégration
Avant de déployer votre intégration, vous devez vérifier qu’elle fonctionne ! Utilisez l’option Tester l’intégration dans Integration Builder, soit en cliquant sur l’icône dans le menu Accueil, soit sur l’onglet Test à côté de Propriétés en bas de la fenêtre Integration Builder.
Configuration du client REST
- Nous aurons besoin d’un client REST pour tester l’envoi d’une requête POST à BarTender. Vous pouvez utiliser le client REST de votre choix. Dans cet exemple, nous avons choisi Insomnia, que vous pouvez télécharger ici : Insomnia Rest Client
- Une fois le client REST installé, créez une nouvelle requête POST, en utilisant "autre" comme option de formatage du texte.
- Saisissez les données suivantes. D’une certaine manière, notre requête est structurée comme une base de données, chaque enregistrement étant sur sa propre ligne. Dans cet exemple, nous allons imprimer cinq étiquettes, chaque ligne représentant le numéro de suivi et le numéro de série, comme dans la base de données d’exemple TESTDB.txt.
T456826,S956845,
T456827,S956846,
T456828,S956847,
T456829,S956848,
T456820,S956849 - Modifiez l’adresse du site Web pour utiliser l’adresse qui déclenchera l’intégration. Elle devrait ressembler à ceci :
http://<host>/Integration/WebServiceIntegration/Execute
Vous pouvez trouver cette adresse dans l’onglet Service de l’intégration. Le <host> correspond au nom d’hôte de votre ordinateur. Si vous ne savez pas ce que c’est, ouvrez l’Invite de commandes, tapez "hostname" (sans les guillemets) et appuyez sur Entrée.
Voici où saisir l’URL complète avec votre nom d’hôte :
Test de l’intégration
- Cliquez sur l’option Tester l’intégration dans le menu Accueil.
- Cliquez sur le bouton Démarrer en haut à droite de la fenêtre de test. Votre intégration devrait maintenant démarrer.
- Dans votre client REST, cliquez sur Envoyer. Cela prendra quelques secondes, mais vous verrez bientôt une réponse non seulement dans votre client REST, mais aussi dans la fenêtre de test de l’intégration :
Déployer l’intégration
- Dans la barre d’outils d’Integration Builder, cliquez sur
Déployer l’intégration pour ouvrir la boîte de dialogue Nouveau déploiement. - Dans la boîte de dialogue Nouveau déploiement, saisissez un nom et une description pour votre déploiement.
- Assurez-vous que le paramètre Fichier d’intégration indique IntegrationFile.btin (ou le nom que vous avez donné à votre intégration).
- Pour Serveurs cibles, ajoutez le ou les serveurs sur lesquels vous souhaitez déployer le fichier d’intégration.
- Spécifiez les paramètres de Gestion des erreurs souhaités.
- Cliquez sur OK pour fermer la boîte de dialogue et déployer le fichier d’intégration.
- La Console d’administration s’ouvrira sur le nœud Intégrations, affichant votre intégration.