Requisito Utente
Tramite la selezione di un tasto nella sezione Requisiti deve comparire una finestra che elenca i profili dell'utente corrente.
Soluzione Proposta
Creazione di un tasto personalizzato nella toolbar dei Requisiti con icona "omino" che se selezionato richiama funzione che ritorna l'elenco dei profili utente tramite una msgbox.
____________________________________________________________________________
Implementazione sul Prodotto
Si rimanda alla spiegazione su come creare un pulsante che potete trovare nella sezione "Toolbar Button Editor" sotto WorkFlow Script Editor .
Supponiamo che il nome della Action associata al pulsante sia actUserGroupList, effettueremo queste operazioni:
1. Richiamo Sub della sezione Requisiti
Function ActionCanExecute(ActionName)
On Error Resume Next
Dim Res
Res = True
if ActionName = "actUserGroupList" then
Req_UserGroupList
end if
ActionCanExecute = Res
On Error Goto 0
End Function
2. Sub principale sezione Requisiti
Sub Req_UserGroupList
On Error Resume Next
Dim XmsgX, strElenco, arrElenco
XmsgX = "Elenco Profili Utente" & vbNewLine & vbNewLine
strElenco = Req_ElencoProfili
'strElenco sarà una variabile che sarà così strutturata
'NomeProfilo1||NomeProfilo2||...||NomeProfiloN
'Creo un array splittando la variabile sui caratteri pipe ("||") se esistono.
if instr(strElenco, "||") > 0 then
arrElenco = split(strElenco, "||")
for i = 0 to Ubound(arrElenco) - 1
XmsgX = XmsgX & arrElenco(i) & vbNewLine
next
else
XmsgX = XmsgX & strElenco & vbNewLine
end if
msgbox XmsgX, vbSystemModal + vbInformation, "Quality Center"
On Error Goto 0
End Sub
3. Funzione che ritorna l'elenco dei profili utente
Function Req_ElencoProfili
On Error Resume Next
Dim Res, thisUsr, theGrList
Res = ""
set thisUsr = TDConnection.Customization.Users.User(User.UserName)
set theGrList = thisUsr.GroupsList
for i=1 to thGrList.Count
Res = Res & i & ". " & thGrList.Item(i).Name & "||"
next
'Tolgo gli ultimi 2 pipe
Res = left(Res, len(Res)-2)
'Ritorno il risultato alla funzione
Req_ElencoProfili = Res
On Error Goto 0
End Function
Il risultato sarà una cosa simile a questa: