Message Form lié à une liste déroulante dans un formulaire DriveWorks Pro.

Bonjour à tou(te)s,

Je n'arrive pas à faire fonctionner un "Message Form" pour bloquer un formulaire DriveWorks en pilotant la propriété "Error Result" sur une liste déroulante (Combo Box). La règle sur la propriété fonctionne bien mais aucun message n'apparaît dans le formulaire à l'exécution d'une spécification. Je cherche à afficher un message si ma liste déroulante renvoi une valeur nulle.

Pourtant j'arrive très bien à mettre en place cette fonctionnalité sur une Text Box...

Quelqu'un a-t-il deja rencontré le problème ou est parvenu à paramétrer correctement une Combo Box pour bloquer un formulaire ?

Merci de vos retours.

JFB 

Hello !

A dire vrai je n'ai jamais trop réussi a les faire fonctionner, je n'ai jamais cherché non plus a les faire fonctionner pour une raison toute simple, ces messages d'erreur apparaissent dans la "Task List" en bas de tes projets Si tu les actives et qu'ils sont visibles ...

Vue la beauté de l'interface eux ... Voila !

Pour contrer ce phénomène n'hésite pas à :

Placer un label a coté de de ta combo-box

=> Text :if(IsEmpty(MaListReturn), "Ma Liste ne Renvoi RIEN !!! ERREUR", "")

Le fait de conditionner des labels, tes forms et un peu tout ton formulaire te permettra de mieux interfacer tes projets, 


interface.drivepkg
1 « J'aime »

Sans plus de détail, je vais rester sur les bases du fonctionnement de cette propriété:

 

La propriété error result possède deux fonctionnements.

Dans tous les cas, si le résultat de cette règle est vide, il n’y a pas de problème et aucun message n’apparaît dans la « Task List ».

Le premier fonctionnement, qui est assez évident, est celui que vous semblez avoir utilisé pour vos TextBox. Si le résultat de la règle error result est un texte, celui-ci est utilisé comme message dans la Task List pour signaler le « problème ».

 

Le second est plus souvent méconnu. Si le résultat de la règle error result est un nombre, celui-ci fait alors référence à un message prédéfini dans les règles « Form Messages ».

Ces règles sont dans le Stage 2 : User Interface/ Form Messages.

 

En raison de cette particularité, si le résultat de la règle est égal à zéro, elle se comportera comme si elle était vide.

Donc lorsque vous évoquer une valeur nulle, qu'il s'agisse d'un zéro ou d'une valeur vide (null en anglais), cela pourrait expliquer l'absence de message.

 

Je vois encore une autre possibilité qui pourrait expliquer l'absence de message.

Si la liste déroulante est dans une autre Form que celui actuellement affichée (plusieurs Formulaires).

Il est alors possible d'afficher la liste déroulante grâce à un Frame control pointant vers le Form Control ou est située la liste.

Dans ce cas particulier, les messages générés par les contrôles vus "à travers" un form control ne sont actuellement* pas visibles lors de l’exécution de la specification.

* c'est le cas jusqu'en V17. Des demandes d'amélioration ont déjà été envoyées à l'éditeur pour lever cette limitation.

 

Si ces explications ne suffisent pas à trouver une solution, j'ai ouvert un ticket de support en parallèle pour traiter cette question.
Il ne faudra cependant pas hésiter à poster la réponse finale dans le forum pour en faire profiter tout le monde :)

1 « J'aime »

Merci de vos réponses,

Effectivement comme l'explique M. DEMUYNCK, la propriété "Error Result" d'un contrôle ne peut pas (pour le moment en tout cas) être vue et fonctionner depuis un formulaire "principal" si le contrôle se trouve sur un formulaire "secondaire" affiché via un "Frame Control".

Ce qui est mon cas actuellement.

Si je déplace ma "Combo Box" sur mon formulaire "principal", cela fonctionne très bien, si je la remet sur mon formulaire "secondaire" cela ne fonctionne plus.

Je pense palier à ça en mettant des règles sur conditions dans les transitions du "Specification Flow" pour bloquer certains boutons ou non en fonction des valeurs renvoyées depuis mes contrôles ou mes variables.

Cordialement.

J.F.B.