v_table – Champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • L’API v_table fournit des méthodes pour ajouter des lignes à une table distante via un objet pouvant contenir des scripts.

    Cette API nécessite l’activation du module d’extension Tables distantes (com.glide.script.vtable). Pour plus d’informations, consultez Récupération de données externes à l’aide de tables et de scripts distants.

    Utilisez l’objet de script v_query pour interroger les tables distantes.

    v_table : addRow(ligne d’objet)

    Ajoute des lignes à la table distante.

    Tableau 1. Paramètres
    Nom Type Description
    Ligne Objet Objet JavaScript contenant un nom de champ et une carte de valeurs dans laquelle la clé est le nom du champ, par exemple, {number : « INC0001 », sys_id : « a34"}.
    { "<field name>": "value" }
    
    Valeur ligne.<champ> Chaîne Représente la valeur du champ sélectionné. Bien qu’aucun champ ne soit obligatoire, fournissez au minimum les sys_id.

    Exemple répertoriant uniquement sys_id champ et valeur :

    { "sys_id": "<uniqueID>" }
    
    Tableau 2. Renvoie
    Type Description
    Booléen Marqueur indiquant si la ligne a été ajoutée à la table distante.
    Valeurs valides :
    • true : réussite.
    • false : la ligne n’a pas été ajoutée.

    L’exemple suivant montre comment utiliser l’API RESTMessageV2 pour créer et exécuter l’appel REST vers une application bancaire externe. Le script montre comment utiliser la méthode addRow() pour stocker les résultats de retour dans une table distante.

    (function executeQuery (v_table, v_query) {
      // Parameters needed in the request body of the REST endpoint
      var requestBody = {
        'financial_account':v_query.getParameter('financial_account')
      };
    
      // Instantiate the RESTMessageV2 object
      var request = new sn_ws.RESTMessageV2();
      // Set the HTTP method as "GET"
      request.setHttpMethod('get');
      // URL of the endpoint on the bank application
      request.setEndpoint('https://<yourbankapphost>/api/getTransactionDetails');
      // Request body as a string
      request.setRequestBody(JSON.stringify(requestBody));
      // Call the REST endpoint
      var response = request.execute();
      // Get the response body
      var responseBody = response.getBody();
      // Parse the response body into an object
      var responseObj = JSON.parse(responseBody);
    
      // Store the response body into a virtual table
      v_table.addRow({
        sys_id: gs.generateGUID(),
        amount: responseObj.amount,
        description: responseObj.description,
        posting_date: responseObj.posting_date,
        transaction_date: responseObj.transaction_date
      });
    
    }) (v_table, v_query);