Options de traitement d’un bouton

Le panneau Exécuter de la palette Objet vous permet de sélectionner la connexion aux données du bouton et de spécifier si le traitement a lieu sur l’ordinateur client, sur le serveur ou sur les deux. La connexion aux données doit donner accès à l’interface de service Web ou au serveur de base de données OLE qui renverra les données au formulaire au moment de l’exécution ou qui effectuera une autre action.

Après avoir désigné la source de données (voir Utilisation des sources de données), vous pouvez spécifier l’opération ou la requête à exécuter. A l’exécution, lorsque l’utilisateur clique sur le bouton, le système procède au traitement comme le définit l’opération ou la requête.

Les données renvoyées peuvent être fusionnées dans le formulaire de sorte que seules les données associées à des objets existants sont écrasées, sans actualisation de la structure du formulaire. Vous pouvez également choisir de mettre la structure du formulaire à jour en fonction des données XML renvoyées. Dans ce cas, la structure du formulaire est mise à jour et les données renvoyées sont fusionnées une fois le traitement terminé.

Pour définir les propriétés de traitement d’un bouton, vous devez d’abord sélectionner l’objet. Les options de traitement sont définies dans le panneau Exécuter de la palette Objet. Pour afficher le panneau Exécuter, vous devez sélectionner l’option Exécuter dans la zone Type de contrôle du panneau Champ.

Pour exécuter une opération de service Web ou une requête dans une base de données à l’aide d’un bouton

Le type de bouton Exécuter permet d’envoyer une requête de traitement à un service Web. Un service Web traite les opérations qu’il reçoit pour définir les données d’entrée et de sortie de votre formulaire.

Vous devez ajouter une connexion à un service Web, puis créer des champs ou les lier à la requête et aux messages de réponse. Les champs associés peuvent transmettre des données d’entrée au service ou recevoir des données transmises par ce dernier. Plusieurs champs peuvent être utilisés pour créer le message de requête et le message de réponse peut servir à remplir plusieurs champs. Pour exécuter l’opération, vous pouvez vous servir du bouton Exécuter ou rédiger un script. Vous pourriez, par exemple, utiliser un service Web pour vérifier un taux d’intérêt, un taux de change ou le cours d’une action.

  1. Ajoutez le bouton dans une conception de formulaire. Voir Pour ajouter des objets à une conception de formulaire.

  2. Cliquez sur l’onglet Champ de la palette Objet.

  3. Dans la zone Type de contrôle, sélectionnez Exécuter. Une opération de service Web ou une requête dans une base de données est exécutée conformément aux paramètres définis dans le panneau Exécuter.

  4. Cliquez sur l’onglet Exécuter et sélectionnez Nouvelle connexion aux données dans la liste Connexion.

  5. Sélectionnez Fichier WSDL et cliquez sur Suivant.

  6. Dans la zone Fichier WSDL, saisissez l’URL d’accès au document WSDL ou cliquez sur Parcourir  pour localiser et sélectionner le document sur le disque dur de l’ordinateur. Si le document WSDL est stocké sur un serveur sécurisé, le programme affiche la boîte de dialogue Authentification requise ou la boîte de dialogue Sélectionner un ID numérique.

  7. Effectuez l’une des opérations suivantes :

    • Dans la boîte de dialogue d’authentification, saisissez le nom d’utilisateur et le mot de passe qui conviennent, puis cliquez sur OK.

    • Dans la boîte de dialogue Sélectionner un ID numérique, choisissez l’ID numérique correct à utiliser en guise de certificat client, puis cliquez sur OK.

  8. Sélectionnez l’opération à appeler, puis cliquez sur Suivant.

    Le panneau de droite affiche des renseignements sur l’opération sélectionnée. Si l’opération n’est pas codée pour SOAP ou n’est pas un document ou un littéral, le système affiche un avertissement et vous ne pouvez pas continuer votre travail.

  9. (Facultatif) Pour configurer l’authentification du client, effectuez l’une des actions suivantes :

    • Pour définir l’authentification HTTP ou HTTPS, choisissez Authentification HTTP/HTTPS requise, puis sélectionnez le cas échéant les informations d’identification à accepter pour vérification.

    • Pour définir l’authentification du message SOAP, choisissez Authentification requise au niveau du message, puis sélectionnez, le cas échéant, l’option Accepte le nom d’utilisateur et le mot de passe.

  10. Cliquez sur Terminer.

  11. Dans la liste Exécuter sur, sélectionnez l’emplacement d’exécution du traitement.

    • Pour traiter la requête sur l’ordinateur client, sélectionnez Client.

    • Pour traiter la requête sur le serveur, sélectionnez Serveur.

    • Pour traiter la requête sur l’ordinateur client et sur le serveur, sélectionnez Client et serveur.

  12. Pour mettre à jour la structure du formulaire et fusionner les données renvoyées une fois le traitement terminé, sélectionnez l’option Fusionner à nouveau les données de formulaire. Vous devez utiliser l’option Fusionner à nouveau les données de formulaire si vous comptez remplir les données dynamiques (dans un sous-formulaire qui se répète, par exemple) associées aux données WSDL, à l’aide des données envoyées en réponse. Les données dynamiques nécessitent une nouvelle fusion complète pour générer le nombre correct de sous-formulaires qui se répètent. Si les données de réponse WDSL sont associées à un nombre fixe de champs, les champs existants sont complétés par ces données de telle sorte qu’il ne sera pas nécessaire de refusionner les données de formulaire.

