Conditionner le caractère obligatoire d’un champ

Il est facile dans le Moovapps Studio Process (outil de conception des flux de travail) de rajouter des champs obligatoires sur un formulaire. Il est souvent demandé de rendre un champ obligatoire uniquement si certaines conditions métiers sont respectées. Cette option n’est pas présente dans le produit, mais une astuce de conception permet d’atteindre ce résultat.

Edition du formulaire

Dans notre cas, sur un formulaire d’annonce d’absence, on souhaiterait que l’utilisateur puisse télécharger des justificatifs dans un champ pièces-jointes. Dans le cas d’une annonce maladie, ce champ doit devenir obligatoire.

L’astuce consiste en fait à insérer deux fois le même champ dans le formulaire :

  • Une fois avec la propriété « Obligatoire » de cochée
  • Une fois avec la propriété « Obligatoire » de décochée

 

Il s’agit ensuite de créer deux fragments, et de déposer un champ par fragment. Nous créerons donc un fragment pour le champ obligatoire, et un fragment pour le champ facultatif.

 

Ensuite, nous allons conditionner l’affichage de ces deux fragments avec une formule. Cette formule sera donc en charge de tester la condition métier souhaitée.

Les deux formules sur les deux fragments doivent être antagonistes, afin qu’une seule formule retourne la valeur TRUE à la fois.

 

 Dans notre exemple, nous utiliserons les deux formules suivantes :

 

Fragment avec champ non obligatoire HOLIDAYS_TABLE_VACATION_TYPE.sys_Title <> “Sick leave”
Fragment avec champ obligatoire HOLIDAYS_TABLE_VACATION_TYPE.value.sys_Title = “Sick leave”

Rendu

Désormais, si vous affichez votre formulaire, le champ sera soit obligatoire, soit facultatif, en fonction de la condition métier testée. Dès qu’un nouvel élément est sélectionné dans la liste, la formule sera réévaluée, et votre formulaire sera donc dynamique.

 

Auteur de l'article

Thomas Paumier, Business Consultant Manager chez Visiativ Solutions Switzerland

S'abonner à la newsletter