Gestion de formulaires sous UiPath
Introduction
Vous l’avez remarqué et sans doute aussi déploré, jusqu’à présent, nos saisies de données se sont toujours faites par l’utilisation de l’activité UiPath.Core.Activities.InputDialog.
Cette solution est assez rudimentaire même s’il est tout de même envisageable d’effectuer des contrôles de saisie en utilisant :
-
l’activité de contrôle conditionnel System.Activities.Statements.If ;
-
ou l’activité itérative UiPath.Core.Activities.InterruptibleWhile (boucle Pendant) ;
-
ou l’activité itérative UiPath.Core.Activities.InterruptibleDoWhile (boucle Faire Pendant).
Ce que l’on peut essentiellement reprocher à l’activité InputDialog est de ne pas permettre de saisie sur un même formulaire de plusieurs champs.
Il existe de multiples solutions pour contourner cette difficulté, notamment l’utilisation de la dépendance UiPath.Form.Activities.
Nous allons nous concentrer dans les trois premiers processus du chapitre sur l’utilisation de formulaires HTML pour saisir des données multiples dans nos applications UiPath. Il semblerait d’ailleurs que ce soit le choix désormais fait par une grande majorité de développeurs. Cette solution offre une très grande souplesse dans l’élaboration des formulaires....
Application « Formulaire basique »
1. Présentation de l’application
L’objectif de cette première application du chapitre est de proposer un formulaire basique pour saisir quatre données (nom, prénom, âge et genre) mais sans objectif pour le moment de réaliser l’ajout de l’enregistrement dans la table telle la table personnes de la base de données MySQL uipath comme cela a été vu dans le cadre du chapitre Interactions avec une BDD MySQL locale.
Jusqu’à présent la saisie s’était toujours effectuée au travers de l’activité InputDialog. L’inconvénient est de ne pas pouvoir avec cette activité regrouper sur un écran unique (formulaire) les quatre champs.
Pour réaliser une saisie sur un formulaire proposant des boîtes de dialogue pour les quatre champs et un bouton de validation, nous prendrons l’option d’utiliser un script HTML nommé formulaire_basique.html que nous stockerons dans le répertoire du projet UiPath lui-même. Ce script HTML pourrait tout à fait être placé sur un site web.
2. Application UiPath
Le workflow de ce processus UiPath est relativement conséquent, il est présenté avec la séquence Récupération des champs pliée ci-après :

La première activité du processus assure le chargement du formulaire HTML qui a été nommé formulaire_basique.html. Cette activité est de type UiPath.Core.Activities.CustomInput. Elle ne requiert pas d’installation de dépendance particulière.
Consultons-en les propriétés :

La propriété Entrée/URI désigne le chemin d’accès à notre formulaire HTML, un chemin local dans notre cas.
La propriété Sortie/Résultat mentionne la variable fluxJSON qui est une variable qui devra être déclarée dans le gestionnaire de données et ceci en type String.

