Tivemos um desenvolvido um formulário do InfoPath com várias exibições para oferecer suporte a uma nova contratação / processo de ambientação. Quando a empresa contrata uma nova pessoa, o departamento de TI e outros grupos precisam agir (configurar a folha de pagamento, permitir o acesso aos aplicativos apropriados, Localize uma mesa, etc). Usamos na forma, mas uma visão diferente do formulário para cada uma dessas funções.
Esta empresa, QUE conhecem a maioria das pessoas envolvidas no processo de negócios são, Então, quando eles acessarem o formulário, seu modo de exibição padrão é um menu"" Ver os com botões que encaminhá-los para sua função específica. No entanto, Precisamos simplificar as coisas para o gerente direto a nova contratação. Esta pessoa não deve ver que qualquer do que coisas relacionadas. Na verdade, Ela deve ver apenas um modo de exibição do formulário e nem sequer têm uma opção para ver os outros modos de exibição.
No nosso caso, que direcionar a conta do gerente está diretamente ligada à forma cortesia de um entre em contato com o selector (que eu sempre estou querendo chamar um "people picker" por algum motivo).
As etapas são as seguintes:
1. No modo de design, Vá para ferramentas-> Opções de forma-> Abrir e salvar.
2. Selecione "regras".
3. Criar uma nova regra, cuja ação é "alternar para exibir" e cuja condição utiliza o nome de usuário() função.
nome de usuário() Retorna o simples"" nome de usuário sem o domínio. Se eu entrar no SharePoint com credenciais "domainpagalvin", nome de usuário() Retorna "pagalvin".
O seletor de contato fornece três bits de informações de um contato. O "AccountID" porção é mais útil para esse cenário. A única coisa que faz isso mesmo um pouco de desafio é que o seletor de contato (no meu ambiente de qualquer maneira) Retorna a ID de domínio e de usuário, como em "domainpagalvin". Isto nos impede de ter uma condição de igualdade direta desde AccountID ("domainpagalvin") nunca será igual a nome de usuário() ("pagalvin").
Podemos obter em torno desta usando o "contém" operador: AccountID contém nome de usuário().
Podemos tomá-lo ainda mais e pre-pend um domínio embutida na frente do nome do usuário() função para obter nossa verificação de igualdade e eliminar o risco de falsos positivos sobre o contém operador.
Temos realmente como alternar automaticamente o modo de exibição para outros usuários com base em sua associação de grupos de segurança do AD. Por exemplo, Quando um membro do "ele Analytics" grupo acessa o formulário, alternar automaticamente para o modo de exibição IT Analytics. Não tivemos tempo para implementá-lo, mas meu primeiro pensamento é criar um serviço web que teria um método como "IsMemberOfActiveDirectorySecurityGroup", passe a ele o nome de usuário() e retornar para true ou false. Alguém tem algum outro, idà © ia mais? Existe alguma função de SharePoint que pode aproveitar do InfoPath para fazer essa determinação?
</fim>
Muitos obrigado Senhor. Paulo
Pingback: Vista do interruptor do InfoPath baseada no usuário « Blog do Sladescross