Renvoyer la liste des personnes avec un Role précis

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Renvoyer la liste des personnes avec un Role précis

Messagepar Sylvie35 » 19 Avr 2012 à 13:54

Bonjour à Tous,

Après beaucoup de tests infructueux, je me
Je suis à la recherche d'une Formule permettant de renvoyer dans un champ de type Nom, le liste des personnes ayant un Role précis.
Exemple : 3 personnes Toto, Titi et Tata ayant accès à une base documentaire ont le rôle [Responsable]
En créant un nouveau document dans la base, avec un champ de type Nom calculé, celui-ci devra afficher Toto, Titi, Tata

j'ai cherché avec @username, @userrole, @list, @explode, @nameslookup, @name, mais sans succès...

Est-ce que quelqu'un a une idée ?

Merci d'avance.
Sylvie35
Sylvie35
 

Re: Renvoyer la liste des personnes avec un Role précis

Messagepar Michael DELIQUE » 19 Avr 2012 à 13:56

Salut

pas possible en formule, en formule tu ne peux avoir que les roles de l'utilisateur courant. par contre en LS sans probleme (mais avec du dev)
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Renvoyer la liste des personnes avec un Role précis

Messagepar Michael DELIQUE » 19 Avr 2012 à 13:58

un exemple

Code : Tout sélectionner
Function ACLAccesRole(wDB As NotesDatabase,wRole As String) As Variant
   
   REM renvois la liste de tous les utilisateurs ou groupe ayant un role
   
   Dim DBCible As NotesDatabase
   Dim ACL As NotesACL
   Dim ACLEntry As NotesACLEntry
   Dim lstValue List As String
   Dim nbUser As Integer
   Dim nmUser As NotesName
   Dim Role As String
   
   On Error GoTo ErreurHandle
   
   ACLAccesRole = Null
   
   If Trim(wRole) = "" Then
      Exit Function
   End If
   
   If Left(Trim(wRole),1) = "[" Then
      Role = wRole
   Else
      Role = "["+wRole
   End If
   
   If Right(Trim(wRole),1) <> "]" Then
      Role = Role+"]"
   End If
   
   If Session Is Nothing Then
      Set Session = New NotesSession
   End If
   
   If wDB Is Nothing Then
      Set DBCible = Session.CurrentDatabase
   Else
      Set DBCible = wDB
   End If
   
   Set ACL = DBCible.ACL
   If ACL Is Nothing Then
      Error 9999,"ACL is Nothing"
      Exit Function
   End If
   
   nbUser = 0
   
   Set ACLEntry = ACL.getfirstEntry
   While Not ACLEntry Is Nothing
      ForAll ValueRole In ACLEntry.Roles
         If Trim(CStr(ValueRole)) <> "" Then
            If ACLEntry.IsGroup  =True Or ACLEntry.IsPerson = True Then
               If UCase(Trim(Role)) = UCase(Trim(CStr(ValueRole))) Then
                  Set nmUser = New NotesName(ACLEntry.Name)
                  lstValue(nbUser) = CStr(nmUser.Canonical)
                  Set nmUser = Nothing
                  nbUser = nbUser+1
               End If
            End If
         End If
      End ForAll
      Set ACLEntry = ACL.getNextEntry(ACLEntry)
   Wend
   
   Set ACL = Nothing
   Set DBCible = Nothing
   
   If nbUser > 0 Then
      ACLAccesRole = lstValue
      Erase lstValue
   End If
   
   Exit Function
ErreurHandle:
   MsgBox "("+Structure_Log+" : "+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   ACLAccesRole = Null
   Exit Function
End Function
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Renvoyer la liste des personnes avec un Role précis

Messagepar Sylvie35 » 19 Avr 2012 à 15:47

Merci pour la réponse.
Sylvie35
 


Retour vers Développement