Criando Regras no InfoPath de Acordo com o Usuário Logado

O InfoPath 2010 tem alguns recursos que permitem que usuários avançados façam configurações em seus formulários para exibir/ocultar campos conforme alguma regra existente em um formulário. Por exemplo, se o usuário logado for um, ele exibe alguns campos, se for outro, ele exibe outros campos.

Neste post vamos ver um exemplo de como configurar a exibição de conteúdo conforme o usuário logado, levando em consideração campos tipo usuário existentes no formulário. Este cenário poderia ser utilizando onde o processo tivesse 2 atores (ou mais) onde cada ator veria o formulário de uma forma diferente do outro e executasse ações distintas. O que ajudaria a orientar o usuário sobre o que ele precisa fazer e evitar que um faça ações em lugar do outro.

No post Publicando Formulário InfoPath no SharePoint 2010 (https://fabiangehrke.com.br/2011/06/11/publicando-formulrio-infopath-no-sharepoint/) vimos como criar um formulário no InfoPath e publicá-lo no SharePoint, ele será muito importante para podermos publicar o formulário no SharePoint para poder testar. Os detalhes tratados nesse artigo não serão discutidos aqui.

O primeiro passo é criar um formulário do tipo Biblioteca de Formulários SharePoint e adicionar os campos:

  • Arraste 2 campos do tipo pessoa da caixa de controles para o formulário, conforme seleção à esquerda da imagem 01;
  • Crie 2 campos do tipo texto na seção de campos com o nome Usuario01 e Usuario02, conforme seleção à direita da imagem 01;
  • Adicione 2 sessões e dentro de cada uma a mensagem informando quem o usuário é, conforme seleção central da imagem 01.

UsuarioLogadoInfoPath01

Imagem 01: Adicionando os campos no formulário

 

Com o formulário com os campos e controles configurados, vamos começar a criar a regra. A primeira é no campo Usuario01, onde vamos armazenar a propriedade user name do usuário. Este campo serve apenas para facilitar os testes a seguir. Esta fórmula poderia ser feita diretamente na sessão da imagem 03.

O campo grupo (que se refere ao controle do tipo pessoa Usuario 1, possui 3 propriedades: DisplayName, AccountId e AccountType), onde o campo AccountId terá o usuário usando o padrão domínio\usuário. Dessa forma iremos armazenar apenas o user name do usuário. 

A fórmula "substring(AccountId, string-length(substring-before(AccountId, "\")) + 2)” irá copiar apenas o user name sem o domínio. Para adicionar esta fórmula, selecione o campo Usuario01, clique em propriedades e então em valor. Preencha o campo fórmula com a fórmula anterior e onde está o campo AccountId, substitua pelo campo AccountId do campo grupo (que se refere ao usuário 1). Repita o procedimento para o campo Usuario02.  A imagem 02 mostra mais detalhes.

UsuarioLogadoInfoPath02

Imagem 02: Adicionando a fórmula no campo

 

Com os campos Usuario01 e Usuario02 devidamente preenchidos, seleciona e primeira sessão, conforme a imagem 03, e adicionar uma regra do tipo formatação para ela. Adicione a condição Usuario01 != userName(), onde o userName é a função que o InfoPath possui para retornar o usuário logado. Selecione a opção Ocultar este controle. Desta forma, se o campo Usuario01 for diferente do usuário logado, significa que o usuário não é o usuário 01. Faça o mesmo procedimento para a segunda sessão, que será para o Usuário 02.

UsuarioLogadoInfoPath03

Imagem 03: Configurando a regra de exibição

 

Publicando o formulário no SharePoint, vamos testá-lo!

Preencha o campo Usuario 1 com um usuário e o campo Usuario 2 com outro usuário, no meu exemplo os usuários sp_admin e Usuario01 respectivamente. Salve o formulário e entre no SharePoint com o usuário 01. Você irá ver a mensagem Você é o usuário 01, conforme a imagem 04. Ao entrar com o usuário 2, você verá a mensagem que você é o usuário 02, conforme a imagem 05.

UsuarioLogadoInfoPath04

Imagem 04: Testando com o usuário 01

 

UsuarioLogadoInfoPath05

Imagem 05: Testando com o usuário 02

 

Com o exemplo que vimos neste post podemos criar regras de acordo com o usuário logado no SharePoint e fazer com que cada um execute as ações que são destinadas para eles, dando mais poder às soluções SharePoint.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: