Mercator 10.10 ou ultérieur permet de forcer l'utilisateur à saisir une valeur dans une zone, ceci sans devoir placer aucun code sur mesure. Cela s'applique
- aux fiches des signalétiques,
- aux pieds de vente et achat de la gestion commerciale,
- aux pieds des écritures comptables,
- aux pieds des transferts de dépôts et inventaires,
- aux actions du CRM
et est applicable à ces objets :
- TextBox
- HtmlBox
- CheckBox - pour cet objet, cela contraint l'utilisateur à cocher la case à cocher
- ComboBox
- ListBox
- PictureBox
- RatingStars
Cette caractéristique (mandatory) se fixe au niveau du paramétrage de l'écran correspondant, via les propriétés DeptMandatory et/ou NiveauMandatory.
DeptMandatory : liste des départements pour lesquels la saisie de la zone est obligatoire. Si le département est vide, le contrôle sur base du département n'est pas effectué.
NiveauMandatory : niveau du profil utilisateur jusqu'auquel l'utilisateur est contraint de saisir une valeur. Donc, si niveau utilisateur <= niveauMandatory, la zone est obligatoire. Le contrôle n'est jamais effectué si niveauMandatory = 0. Le contrôle est toujours effectué si niveauMandatory = 99.
Les deux conditions reprises ci-dessus sont reliées par un OU.
En d'autres termes, la zone est obligatoire si cette condition est remplie :
((deptMandatory<> '') and (l'utilisateur appartient à un de ces départements))
OR
((niveauMandatory <> 0) and (niveau utilisateur <= niveauMandatory))
Si l'utilisateur omet de compléter une zone devenue ainsi obligatoire, alors il reçoit ce message :
La zone "XXXXXX" est obligatoire !
où XXXXXX est remplacé, dans cet ordre, par :
- le texte du label précédent dans le paramétrage, si ce label a le même parent et un tabIndex égal au tabIndex de la zone contrôlée - 1;
- la description de la colonne SQL associée à cette zone;
- le nom de la colonne SQL associée à cette zone.