Bonjour,
Je souhaite activer/désactiver les FAA (excel,word et xml) sur
l'ensemble des tables de mon application en fonction de l'autorisation
de l'utilisateur (Boooleen FaaAutorise).
J'ai pensé à un moyen qui consiste à appeler une procédure globale
(ActionFAA) à l'initialisation de chaque table et liste du type
suivant:
ActionFAA(MaFenêtre..Nom+"."+MoiMême..Nom)
.
.
.
fonction ActionFAA(NomDeLaTable)
si FaaAutorise alors
ExécuteFAA(NomDeLaTable,faaTableVersExcel)
ExécuteFAA(NomDeLaTable,faaTableVersWord)
ExécuteFAA(NomDeLaTable,faaTableVersXML)
sinon
DésactiveFAA(NomDeLaTable,faaTableVersExcel)
DésactiveFAA(NomDeLaTable,faaTableVersWord)
DésactiveFAA(NomDeLaTable,faaTableVersXML)
fin
Ce qui me gène, c'est qu'il s'agit d'une très grosse application et que
de passer l'ensemble de mes fenêtres, récupérer le nom de la fenetre et
du champ table puis écrire l'appel à la fonction est une opération
longue.
Quelqu'un connait-il un moyen plus simple ?
Merci pour vos suggestions.
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
(enlever nospam.)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal F
Eric Laurent a présenté l'énoncé suivant :
Bonjour, Je souhaite activer/désactiver les FAA (excel,word et xml) sur l'ensemble des tables de mon application en fonction de l'autorisation de l'utilisateur (Boooleen FaaAutorise). J'ai pensé à un moyen qui consiste à appeler une procédure globale (ActionFAA) à l'initialisation de chaque table et liste du type suivant:
ActionFAA(MaFenêtre..Nom+"."+MoiMême..Nom) . . . fonction ActionFAA(NomDeLaTable)
si FaaAutorise alors ExécuteFAA(NomDeLaTable,faaTableVersExcel) ExécuteFAA(NomDeLaTable,faaTableVersWord) ExécuteFAA(NomDeLaTable,faaTableVersXML) sinon DésactiveFAA(NomDeLaTable,faaTableVersExcel) DésactiveFAA(NomDeLaTable,faaTableVersWord) DésactiveFAA(NomDeLaTable,faaTableVersXML) fin
Ce qui me gène, c'est qu'il s'agit d'une très grosse application et que de passer l'ensemble de mes fenêtres, récupérer le nom de la fenetre et du champ table puis écrire l'appel à la fonction est une opération longue.
Quelqu'un connait-il un moyen plus simple ?
Merci pour vos suggestions.
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
-- Pascal
Ne garder que le prénom pour me joindre
Eric Laurent a présenté l'énoncé suivant :
Bonjour,
Je souhaite activer/désactiver les FAA (excel,word et xml) sur l'ensemble des tables de mon application en fonction de
l'autorisation de l'utilisateur (Boooleen FaaAutorise).
J'ai pensé à un moyen qui consiste à appeler une procédure globale (ActionFAA) à l'initialisation de chaque table et liste du
type suivant:
ActionFAA(MaFenêtre..Nom+"."+MoiMême..Nom)
.
.
.
fonction ActionFAA(NomDeLaTable)
si FaaAutorise alors
ExécuteFAA(NomDeLaTable,faaTableVersExcel)
ExécuteFAA(NomDeLaTable,faaTableVersWord)
ExécuteFAA(NomDeLaTable,faaTableVersXML)
sinon
DésactiveFAA(NomDeLaTable,faaTableVersExcel)
DésactiveFAA(NomDeLaTable,faaTableVersWord)
DésactiveFAA(NomDeLaTable,faaTableVersXML)
fin
Ce qui me gène, c'est qu'il s'agit d'une très grosse application et que de passer l'ensemble de mes fenêtres, récupérer le nom
de la fenetre et du champ table puis écrire l'appel à la fonction est une opération longue.
Quelqu'un connait-il un moyen plus simple ?
Merci pour vos suggestions.
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration).
Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA.
Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre
Bonjour, Je souhaite activer/désactiver les FAA (excel,word et xml) sur l'ensemble des tables de mon application en fonction de l'autorisation de l'utilisateur (Boooleen FaaAutorise). J'ai pensé à un moyen qui consiste à appeler une procédure globale (ActionFAA) à l'initialisation de chaque table et liste du type suivant:
ActionFAA(MaFenêtre..Nom+"."+MoiMême..Nom) . . . fonction ActionFAA(NomDeLaTable)
si FaaAutorise alors ExécuteFAA(NomDeLaTable,faaTableVersExcel) ExécuteFAA(NomDeLaTable,faaTableVersWord) ExécuteFAA(NomDeLaTable,faaTableVersXML) sinon DésactiveFAA(NomDeLaTable,faaTableVersExcel) DésactiveFAA(NomDeLaTable,faaTableVersWord) DésactiveFAA(NomDeLaTable,faaTableVersXML) fin
Ce qui me gène, c'est qu'il s'agit d'une très grosse application et que de passer l'ensemble de mes fenêtres, récupérer le nom de la fenetre et du champ table puis écrire l'appel à la fonction est une opération longue.
Quelqu'un connait-il un moyen plus simple ?
Merci pour vos suggestions.
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
-- Pascal
Ne garder que le prénom pour me joindre
Eric Laurent
Pascal F a utilisé son clavier pour écrire :
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
Merci, ton idée est interressante. Il y a quand même un souci: Comment savoir si un champ est une table ou une liste (équivalent de Typevar pour les champs) ?
-- Eric Laurent
(enlever nospam.)
Pascal F a utilisé son clavier pour écrire :
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la
déclaration).
Dans la fonction énumération des objets de la fenetre. Si l'objet est une
table, tu appelle la fonction ActionAA.
Attention de faire ta fonction récursive sur les onglets et autres
conteneurs.
A tester.
Merci, ton idée est interressante.
Il y a quand même un souci:
Comment savoir si un champ est une table ou une liste (équivalent de
Typevar pour les champs) ?
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
(enlever nospam.)
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
Merci, ton idée est interressante. Il y a quand même un souci: Comment savoir si un champ est une table ou une liste (équivalent de Typevar pour les champs) ?
-- Eric Laurent
(enlever nospam.)
Pascal F
Eric Laurent a formulé la demande :
Pascal F a utilisé son clavier pour écrire :
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
Merci, ton idée est interressante. Il y a quand même un souci: Comment savoir si un champ est une table ou une liste (équivalent de Typevar pour les champs) ?
SI {ChampCourant,indChamp}..type=typTable alors ActionFAA({ChampCourant,indChamp}..NomComplet) FIN
-- Pascal
Ne garder que le prénom pour me joindre
Eric Laurent a formulé la demande :
Pascal F a utilisé son clavier pour écrire :
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration).
Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA.
Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
Merci, ton idée est interressante.
Il y a quand même un souci:
Comment savoir si un champ est une table ou une liste (équivalent de Typevar pour les champs) ?
SI {ChampCourant,indChamp}..type=typTable alors
ActionFAA({ChampCourant,indChamp}..NomComplet)
FIN
--
Pascal
N0.pascal.SPAM@efpe.biz
Ne garder que le prénom pour me joindre
Je ferai une procédure globale, appelée dans l'init de la fenetre (pas la déclaration). Dans la fonction énumération des objets de la fenetre. Si l'objet est une table, tu appelle la fonction ActionAA. Attention de faire ta fonction récursive sur les onglets et autres conteneurs.
A tester.
Merci, ton idée est interressante. Il y a quand même un souci: Comment savoir si un champ est une table ou une liste (équivalent de Typevar pour les champs) ?
SI {ChampCourant,indChamp}..type=typTable alors ActionFAA({ChampCourant,indChamp}..NomComplet) FIN
-- Pascal
Ne garder que le prénom pour me joindre
Eric Laurent
Pascal F a exposé le 12/01/2006 :
SI {ChampCourant,indChamp}..type=typTable alors ActionFAA({ChampCourant,indChamp}..NomComplet) FIN
Impeccable ! Un grand merci à toi Pascal.
-- Eric Laurent
(enlever nospam.)
Pascal F a exposé le 12/01/2006 :
SI {ChampCourant,indChamp}..type=typTable alors
ActionFAA({ChampCourant,indChamp}..NomComplet)
FIN
Impeccable !
Un grand merci à toi Pascal.
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
(enlever nospam.)
TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS SI FaaAutorise ALORS ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) SINON DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) FIN FIN
indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) FIN
-- Eric Laurent
(enlever nospam.)
Le 12/01/2006, Pascal F a supposé :
Je pense que je vais m'en servir aussi :oÞ
Alors voici la fonction toute faite:
Appel de la procédure dans l'initialisation de la fenêtre:
TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type
SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS
SI FaaAutorise ALORS
ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel)
ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord)
ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML)
SINON
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel)
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord)
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML)
FIN
FIN
indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC)
FIN
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
(enlever nospam.)
TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS SI FaaAutorise ALORS ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) ExécuteFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) SINON DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) FIN FIN
indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) FIN
-- Eric Laurent
(enlever nospam.)
Eric Laurent
Eric Laurent vient de nous annoncer : ATTENTION !! Il y a un problème avec la fonction ExécuteFAA. En effet, cette fonction exécute le code de la FAA, elle n'active pas le menu. La procédure devient donc:
PROCEDURE ActionsurFAA(NomDeLaFenetre)
indC est entier FNomChamp est une chaîne TypeDeChamp est un entier
indC=1; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) TANTQUE FNomChamp<>"" TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS SI PAS DroitFaa ALORS DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) FIN FIN indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) FIN
-- Eric Laurent
(enlever nospam.)
Eric Laurent vient de nous annoncer :
ATTENTION !!
Il y a un problème avec la fonction ExécuteFAA.
En effet, cette fonction exécute le code de la FAA, elle n'active pas le menu.
La procédure devient donc:
PROCEDURE ActionsurFAA(NomDeLaFenetre)
indC est entier
FNomChamp est une chaîne
TypeDeChamp est un entier
indC=1; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC)
TANTQUE FNomChamp<>""
TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type
SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS
SI PAS DroitFaa ALORS
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel)
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord)
DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML)
FIN
FIN
indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC)
FIN
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
(enlever nospam.)
Eric Laurent vient de nous annoncer : ATTENTION !! Il y a un problème avec la fonction ExécuteFAA. En effet, cette fonction exécute le code de la FAA, elle n'active pas le menu. La procédure devient donc:
PROCEDURE ActionsurFAA(NomDeLaFenetre)
indC est entier FNomChamp est une chaîne TypeDeChamp est un entier
indC=1; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) TANTQUE FNomChamp<>"" TypeDeChamp={NomDeLaFenetre+"."+FNomChamp}..Type SI TypeDeChamp=typTable OU TypeDeChamp=typListe ALORS SI PAS DroitFaa ALORS DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersExcel) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersWord) DésactiveFAA({NomDeLaFenetre+"."+FNomChamp},faaTableVersXML) FIN FIN indC++; FNomChamp = EnumèreChamp(NomDeLaFenetre, indC) FIN