Pour associer un script de base de données à un bouton

Vous pouvez également utiliser des scripts pour effectuer une manipulation de données plus complexe sur le système d’une entreprise. L’exemple suivant montre comment associer des scripts simples à des champs de bouton pour exécuter des opérations élémentaires de base de données (déplacement au premier ou au dernier enregistrement et à l’enregistrement précédent ou suivant, ajout de nouveaux enregistrements, mise à jour d’enregistrements existants et suppression d’enregistrements).

Remarque : Cet exemple est basé sur une base de données et un type de configuration spécifiques non inclus dans les exemples Designer. Il est proposé à titre de référence pour vous aider à concevoir vos propres scripts de recherche dans une base de données.

Conception de formulaire avec champs de bouton pour se déplacer au premier, au précédent, au suivant et au dernier enregistrement, ajouter des enregistrements, mettre à jour des enregistrements existants et supprimer des enregistrements.

  1. Cliquez sur la catégorie Standard de la palette Bibliothèque d’objets, puis faites glisser huit objets de bouton sur la conception de formulaire. Lorsque vous ajoutez un objet de bouton, son type de contrôle par défaut est Normal. Validez l’option par défaut.

  2. Donnez les noms suivants aux boutons : Premier, Précédent, Suivant, Dernier, AjouterNouveau, Mettre à jour, Supprimer et Annuler.

  3. Sélectionnez le bouton nommé Premier.

  4. Dans l’éditeur de script, sélectionnez click dans la zone Afficher, JavaScript dans la liste Langue et Client dans la liste Exécuter sur.

  5. Dans l’éditeur de script, rédigez le script JavaScript suivant :

    xfa.sourceSet.DataConnection.first();
  6. Répétez l’étape 5 pour chacun des boutons en utilisant respectivement les scripts suivants :

    • Précédent : xfa.sourceSet.DataConnection.previous();

    • Suivant : xfa.sourceSet.DataConnection.next();

    • Dernier : xfa.sourceSet.DataConnection.last();

    • AjouterNouveau : xfa.sourceSet.DataConnection.addNew();

    • Mettre à jour : xfa.sourceSet.DataConnection.update();

    • Supprimer : xfa.sourceSet.DataConnection.delete();

    • Annuler : xfa.sourceSet.DataConnection.cancel();

  7. Enregistrez la conception de formulaire.

  8. Testez le formulaire à partir du panneau Aperçu PDF. Avant qu’un tel formulaire ne soit rempli dans Adobe Reader, vous devez définir les droits d’utilisation du formulaire au moyen de Reader Extensions , afin qu’Adobe Reader puisse accéder à la base de données.

  9. Cliquez sur les différents boutons pour afficher les données associées à chacun des enregistrements. L’exemple montre qu’en cliquant sur le bouton Dernier, l’ID, le numéro de pièce, la description et le prix unitaire du dernier enregistrement apparaissent dans leurs champs respectifs.

Utilisation d’un bouton pour remplir les zones à partir d’une base de données

Vous pouvez utiliser une base de données en vue de transmettre les données à des champs du formulaire, y compris des champs de texte et des champs numériques.

Dans l’exemple ci-dessous, le bouton Récupérer l’enregistrement et la zone de liste sont liés à la base de données (appelée DataConnection) dans la palette Vue des données située à gauche. Un script FormCalc est également associé au bouton pour récupérer les données propres au numéro de pièce sélectionné dans la zone de liste. Les données propres à l’enregistrement récupéré s’affichent dans les champs d’identifiant, de numéro de pièce, de prix unitaire et de description.

  1. Etablissez une connexion à la base de données.

  2. A partir de la palette Vue des données, faites glisser les éléments UNIT_PRICE, DESCRIPTION, PART_NO et ID situés sous DataConnection pour les déposer sur la conception de formulaire. Chaque noeud que vous faites glisser vers la conception de formulaire crée automatiquement un champ associé.

  3. Cliquez sur la catégorie Standard de la palette Objet et faites glisser l’objet de bouton pour le déposer sur la conception de formulaire.

  4. Saisissez le nouveau nom du bouton. L’exemple utilise RETRIEVE RECORD.

  5. Sélectionnez le bouton et, dans l’éditeur de script, choisissez click dans la zone Afficher, FormCalc dans la liste Langage et Client dans la liste Exécuter sur.

  6. Entrez un script FormCalc en vous basant sur l’exemple ci-dessous. Lorsqu’un utilisateur clique sur le bouton, le script récupère les données propres aux enregistrements spécifiés, puis les affiche dans les champs correspondants.

    //Change the commandType from TABLE to TEXT. TEXT 
    //is the equivalent of SQL Property 
    $sourceSet.DataConnection.#command.query.commandType = "text" 
     
    //Set the Select Node. Select in this case will be  
    //whatever SQL Property you want 
    $sourceSet.DataConnection.#command.query.select.nodes.item(0).value = Concat("Select*from OfficeSupplies Where ID = ", DataListBox1.rawValue,"") 
     
    //Reopen the Data connection 
    $sourceSet.DataConnection.open()
  7. Enregistrez la conception de formulaire au format PDF.

  8. Testez le formulaire au moyen du panneau Aperçu PDF pour vérifier si le script fonctionne comme prévu.