Passons maintenant à l’étude du formulaire de saisie formulaire_basique.html qui a été écrit avec un éditeur de textes quelconque (Notepad++ dans notre cas) :
1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2. "http://www.w3.org/TR/html4/loose.dtd"> ...Application « Formulaire pour MySQL »
1. Présentation de l’application
L’objectif de cette seconde application va être d’étendre les fonctionnalités de l’application précédente.
L’enjeu est toujours de pouvoir saisir au travers d’un formulaire les champs nom, prenom, age et genre.
Les valeurs des quatre champs seront reportées dans la table personnes de la base de données uipath déjà rencontrée au chapitre Interactions avec une BDD MySQL locale.
Vous l’aviez aussi constaté dans l’application de la section Application « Formulaire basique », aucun contrôle n’avait été prévu (pas de contrôle de numéricité sur l’âge, pas de contrôle de la réponse au niveau du genre).
Toutes ces améliorations vont être intégrées dans la présente application.
2. Application UiPath
En réalité nous n’allons pas utiliser la table personnes mais une nouvelle table personnes_sports. Cette table a une structure assez proche de celle de la table personnes.
La structure de la table personnes_sports vous est donnée ci-après, vous pourrez exécuter le script SQL sous EasyPHP (ou sous tout autre environnement Windows-Apache-MySQL-PHP) :
CREATE TABLE IF NOT EXISTS `personnes_sports` (
`personne_id` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(20) DEFAULT NULL,
`prenom` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT '0',
`genre` varchar(1) DEFAULT NULL,
`sport_favori` char(20) NOT NULL,
`sports_pratiques` char(40) NOT NULL,
PRIMARY KEY (`personne_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
La table contient déjà quatre enregistrements (voir chapitre Interactions avec une BDD MySQL locale), vous pourrez les intégrer si vous le souhaitez via le script SQL ci-après :
INSERT INTO `personnes_sports` (`personne_id`, `nom`, `prenom`, `age`, `genre`, `sport_favori`, `sports_pratiques`) VALUES
(1, 'DURAND', 'Marc', 32, 'M', '', ''),
(2, 'DUVAL', 'Lucie', 30, 'F'...Application « Liste déroulante basée sur MySQL »
1. Présentation de l’application
Dans cette troisième application UiPath de type formulaire, les items d’une liste déroulante de choix d’un sport préféré seront extraits d’une table de données MySQL nommée sports intégrée dans la base de données MySQL uipath que nous connaissons déjà (cf. chapitre Interactions avec une BDD MySQL locale).
Dans ce processus, il ne s’agira pas de mettre en œuvre un véritable formulaire comme dans les sections Application « Formulaire basique » et Application « Formulaire pour MySQL ». Nous nous contenterons de proposer à l’utilisateur une liste déroulante permettant de choisir un sport préféré dans une liste alimentée par des items provenant d’une table d’une base de données, en l’occurrenc MySQL.
Ce sera aussi le cas, mais cette fois-ci, à partir de données Microsoft Excel dans la section Application « Liste déroulante basée sur Microsoft Excel ».
La structure de notre table MySQL est la suivante :
CREATE TABLE IF NOT EXISTS `sports` (
`libelle_sport` char(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Les données...
Application « Liste déroulante basée sur Microsoft Excel »
1. Présentation de l’application
Dans cette quatrième application UiPath de type formulaire, les items d’une liste déroulante de choix d’un sport préféré seront extraits d’une feuille de calcul nommée Sports d’un classeur Microsoft Excel Sports.xlsx. Les données sont stockées dans la première colonne de la feuille et un titre est placé en cellule A1.
Au lancement du projet UiPath, la liste déroulante sera mise à la disposition de l’utilisateur pour qu’il effectue son choix (sélection unique). Le choix réalisé sera confirmé par une fenêtre d’alerte.
Visualisons le contenu du classeur Microsoft Excel (présent dans le répertoire du processus UiPath) :

2. Application UiPath
Ce processus UiPath est très court et se limite à quelques activités dont le paramétrage est assez peu complexe :

Le processus est encapsulé dans une séquence nommée Choix d’un sport dans une liste déroulante.
Cette séquence intègre un environnement d’exploitation d’un classeur Microsoft Excel de type UiPath.Excel.Activities.Business.ExcelProcessScopeX qui, évidemment, requiert l’installation d’une dépendance...
Application « Saisie par formulaire UiPath »
1. Présentation de l’application
Dans cette dernière application UiPath, nous allons mettre en œuvre le puissant dispositif de gestion de formulaires intégré à UiPath Studio. Par contre, nous nous limiterons à une application relativement basique qui consistera à faire saisir à l’opérateur quatre champs concernant une personne : le nom, le prénom, l’âge et le genre.
Les trois premiers champs seront saisis au travers de zones de texte alors que le genre sera sélectionné dans une liste déroulante.
2. Application UiPath
Le workflow de ce processus (partiellement déployé) est assez simple :

La dépendance UiPath.Form.Activities devra être installée en début d’élaboration du processus UiPath :

L’installation de cette dépendance met à notre disposition un nombre important d’activités, dont celle servant à afficher un formulaire UiPath dans notre processus :

Consultons aussi immédiatement les variables mémoire requises par le processus en passant par le gestionnaire de données :

Une fois que l’activité Afficher le formulaire est placée sur l’espace de travail, un assistant nous invite à créer un nouveau formulaire ou à en utiliser un existant.

Donnons-lui le nom formulaireUiPath comme suit :

Vous remarquerez dès la création...
Pour aller plus loin
Dans la mesure où les possibilités offertes par le gestionnaire de formulaire intégré dans UiPath Studio n’ont été que partiellement étudiées, vous pourriez sur la base du processus ENI_UiPath_Formulaire_UiPath continuer votre exploration du sujet.