|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accéder aux champs d'un état depuis mon projet |
Débuté par Delphine, 23 mar. 2017 10:21 - 6 réponses |
| |
| | | |
|
| |
Membre enregistré 85 messages Popularité : +1 (1 vote) |
|
Posté le 23 mars 2017 - 10:21 |
Bonjour,
Je cherche à accéder aux champs d'un état afin notamment de savoir si l'état indiqué contient bien un libellé qui possède une valeur particulière.
Le compilateur ne m'indique pas d'erreur lorsque j'écris la ligne de code suivante :
SI ETAT_Test.DEBUT_DOCUMENT.LIB_Test = "Test" ALORS Info("Etat valide") SINON Info("Etat non conforme") FIN Mais à l'exécution, j'ai systématiquement l'erreur suivante :
Le champ 'ETAT_Test.DEBUT_DOCUMENT.LIB_Test' est inconnu.
Pourtant la complétion automatique de code me propose bien mon champ (l'état que je teste contient bien le champ concerné) et je n'ai pas d'erreur de compilation...
Savez-vous comment procéder ?
Merci d'avance pour votre aide.
Cordialement,
Delphine |
| |
| |
| | | |
|
| | |
| |
Posté le 23 mars 2017 - 12:23 |
Bonjour
le compilateur ne te mets pas d'erreur parce que c'est un code valide, et qu'il ne sait pas QUAND et OU tu vas l'appeler.
Par exemple, si tu l'appelle depuis un code de l'état, ca fonctionnera bien
-MAIS-
La logique du code d'un état est de n'exister QUE pendant la CREATION de celui ci (ce n'est pas une fenêtre qui reste ouverte). L'aperçu ne fait qu'afficher le résultat le RESULTAT de l'état. L'état n'existe déjà plus à ce moment la...
Donc, je ne sais pas QUAND tu essaye de faire ça, mais le résultat me parait cohérent
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 3/23/2017 à 4:21 AM, Delphine a écrit :
Bonjour, Je cherche à accéder aux champs d'un état afin notamment de savoir si l'état indiqué contient bien un libellé qui possède une valeur particulière. Le compilateur ne m'indique pas d'erreur lorsque j'écris la ligne de code suivante : SI ETAT_Test.DEBUT_DOCUMENT.LIB_Test = "Test" ALORS Info("Etat valide") SINON Info("Etat non conforme") FIN Mais à l'exécution, j'ai systématiquement l'erreur suivante : Le champ 'ETAT_Test.DEBUT_DOCUMENT.LIB_Test' est inconnu. Pourtant la complétion automatique de code me propose bien mon champ (l'état que je teste contient bien le champ concerné) et je n'ai pas d'erreur de compilation... Savez-vous comment procéder ? Merci d'avance pour votre aide. Cordialement, Delphine |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 85 messages Popularité : +1 (1 vote) |
|
Posté le 23 mars 2017 - 14:08 |
Bonjour Fabrice,
En fait je veux tester si mon état est un état autorisé avant de m'en servir (on laisse la possibilité d'avoir des états personnalisés mais je veux être sûre qu'ils sont conformes à mes attentes). Donc ce bout de code est appelé dans mon projet et non pas dans le code de mon état. Comment devrais-je procéder ?
Cordialement,
Delphine |
| |
| |
| | | |
|
| | |
| |
Posté le 23 mars 2017 - 15:32 |
Bonne question...
comment sont personnalisés les états ? Par les utilisateurs avec état et requête ?
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 3/23/2017 à 8:08 AM, Delphine a écrit :
Bonjour Fabrice,
En fait je veux tester si mon état est un état autorisé avant de m'en servir (on laisse la possibilité d'avoir des états personnalisés mais je veux être sûre qu'ils sont conformes à mes attentes). Donc ce bout de code est appelé dans mon projet et non pas dans le code de mon état. Comment devrais-je procéder ?
Cordialement,
Delphine |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 85 messages Popularité : +1 (1 vote) |
|
Posté le 23 mars 2017 - 16:22 |
Oui c'est ça
Cordialement,
Delphine |
| |
| |
| | | |
|
| | |
| |
Posté le 23 mars 2017 - 19:23 |
je n'utilise pas état et requete, donc ce que je vais dire ci-dessous est hypothétique...
Je sais que les utilisateurs peuvent changer beaucoup de chose, et je suppose donc qu'ils peuvent supprimer du code existant.
Donc, comme le seul code qui peut vérifier des éléments d'un rapport doit être DANS le rapport, si les utilisateurs peuvent le supprimer, tu as un problème...
Perso, j'essayerais de le résoudre de la façon suivante : - le code de vérification est dans une procédure globale - dans le code du rapport, la ou les éléments à vérifier sont présent, tu appelle la procédure globale - cette procédure globale, EN PLUS de faire la vérif, doit aussi être la seule capable de retourner certains éléments INDISPENSABLES du rapport (de manière que les utilisateurs ne puissent pas obtenir leur rapport s'ils suppriment l'appel) - la procédure en question étant appelé quand le rapport est déjà en cours d'impression ne peut PAS empêcher son édition, mais elle peut imprimer un gros "RAPPORT INCORRECT" par dessus en diagonale avec un imprimeMOT, par exemple.
A explorer, donc, ...
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 3/23/2017 à 10:22 AM, Delphine a écrit :
Oui c'est ça Cordialement, Delphine |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 85 messages Popularité : +1 (1 vote) |
|
Posté le 24 mars 2017 - 10:48 |
Bonjour Fabrice,
Je ne pensais pas que le code qui peut vérifier des éléments d'un état devait obligatoirement être dans l'état, du coup ça perturbe ce que je souhaitais faire.
Merci beaucoup pour ta suggestion que je vais étudier.
Cordialement,
Delphine |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|