Você está na página 1de 4

Funções para obtenção de informações dos usuário

Protheus

PswOrder(nOrder) = Seta a ordem de pesquisa:

nOrder

Ordem Chave
1 ID
2 Nome
3 Senha
4 E-Mail ( ainda não implementado )

PswSeek(cSeek,lUser) = Faz a pesquisa retornando .T. ou .F.

cSeek = String a ser procurada

lUser

Conteúdo Descrição
.T. Pesquisa usuário ( padrão )
.F. Pesquisa grupos

PswRet(nReg) = Retorna vetor com informações do usuário /


grupo

nReg

Conteúdo Descrição
NIL Todos os registros
1 1º Registro
2 2º Registro
3 3º Registro

Vetor com configurações do administrador

Registro Elemento Tipo Tamanho


1 Senha mestra C 6
2 Número de erros N 1
3 Número de senhas a guardar N 2
4 Uso do nome para verificação da senha L 1
5 Tamanho da senha N 1
6 Bloqueio L 1
Vetor com configurações dos grupos

Registro Elemento Tipo Tamanho


1
1 ID C 6
2 Nome C 20
3 Vetor com horários de acesso A
4 Data de validade D 8
5 Quantas vezes para expirar N 4
6 Autorizado a alterar a senha L 1
7 Idioma N 1
8 Diretório C 100
9 Impressora C
10 Acessos C 512
11 Vetor com empresas A
12 Data da última alteração D 8
13 Tipo de impressão N 1
14 Formato N 1
15 Ambiente N 1
16 Opção de Impressão C
2
Modulo + Nível + Menu C
Vetor com configurações dos usuários

Registro Elemento Tipo Tamanho


1
1 ID C 6
2 Nome C 15
3 Senha C 6
4 Nome completo C 30
5 Vetor com “n” últimas senhas A
6 Data de validade D 8
7 Quantas vezes para expirar N 4
8 Autorizado a alterar a senha L 1
9 Alterar senha no próximo logon L 1
10 Vetor com os grupos A
11 ID do superior C 6
12 Departamento C 30
13 Cargo C 30
14 E-mail C 30
15 Número de acessos simultâneos N 4
16 Data da última alteração D 8
17 Usuário bloqueado L 1
18 Número de digitos para o ano N 1
2
1 Vetor com horários de acesso A
2 Idioma N 1
3 Diretório C 100
4 Impressora C
5 Acessos C 512
6 Vetor com empresas A
7 Ponto de entrada C 10
8 Tipo de impressão N 1
9 Formato N 1
10 Ambiente N 1
11 Prioridade p/ config. Do grupo L 1
12 Opção de impressão C
3
Modulo + Nível + Menu C
Exemplo de utilização

_NomeUser := substr(cUsuario,7,15)

// Defino a ordem
PswOrder(2) // Ordem de nome

// Efetuo a pesquisa, definindo se pesquiso usuário ou grupo


If PswSeek(_NomeUser,.T.)

// Obtenho o resultado conforme vetor


_aRetUser := PswRet(1)

_cDepto := upper(alltrim(_aRetUser[1,12]))

EndIf

Você também pode gostar