Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia, pessoal!
Preciso ocultar uma pasta para um determinado usuário. Porém este usuário não tem relação com a base de dados, ou seja se eu usar a redução de dados no section access ele não vai existir lá. Exemplo:
tenho as pastas comercial, financeiro, logistica.
O usuário comercial só pode ver a pasta comercial, o logistica somente a logistica e o financeiro somente o financeiro. Porém na minha base este usuário não existe na relação. Teria como controlar isso no script?
Paulo,
Não sei se é exatamente isso que você precisa, mas eu consegui fazer um controle de acesso das minhas pastas utilizando o passo a passo abaixo:
1.Botão direito na pasta, por exemplo "Comercial"
2.Propriedades da Pasta
3.Em Mostrar Pasta, escolha a opção Condicional
4.Inclua a função =OSUser()='dominio\nome_usuário', exemplo =OSUser()='work\felipe'
Com essa alteração apenas o usuário felipe, que faz parte do domínio work, terá acesso a pasta Comercial. Caso necessite permitir mais usuários basta incluir dessa forma:
=OSUser()='dominio\nome_usuário' and =OSUser()='dominio\nome_usuário'
Repita este procedimentos para todas as pastas(Comercial, Financeiro, Faturamento) que deseja controlar.
Abraço!
Olá Paulo,
Crie um arquivo com as mesma colunas da sua base de usuário e preencha os dados do usuário no arquivo, depois faça o load concatenando o arquivo, isso vai acrescentar os usuários que precisa mantando a mesma estrutura.
Abraço.
Enviado pelo meu wPhone
Aderlan, bom dia!
Obrigado pelo retorno.
Sou iniciante ainda nesta questão de script. Não entendi exatamente.
Minha tabela de usuário é essa
ACCESS | USERID | PASSWORD | VD | VD2 |
ADMIN | ADMIN | admpre | ADMIN | ADMIN |
USER | 000005 | Rona5per | 000005 | 000005 |
USER | 000161 | Fla1440b | 000161 | 000161 |
USER | 000162 | marco162 | 000162 | 000162 |
e a tabela de faturamento é essa
VENDEDOR FATURAMENTO
Minhas pastas são
COMERCIAL, FATURAMENTO, FINANCEIRO
Você poderia me colocar um exemplo?
Olá Paulo,
Segue anexo exemplo e abaixo o script, observe que nas propriedades das abas tem uma condicional para exibir aba, ou seja, cada usuário só vai ver o que está em cada aba.
Section Access;
LOAD * INLINE [
ACCESS,USERID,PASSWORD,ABAS
ADMIN,ADMIN,admpre,
USER,000005,Rona5per,1
USER,000161,Fla1440b,2
USER,000162,marco162,3
];
Section Application;
Abas:
LOAD * INLINE [
ABAS, Descrição
1, Financeiro
2, Comercial
3, Logística
];
Abraço.
Aderlan, bom dia!
Obrigado pelo retorno. Funcionou. Gostaria de ver se poderíamos mostrar mais de uma pasta por usuário. Até consegui, mas fica dentro da pasta. Gostaria que pasta aparecesse como cabeçalho ou seja, na parte superior aparecer comercial, financeiro,
como está na figura acima. Estou enviando anexo, com o que consegui fazer.
Olá Paulo,
Olha que legal essa resposta do Carlos Henrique Nichi de Sa, sem dúvida vai ficar mais profissional a restrição de acesso.
Se tiver alguma dúvida, posta ai que ajudamos nas correções, mas acredito que você vai pegar a lógica fácil.
Dica para calcula trimestre e quadrimestre:
ceil(Month(Data)/3)&'º Trim' as [Trimestre],
ceil(Month(Data)/4)&'º Quad' as [Quadrimestre],
Abraço.
Paulo,
Não sei se é exatamente isso que você precisa, mas eu consegui fazer um controle de acesso das minhas pastas utilizando o passo a passo abaixo:
1.Botão direito na pasta, por exemplo "Comercial"
2.Propriedades da Pasta
3.Em Mostrar Pasta, escolha a opção Condicional
4.Inclua a função =OSUser()='dominio\nome_usuário', exemplo =OSUser()='work\felipe'
Com essa alteração apenas o usuário felipe, que faz parte do domínio work, terá acesso a pasta Comercial. Caso necessite permitir mais usuários basta incluir dessa forma:
=OSUser()='dominio\nome_usuário' and =OSUser()='dominio\nome_usuário'
Repita este procedimentos para todas as pastas(Comercial, Financeiro, Faturamento) que deseja controlar.
Abraço!
Se for apenas ocultar a pasta para um usuário fixo, vá em Sheet Properties / General / Show Sheet e coloque sua regra lá, algo como =OSUSER(0 <> 'DOMINIO\usuario'
Paulo, deu tudo certo?
Não esqueça de marcar as resposta pra fechar o post, ajuda a quem tem outras dúvidas e a quem dedica tempo a ajudar a community.
Grande abraço.
Só corrigindo o Felipe,
para a versão qlikview 10, não foi necessário por o = no segundo OSUser, ficando dessa forma:
=OSUser()='dominio\nome_usuário' and OSUser()='dominio\nome_usuário'
Grato pela atenção.