Page 1 sur 2

MessagePublié: 26 Juin 2007 à 15:44
par mike76
Salut,

Essaie d'utiliser le @IsMember("[Direction]";@UserRoles)

MessagePublié: 26 Juin 2007 à 15:46
par mike76
ou sinon mets directement "[Direction]" dans la formule

MessagePublié: 26 Juin 2007 à 16:15
par esolarc
Les deux solutions proposées fonctionnent mais surement pas @Contains cette fonction recherche si une chaine de caractères est contenue dans une autre or @UserRoles retourne une liste de chaines de caractères...

MessagePublié: 27 Juin 2007 à 08:53
par esolarc
Ca marche si tu n'as qu'un seule rôle par personne car dans ce cas une liste de un élément est bien une string ;-)

MessagePublié: 27 Juin 2007 à 09:37
par Michael DELIQUE
salut esolarc

je voudrais pas jouer les rabajoie mais tu es sur de toi ?

extrait de l'aide en ligne :

@Contains( chaîne ; sousChaîne )
Paramètres
chaîne
Texte ou liste de textes : chaîne(s) recherchée(s)
sousChaîne
Texte ou liste de textes : sous-chaîne(s) à rechercher dans la chaîne


tu confondrais pas avec @ismember par hasard ?

MessagePublié: 27 Juin 2007 à 17:05
par esolarc
Je comprends ton septissisme Michael, d'ailleurs j'ai fait un test pour confirmer mes dires car pour ma part je n'utilise jamais de @Contains et surtout pas une liste de valeurs potentiels mais bien @IsMember ou @IsNotmember, mais oui ca marche...

Crée une base vide, set l'option pour preéserver la cohérence des LCA si tu es en local, crée un rôle [Test], créer une action dans ta vue par défaut avec le code :
Code : Tout sélectionner
@Prompt([Ok]; "TEST"; @If( @Contains(@UserRoles;"[Test]"); "Vrai"; "Faux"));


Ne t'affecte pas le rôle et click sur l'action tu obtiendras "Faux"

Affecte toi le rôle et tu obtiendre "Vrai"

Mais bon c'est tout à fait déconseillé d'après moi, d'utiliser cette fonction si potentiellement on peut avoir autre chose qu'une string et donc comme dans le cas évoqué ou on a une liste de string.

MessagePublié: 27 Juin 2007 à 20:46
par Michael DELIQUE
re,

en local il faut cocher "LCA cohérente" pour que ça marche

et je suis sceptique car j'utilise @contains sur les listes depuis pas mal de temps...

MessagePublié: 27 Juin 2007 à 23:23
par esolarc
Septique en quoi ?

Effectivement ca marche avec @Contains, je l'utilise pas donc j'suis pas un spé du @contains :lol:

Mais pourquoi je l'utilise pas et bien comme je cherche toujours un élément exacte @ismember me va très bien, car il y a une belle différence entre @ismember et @contains.

@contains vous retourne oui si la chaine recherchée existe comme chaine ou partie de chaine or en l'occurance quand on test un rôle c'est le nom du rôle complet qu'on cherche donc à mon sens @ismember est plus approprié.

Avec @contains je trouve qu'on ne sait pas assez ce qu'on cherche et son utilise à tout va risque de générer des anomlies. Imaginez que vous faites une fonction qui cherchesi une liste contient un élément, par habitude vous utilisez @contains oui mais voila le contenu de votre liste évolue et le résultat risque de ne plus être exate alors qu'il le sera toujours avec @ismember.

Donc pour ma part je n'utilise @contains que si je cherche vraiment qu'un bout de chaine mais pas une chaine complète.

Mais ce n'est que mon avis.

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 20 Jan 2012 à 11:08
par vilasuadi
Bonjour,
Je suis débutant avec lotus designer (j'utilise la version 8.5).
Je voudrais créer des sections à accès contrôlé mais lorsque j'utilise ce code :

@IsMember("[Responsable]";@UserRoles)

j'obtiens l'erreur : Type de données incompatible.

Si j'utilise comme formule : "[Responsable]"
Pas d'erreur mais je peux modifier la section avec un utilisateur sans le rôle "Responsable".

Je ne connais le développement lotus que depuis quelques jours alors je suppose que j'ai fait une erreur quelques part.

Merci

Dimitri

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 20 Jan 2012 à 15:08
par vilasuadi
J'ai résolu mon problème. La LCA ne s'appliquait pas sur une base local. En créant une copie sur serveur, mon problème s'est réglé.
J'utilise la formule :"[rôle]", je n'ai pas réessayé l'autre formule.
Merci

Dimitri

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 20 Jan 2012 à 15:11
par Michael DELIQUE
re,

relis mon message un peu plus pour que les role fonctionnent en local il faut cocher lca cohérente

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 25 Jan 2012 à 11:05
par vilasuadi
Bonjour, je relance le sujet.

Dans mes formules d'accès, je veux contrôler le rôle de l'utilisateur et le remplissage d'un champ.
J'ai essayé plusieurs formules mais rien ne va. j'obtiens l'erreur :

champ : "nomSection" : Données numériques requises pour l'opérateur ou la fonction @

Voici les différentes formules :
Code : Tout sélectionner
"[role]" & monChamp
"[role]" & monChamp = NULL
"[role]" & @IsNull(monchamp)

Je ne comprend pas pourquoi puisque pour d'autre formule (ex : champ masqué) j'utilise le "&" et "@IsNull" sans problème.

merci

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 25 Jan 2012 à 11:11
par Michael DELIQUE
bon

tu mais encore des formules avec opérateur. tu dois passé uneliste de nom ou de roles

"[role1]":"[Role2]":"Martin dupond"

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 25 Jan 2012 à 11:17
par vilasuadi
merci michael, j'ai enfin compris.

Le terme "Formule d'accès" est trompeur puisque ce n'est pas une formule qu'il attend mais une liste de possibilité.

Encore merci pour tes conseils

Une question se pose, comment gérer la négation puisque la section ne doit être modifiable que si le champ précisé est vide ?

Re: Pb de formule d'accès pour une section à accès contrôlé

MessagePublié: 25 Jan 2012 à 13:33
par vilasuadi
re,

Maintenant que je sais ce qu'attend la formule d'accès, je sais comment mettre en place mon test sur mon champ.
Le problème est que ma formule ne retourne pas la liste que j’attends. J'ai essayé 2 formules :
Code : Tout sélectionner
@if(modifDemandeur="ok"; auteurDoc ; "[admin]")

@If(modifDemandeur="ok"; auteurDoc ; modifDemandeur="non ok" ; "[admin]";"[admin]")


Quand je visualise dans notes, tous les utilisateurs peuvent modifier la section, il n'y a aucune restriction.
une idée ?

merci