Ir para conteúdo

Condicional Para Movimento Com Aprovação (RESOLVIDO)


Posts Recomendados


  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  11
  • Conteúdo/Dia:  0.00
  • Reputação:   1
  • Pontos/Conquistas:  95
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Pessoal, boa tarde!

Em um movimento que possui aprovação, estou tentando fazer um filtro por perfil para que usuários desse perfil só consigam visualizar movimentos aprovados. O filtro está funcionando perfeitamente, mas o usuário desse perfil não consegue visualizar nenhum movimento que não seja os aprovados. Exemplo:

Usuário José só pode visualizar os movimentos aprovados do Mov. 1.1.01. Isso está ocorrendo perfeitamente com o filtro. O problema ocorre quando José tenta acessar outros Mov., como o 1.1.00 ou 1.1.03. Todos os movimentos lá dentro somem.

O filtro foi bem simples, da seguinte forma:

SELECT TMOV.IDMOV

FROM TMOV, TMOVAPROVA

WHERE TMOV.IDMOV = TMOVAPROVA.IDMOV

Entendo que o sistema está se comportando de maneira correta, pois o filtro manda que somente movimentos aprovados sejam mostrados para o José. Preciso de uma condicional que faça com que essa limitação ocorra somente no Mov 1.1.01. Tentei colocar ao final desse select essa condição:

AND TMOV.CODTMV = '1.1.01'

Mas não altera em nada o resultado. Gostaria de ajuda de voces para formar uma condicional para este caso. Imagino que ela deva ocorrer antes do select, mas não estou sabendo como proceder.

Desde já agradeço!

Att,

Thiago Henriques Severino

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

Thiago,

  1. os movimentos 1.1.00 ou 1.1.03 ( ou outros) possuem "aprovação"?
  2. faça um teste com este select e me fale o resultado:

SELECT TMOV.IDMOV

FROM TMOV, TMOVAPROVA

WHERE (TMOV.IDMOV *= TMOVAPROVA.IDMOV)

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  11
  • Conteúdo/Dia:  0.00
  • Reputação:   1
  • Pontos/Conquistas:  95
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Thiago,

  1. os movimentos 1.1.00 ou 1.1.03 ( ou outros) possuem "aprovação"?
  2. faça um teste com este select e me fale o resultado:

SELECT TMOV.IDMOV

FROM TMOV, TMOVAPROVA

WHERE (TMOV.IDMOV *= TMOVAPROVA.IDMOV)

Por enquanto, o único movimento que utiliza aprovação é o 1.1.01.

Com esse SELECT que você passou, selecionou todos os movimentos existentes no Nucleus quando fiz a consulta. E no usuário do Perfil, deu este erro para qualquer movimento que eu entre utilizando esse filtro:

Ocorreu um erro ao efetuar a leitura da visão:

Outer join operators cannot be specified in a query containing joined tables.

Obrigado!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

você pode enviar um print do seu filtro?

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  11
  • Conteúdo/Dia:  0.00
  • Reputação:   1
  • Pontos/Conquistas:  95
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

você pode enviar um print do seu filtro?

Claro! Segue anexo SS da consulta SQL e do Filtro.

post-17197-0-36781300-1365014682_thumb.j

post-17197-0-34511300-1365014688_thumb.j

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

consegui fazer funcionar com esta query:

SELECT f.IDMOV

FROM TMOV f, TMOVAPROVA a

WHERE (f.IDMOV = a.IDMOV and f.codtmv ='1.1.01')

union all

SELECT IDMOV

FROM TMOV where codtmv <>'1.1.01'

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  11
  • Conteúdo/Dia:  0.00
  • Reputação:   1
  • Pontos/Conquistas:  95
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

consegui fazer funcionar com esta query:

SELECT f.IDMOV

FROM TMOV f, TMOVAPROVA a

WHERE (f.IDMOV = a.IDMOV and f.codtmv ='1.1.01')

union all

SELECT IDMOV

FROM TMOV where codtmv <>'1.1.01'

João Rodrigo, não sei nem como te agradecer, cara.

Na hora da consulta SQL, eu estava esperando como resultado somente os movimentos aprovados. E quando executei sua consulta, me retornou todos os lançamentos novamente. Só ai me dei conta de que, se na consulta me mostrasse somente os aprovados, era só isso que o usuário iria ver. Na consulta tem que mostrar tudo mesmo. Dessa forma ele consegue visualizar todos os movimentos que tem permissão, e no movimento com aprovação ele vê somente os aprovados.

Muito obrigado mesmo!

Resolvido!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  6
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  290
  • Conteúdo/Dia:  0.06
  • Reputação:   17
  • Pontos/Conquistas:  1.523
  • Conteúdo Resolvido:  0
  • Dias Ganho:  12
  • Status:  Offline

maravilha!

Disponha!

  • Like 1
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  110
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.391
  • Conteúdo/Dia:  0.21
  • Reputação:   17
  • Pontos/Conquistas:  8.047
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Tópico Fechado / Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título.

Se preferir, mande um email para admin@forumrm.com.br

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.