# Paramètres

## Onglet Paramètres&#x20;

### Liste des paramètres obligatoires

| Colonnes  | Remarques                                                                                                                                                                                          |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Paramètre | Nom du paramètre obligatoire  Ce nom est le nom du paramètre de l’application ou celui du sous-processus assujetti à l’action. L’écran d’édition du paramètre est affiché en cliquant sur son nom. |
| Direction | Direction du paramètre                                                                                                                                                                             |
| Valeur    | Donnée du processus associée au paramètre  L’écran d’édition du paramètre est affiché en cliquant sur la valeur.                                                                                   |

### Liste des paramètres supplémentaires

| Colonnes     | Remarques                                                                                                                                    |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Paramètre    | Nom du paramètre (un lien affiche l’écran d’édition du paramètre)  Le lien **Ajouter** permet d’afficher l’écran du paramètre en mode ajout. |
| Direction    | Direction du paramètre                                                                                                                       |
| Valeur       | Donnée associée au paramètre                                                                                                                 |
| Suppressions | Le **`x`** permet la suppression du paramètre                                                                                                |

### Liste des paramètres invalides

S’il existe des paramètres qui ne sont plus requis par le sous-processus sélectionné, ils deviennent invalides et seront affichés dans cette liste. Ils peuvent être supprimés manuellement.

## Écran d’édition d’un paramètre&#x20;

| Champs                       | Remarques                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Paramètre                    | <p>Identifiant unique pour la paramètre; doit être conforme à la nomenclature et limité à 30 caractères (champ obligatoire)  Les paramètres d’application comme <code>FORM\_FIELDS\_READONLY</code> sont disponibles à travers le bouton parcourir <strong>Autres paramètres</strong>. Ce paramètre est souvent associé au nom/ID du champ.<br><br>✏️ <strong>Note :</strong> Les noms des paramètres devraient respecter les conventions d'appellation XML suivantes :</p><ul><li>Commencer par une lettre ou par un tiret bas</li><li>Contenir uniquement des lettres, des chiffres, des traits d'union, des tirets bas et des points</li><li>Ne pas contenir des espaces</li><li>Ne pas commencer par les lettres <code>XML</code> dans n'importe quelle casse (p.ex. <code>xml</code> ou <code>Xml</code>)</li></ul><p>Pour plus d'informations, voir <a href="https://www.w3schools.com/xml/xml_elements.asp"><https://www.w3schools.com/xml/xml_elements.asp></a>.</p> |
| Parcourir                    | Ce bouton est uniquement visible pour les actions qui possèdent au moins un paramètre d'application par défaut défini                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Direction                    | <p>Direction du paramètre :</p><ul><li><strong>IN</strong> : Lors de l’instanciation de l’action, la valeur du paramètre est initialisée avec un texte, la valeur d’une macro ou une donnée du processus.</li><li><strong>OUT</strong> : Lors de la clôture de l’action, la valeur du paramètre est stockée dans la valeur d’une donnée du processus.</li><li><strong>INOUT</strong> : Lors de l’instanciation de l’action, la valeur du paramètre est initialisée avec un texte, la valeur d’une macro ou une donnée du processus. Par la suite, lors de la clôture de l’action, la valeur du paramètre est stockée dans la valeur d’une donnée du processus.</li></ul>                                                                                                                                                                                                                                                                                                     |
| Envoyer la valeur depuis     | La valeur IN à envoyer au paramètre  En fonction du type de donnée à associer, cette valeur peut être une donnée du processus, une macro ou une valeur texte. Il est possible de désélectionner un bouton radio sélectionné.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Récupérer la valeur dans     | Donnée du processus où la valeur OUT est stocké                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Bouton enregistrer           | Enregistre les modifications                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Bouton enregistrer et fermer | Enregistre les modifications puis ferme la fenêtre                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Bouton ajouter               | Enregistre les modifications de ce paramètre puis propose la fenêtre d’ajout d’un paramètre supplémentaire (c’est-à-dire la même fenêtre vide)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| Bouton supprimer             | Permet la suppression du paramètre actuel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Bouton fermer                | Ferme la fenêtre sans sauvegarde                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Édition des expressions des paramètres&#x20;

WorkflowGen supporte les expressions VBScript et JavaScript dans les paramètres d'actions, qui peuvent être créées soit directement comme des valeurs des paramètres des actions, ou dans des données de type TEXT qui sont mappées comme valeurs d'entrée (IN) aux paramètres des actions.

### Création d'une expression comme valeur d'un paramètre d'une action

1. Dans la section **Envoyer la valeur depuis** dans le panneau **Édition d'un paramètre**, sélectionnez **un texte** et saisissez l'expression dans la zone de texte.<br>
2. À côté de **Script**, cochez **Activer** et ensuite sélectionnez **JavaScript** ou **VBScript**.

### Création d'une expression comme donnée de processus de type TEXT

1. Dans le panneau **Édition d'une donnée**, saisissez l'expression dans la zone de texte **Valeur par défaut**.<br>

   **Astuce :** Cliquez sur l'icône crayon pour ouvrir un éditeur de texte plus grand qui inclut la mise en surbrillance (« highlighting ») de syntaxe JavaScript et VBScript.<br>
2. Réglez la langue soit dans l'onglet **Correspondance** de l'éditeur de formulaire ou dans le panneau **Édition d'un paramètre** :<br>
   * Dans le panneau **Édition d'un paramètre**, cochez **Activer** à côté de **Script** et sélectionnez **JavaScript** ou **VBScript**.<br>

     **ou**<br>
   * Dans l'onglet **Correspondance** de l'éditeur de formulaire, sélectionnez le bouton **Valeur d'entrée**, sélectionnez l'expression depuis la liste déroulante **Donnée**, cochez **Activer** à côté de **Script** et sélectionnez **JavaScript** ou **VBScript**.

Toutes les macros de WorkflowGen (à l'exception des macros de notification) sont entièrement supportées dans les deux langues et sont entourées de `< >`; par exemple, `<WF_PROCESS_INST_ID>` pour le numéro de la demande.

Dans les deux langues, le résultat attendu doit être un nombre, une chaîne ou une date.

### **Exemples**

L'exemple ci-dessous retournerait le numéro de la demande plus 5 en JavaScript ainsi qu'en VBScript :

```
<WF_PROCESS_INST_ID> + 5
```

{% hint style="info" %}
Aucun mot-clé `return` n'est requis par les expressions, sauf dans le cas de JavaScript dans une fonction. Cependant, il n'est pas possible de retourner la fonction directement; elle doit plutôt être appelée et doit retourner du code semblable à l'exemple suivant qui retournerait la date de demain :

```
(function(){
    var today = <WF_SYSTEM_DATE>;
    var tomorrow = new Date();
    tomorrow.setDate(today.getDate()+1);
    return tomorrow;
})();
```

**OU**

```
function test(){
    var today = <WF_SYSTEM_DATE>;
    var tomorrow = new Date();
    tomorrow.setDate(today.getDate()+1);
    return tomorrow;
}
test();
```

{% endhint %}
