# Application de workflow EFORMASPX

## Aperçu  <a href="#apercu" id="apercu"></a>

L’application de workflow **EFORMASPX** vous permet d’afficher et de remplir les différents champs de votre formulaire électronique à travers un formulaire Web. Un formulaire Web est un équivalent ASP.NET à un formulaire Windows. Il possède des caractéristiques similaires à un formulaire Windows.

## Paramètres obligatoires  <a href="#parametres-obligatoires" id="parametres-obligatoires"></a>

| Paramètre   | Type | Direction | Description                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ----------- | ---- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `FORM_DATA` | FILE | INOUT     | <p>Contient les données du formulaire en format XML, qui provient du dataset .NET (voir l’exemple ci-dessous). <br><br>WorkflowGen créera ce fichier à chaque soumission de formulaire. Vous n’avez pas besoin d’associer une valeur par défaut. WorkflowGen créera et mettra à jour ce fichier automatiquement.</p>                                                                                                                   |
| `FORM_URL`  | TEXT | IN        | <p>Utilisé pour afficher le formulaire ASP.NET rempli avec les données saisies par les différents acteurs lors de l’exécution du processus, ou avec des valeurs par défaut définies lors de la création du processus<br></p><p>Il doit contenir le chemin / l'emplacement du formulaire vierge qui peut être stocké dans les données de processus ou associé directement à ce paramètre, et peut être un chemin absolu ou relatif.</p> |

#### 📌 Exemple de `FORM_DATA`

Un fichier XML `FormData.xml` contenant :

```markup
<?xml version="1.0" encoding="UTF-8" ?>
    <NewDataSet>
        <Table1 />
    </NewDataSet>
```

#### 📌 Exemple de `FORM_URL`

`/wfgen/WfApps/WebForms/MyFirstWebForm/v1/Form.aspx`

## Utilisation des paramètres supplémentaires  <a href="#utilisation-des-parametres-supplementaires" id="utilisation-des-parametres-supplementaires"></a>

### Initialisation des champs

Vous pouvez définir des valeurs par défaut pour les différents champs du formulaire Web qui seront appliqués à l’exécution du processus. Vous devez ajouter autant de paramètres IN ou INOUT que nécessaires associés à une donnée du processus spécifiques, une valeur de texte libre ou une macro.

#### 📌 Exemple

* **Règle :** Afficher le nom du demandeur dans le champ `REQ_NAME`
  * **Méthode :** Associer le nom du champ du formulaire à la macro `Demandeur.Nom`

### Capture des valeurs des champs

Vous pouvez récupérer les valeurs des champs du formulaire Web dans une donnée du processus en utilisant des paramètres OUT ou INOUT.

Par exemple, vous devez définir un paramètre OUT pour récupérer la décision du validateur du formulaire. Ce paramètre associe un nom de champ du formulaire à une donnée du processus qui a déjà été définie.

{% hint style="info" %}

* Des données peuvent seulement être employées pour stocker seulement une valeur de champ par action.<br>
* À partir de la version 7.15.0 de WorkflowGen, les données de processus de type TEXT n'ont plus de limite de 4 000 caractères pour la base de données MS SQL Server.
  {% endhint %}

#### 📌 Exemple

* **Règle :** Capturer la réponse du gestionnaire dans une donnée de processus `MGR_DECISION`
  * **Méthode :** Associer le nom du champ du formulaire avec des données de processus pré-définies

## Paramètres supplémentaires modifiant les propriétés des champs du formulaire  <a href="#parametres-supplementaires-modifiant-les-proprietes-des-champs-du-formulaire" id="parametres-supplementaires-modifiant-les-proprietes-des-champs-du-formulaire"></a>

### Aperçu

Vous pouvez contrôler les propriétés obligatoires, lecture seule et caché des champs HTML depuis les paramètres des actions EFORMASPX. Les données des paramètres doivent être définies dans une liste de champs afin d’inclure ou exclure séparées par une virgule (`,`) ou un point-virgule (`;`). Cette liste comprend les caractères génériques (`*`) ou d’exclusion (`^`). Il est aisé de définir les propriétés des champs en fonction de l’action actuelle si on applique une convention de nommage stricte.

### Liste des paramètres disponibles

| Paramètre              | Type | Direction | Description                       |
| ---------------------- | ---- | --------- | --------------------------------- |
| `FORM_FIELDS_READONLY` | TEXT | IN        | Liste des champs en lecture seule |
| `FORM_FIELDS_REQUIRED` | TEXT | IN        | Liste des champs obligatoires     |
| `FORM_FIELDS_HIDDEN`   | TEXT | IN        | Liste des champs cachés           |

### Exemples d’utilisation

* **Règle :** Les champs `EMP_NAME` et `EMP_DATE` sont obligatoires
  * **Méthode :** `FORM_FIELDS_REQUIRED = EMP_NAME, EMP_DATE` <br>
* **Règle :** Tous les champs sont définis en lecture seule sauf les champs dont le nom commence par `EMP_`&#x20;
  * **Méthode :** `FORM_FIELDS_READONLY = *, ^EMP_*` <br>
* **Règle :** Tous les champs sont définis comme visibles sauf le champ `DATE` et les champs dont le nom commence par `SUP_` et finit par `_APP`&#x20;
  * **Méthode :** `FORM_FIELDS_HIDDEN = ^*, DATE, SUP_*_APP`

## Le paramètre supplémentaire `FORM_ARCHIVE`  <a href="#parametre-supplementaire_form_archive" id="parametre-supplementaire_form_archive"></a>

### Aperçu

C’est une manière de récupérer une copie statique du formulaire afin de la visualiser, imprimer ou envoyer par email sans avoir besoin d’exécuter le code du formulaire Web.

### Paramètre

Copie statique HTML du formulaire ASP.NET (OUT) : `FORM_ARCHIVE`

La valeur du nom du fichier doit être définie dans le fichier XML initial de cette manière :

`<FORM_ARCHIVE>form_archive.htm</FORM_ARCHIVE>`

Le dataset doit également posséder un champ nommé `FORM_ARCHIVE`.

WorkflowGen manipule cette copie statique et ainsi aucun travail supplémentaire ne doit être effectué par les développeurs du processus ou du formulaire.

### Mode de fonctionnement

Quand le formulaire Web est soumis par l’utilisateur, l’application EFORMASPX crée une copie statique du formulaire dans le répertoire WorkflowGen. WorkflowGen associe ensuite cette copie statique au paramètre `FORM_ARCHIVE`.

Le concepteur de processus doit :

1. Créer une donnée de processus pour stocker la copie statique du formulaire générée par WorkflowGen.<br>
2. Associer cette donnée au paramètre OUT nommé `FORM_ARCHIVE`.
