Jump to content
henrique bonfim

Filtro de usuário interferindo no relatório

Recommended Posts

Boa tarde, gente.

Criei um relatório com os seguintes parâmetros CODCCUSTO, CODCOLIGADA e NUMEROMOV.

Acontece que determinado usuário possui filtros nas tabelas, FLAN.CODCCUSTO, TMOV.CODLOC e GCCUSTO.CODCCUSTO

SELECT    TMOV.CODCOLIGADA AS 'Cód. coligada', TMOV.CODFILIAL AS 'Cód. filial', GFILIAL.NOMEFANTASIA AS 'Filial', TMOV.CODLOC, TMOV.CODTMV AS 'CODTMOV', TMOV.IDMOV AS 'Identificador', TMOV.NUMEROMOV AS 'Número',
        TMOV.VALORLIQUIDO AS 'Valor líquido', TMOV.VALORBRUTOORIG AS 'Valor bruto', TITMMOV.NSEQITMMOV AS 'ITEM', TITMMOV.IDPRD AS 'IDPRODUTO', TPRODUTO.CODIGOPRD AS 'Cód. produto',
        TPRODUTO.NOMEFANTASIA AS 'Produto', TITMMOV.CODUND AS 'Unidade', TITMMOV.PRECOUNITARIO AS 'Preço unitário', CASE TITMMOV.QUANTIDADE WHEN 0 THEN NULL ELSE TITMMOV.QUANTIDADE END AS 'Quantidade',
        TITMMOV.QUANTIDADETOTAL AS 'Quantidade total', TITMMOV.VALORBRUTOITEM AS 'Valor bruto item', TITMMOV.VALORBRUTOITEMORIG AS 'Valor bruto item origem',
        TITMMOV.VALORDESC AS 'Valor desconto', TMOV.CODCCUSTO AS 'Cod Centro de Custo', GCCUSTO.NOME AS 'Centro de custo', TLOC.CODLOC AS 'Cód. local',
        TLOC.NOME AS 'Local', FCFO.CODCFO AS 'Cód. fornecedor', FCFO.NOMEFANTASIA AS 'Fornecedor', TMOV.DATAEMISSAO AS 'Emissao'
FROM TMOV WITH(NOLOCK)
INNER JOIN GFILIAL WITH(NOLOCK) ON GFILIAL.CODCOLIGADA = TMOV.CODCOLIGADA
       AND GFILIAL.CODFILIAL = TMOV.CODFILIAL
INNER JOIN TLOC WITH(NOLOCK) ON TLOC.CODCOLIGADA = TMOV.CODCOLIGADA
       AND TLOC.CODLOC = TMOV.CODLOC
INNER JOIN GCCUSTO WITH(NOLOCK) ON GCCUSTO.CODCOLIGADA = TMOV.CODCOLIGADA
       AND GCCUSTO.CODCCUSTO = TMOV.CODCCUSTO
INNER JOIN TITMMOV WITH(NOLOCK) ON TITMMOV.CODCOLIGADA = TMOV.CODCOLIGADA
       AND TITMMOV.IDMOV = TMOV.IDMOV
INNER JOIN TPRODUTO WITH(NOLOCK) ON TPRODUTO.IDPRD = TITMMOV.IDPRD
INNER JOIN FCFO WITH(NOLOCK) ON FCFO.CODCOLIGADA = TMOV.CODCOLCFO
       AND FCFO.CODCFO = TMOV.CODCFO
WHERE TMOV.NUMEROMOV=:NUMEROMOV AND TMOV.CODCOLIGADA=:CODCOLIGADA AND TMOV.CODTMV='1.1.08' AND TMOV.CODCCUSTO=:CODCCUSTO
GROUP BY TMOV.IDMOV, TMOV.CODCOLIGADA, TMOV.CODFILIAL, GFILIAL.NOMEFANTASIA, TMOV.CODLOC, TMOV.CODTMV, TMOV.NUMEROMOV, TMOV.VALORLIQUIDO, TMOV.VALORBRUTOORIG, TITMMOV.NSEQITMMOV, TITMMOV.IDPRD,
        TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TITMMOV.CODUND, TITMMOV.PRECOUNITARIO, TITMMOV.QUANTIDADE, TITMMOV.QUANTIDADETOTAL,
        TITMMOV.VALORBRUTOITEM, TITMMOV.VALORBRUTOITEMORIG,    TITMMOV.VALORDESC, TMOV.CODCCUSTO, GCCUSTO.NOME, TLOC.CODLOC,
        TLOC.NOME, FCFO.CODCFO, FCFO.NOMEFANTASIA, TMOV.DATAEMISSAO

Porém, ao executar o relatório, surge a seguinte mensagem

"Erro ao executar relatório
Erro ao executar relatório
Erro ao executar sentença.
Não será possível executar essa consulta, pois não foi possível aplicar o filtro por usuário.

Essa consulta deverá conter o(s) seguinte(s) campo(s) da tabela GCCUSTO: CODCCUSTO
Usuário da execução: METROENG\MTPLAN02$"

 

Observem que o campo GCCUSTO.CODCCUSTO, já está na consulta.

Também fiz um teste trocando o filtro do usuário da tabela GCCUSTO para a tabela TMOV.CODCCUSTO, que tambpem faz parte da planilha e dos parâmetros do relatório, Retornando o mesmo erro ".... tabela TMOV: CODCCUSTO".

 

Alguém pode me ajudar?

 

Share this post


Link to post
Share on other sites

Resolvido.

Resolvi o problema inserindo o 

INNER JOIN GCCUSTO WITH(NOLOCK) ON GCCUSTO.CODCOLIGADA = TMOV.CODCOLIGADA
       AND GCCUSTO.CODCCUSTO = TMOV.CODCCUSTO

Nas subqueries existentes.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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


  • Similar Content

    • By cezarvinicius
      Boa tarde, pessoal!
      Esse script que estou enviando serve para auxiliar o DP (ou RH) a identificar os funcionários que tiveram os dias pagos inferiores a 30 dias e qual foi o motivo (descontos do mês anterior, atestados médicos), com base nas férias, salário maternidade e atestados. O registro identificado apenas como "MENOR" significa que deve ser verificado pelo DP,  pois existe alguma situação incomum. Esse relatório é mais completo do que verificar somente pelo saldo.
       
    • By Thiago Queiroz
      Boa tarde,
      Gostaria de uma ajuda com um relatório que estou montando,
      no relatório deve ter todos os fornecedores que a empresa DEVE porem não pode ter "puxa" os já pagos, cancelados e com cheque.
      montei um que a condição é flan.statuslan = '0' que vai puxar os resultados que não foram pagos, porem puxa os vencidos e com cheque, e nao acho nada nas tabelas que eu posssa por outra condição para diferenciar.
       
      SELECT FLAN.CODCOLIGADA,
             FLAN.CODCFO,
             FCFO.NOME,
             SUM(FLAN.VALORORIGINAL) AS [VALOR TOTAL]
      FROM FLAN
      INNER JOIN FCFO ON ( FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND FLAN.CODCFO = FCFO.CODCFO )
      WHERE FLAN.PAGREC = '2' AND FLAN.STATUSLAN = '0'
      GROUP BY FLAN.CODCOLIGADA,FLAN.CODCFO,  FCFO.NOME
      ORDER BY FLAN.CODCOLIGADA, FCFO.NOME
    • By Fórum RM
      Quando solicita pra rodar relatórios no Gerador em versões a partir da 12.1.21 e não está instalado o client 11, basta instalar esse arquivo, de acordo com a versão do seu Windows.
      https://www.forumrm.com.br/files/file/387-client-sql-server-2012
       
    • By Cláudio Matias
      Prezados, boa tarde.
      Sou novo aqui no fórum e gostaria, se possível, de expor uma dúvida e caso alguém possa me ajudar, ficarei muito grato.
      Situação: Preciso desenvolver uma consulta SQL que me retorne a jornada planejada do funcionário, montando o quadro de horário em linhas. Utilizei a tabela AJORHOR, porém, ela não atende em todos os casos, já que a jornada da visão do horário pode não corresponder a jornada executada do funcionário. 
      Exemplo do resultado: Linha 1: CHAPA 0001 - SEG - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 2: CHAPA 0001 - TER - 7:30 - 12:00 - 13:00 - 17:45
                                               Linha 3: CHAPA 0001 - QUA - 7:30 - 12:00 - 13:00 - 17:45
                                               ...
                                               ...
                                               Linha 6: CHAPA 0001 - SAB - COMPENSADO
                                               Linha 7: CHAPA 0001 - DOM - DESCANSO
                                               
       
    • By igoroliveira
      Oi,
       
      Algum usuário possui um relatório para conferência dos cálculos da contribuição previdenciária?
       
      Integração RM x TAF.
    • By luisgustavogomes
      Pessoal, boa tarde!
       
      Preciso executar um SP dentro do visualizador de consultas !
       Alguém já conseguiu efetuar essa operação? 
    • By Paulo de Tarso
      Pessoal, boa tarde!
      Estou com a versão mais atual da linha RM 12.1.18.122 e estou tendo um problema de travamento sempre que altero as propriedades de " Aparência / Estilo " do grupo.
      Tela em anexo!
      Alguém já passou por essa e sabe me dizer o que posso fazer para resolver a situação?
      Agradeço atenção de todos.
       

    • By Ed Wilson Marçal Faria
      Boa tarde,
      Preciso criar um relatório com o saldo físico e financeiro do estoque por local e intervalo de tempo. Exemplo: 01/10/2017 a 05/10/2017
      Fiz a SQL, mas retorna apenas os itens que tiveram movimento no período. Por exemplo, um item que teve seu último movimento em 25/09/2017 não aparecerá no período de 01/10/2017 a 05/10/2017:
      with rownumber as(
      select
      ROW_NUMBER() over(partition by a.idprd, a.codloc order by a.sequencial desc)as rownumber
      ,A.SEQUENCIAL 
      ,A.DATAMOVIMENTO
      ,A.IDPRD                                
      ,A.CODLOC
      ,A.SALDOMOV
      ,A.TOTALMOV
      ,A.CUSTOMEDMOV
      ,B.NOMEFANTASIA
      ,case when C.CODTB3FAT='001' then 'Medicamentos'
            when C.CODTB3FAT='002' then 'Materiais' 
      else C.CODTB3FAT end TIPO
      from TRELSLD as A
      inner join tproduto AS B
      on A.idprd=B.idprd
      inner join TPRODUTODEF AS C
      on A.IDPRD=C.IDPRD AND A.CODCOLIGADA=C.CODCOLIGADA
      WHERE A.CODFILIAL=2 and a.IDPRD='38' and A.DATAMOVIMENTO between '2017-10-01 00:00:00.000' and '2017-10-05 00:00:00.000'  )
      select * from rownumber where rownumber=1 and SALDOMOV <> '0.0000'
      order by IDPRD
       
      Obrigado.

    • By JonathanPrates
      Bom dia. Trabalhei por mutos anos com os sistemas da Senior de Blumenau e estou iniciando agora com o RM. Desenvolvi meu primeiro relatório com o RM Reports e de forma geral não tive muita dificuldade, mas tem um detalhe que eu não consegui resolver e venho pedir a ajude de vocês.
      Montei um relatório de títulos liquidados no contas a receber por período (preview.jpg em anexo), onde no filtro (filtro.jpg em anexo) eu seleciono o período desejado. Até aí tudo bem, o meu problema é que eu preciso recuperar essas datas e colocá-las no cabeçalho do relatório, indicando ao usuário final qual o período referente do relatório.
      Agradeço desde já qualquer ajuda.


    • By henrique bonfim
      Bom dia.
      Sou novo aqui no fórum. Espero poder ajudar e ser ajudado por todos e a todo aqui.
      Estou com um problema. No ano de 2016, tivemos um problema com unidades base no cadastro de produtos o qual exibia a seguinte mensagem:
      "Conversão não permitida: a unidade de origem UN e a de destino MT possuem unidade base diferente."
      E assim por diante com várias unidades, num total de 85 produtos e em torno de 750 registros do sistema. Uma consultora da filial local, realizou uma alteração via BD onde o problema foi corrigido.
      Detalhe, a versão era a 11.82.xxx
      Acontece que, hoje, ao gerar os Saldos e Custos o mesmo erro voltou a aparecer.
      Executei uma busca no SQL Server usando a consulta
      SELECT TMOV.CODCOLIGADA, TMOV.IDMOV, TMOV.CODTMV, TMOV.NUMEROMOV, TMOV.DATACRIACAO, TITMMOV.NSEQITMMOV, TITMMOV.CODUND, TUND.CODUNDBASE, TPRODUTODEF.IDPRD, TPRODUTO.CODIGOPRD, TPRODUTO.NOMEFANTASIA, TPRODUTODEF.CODUNDCONTROLE, TUND2.CODUNDBASE
      FROM TMOV
      JOIN TITMMOV ON (TMOV.IDMOV = TITMMOV.IDMOV AND TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA)
      JOIN TPRODUTODEF ON(TITMMOV.IDPRD = TPRODUTODEF.IDPRD AND TITMMOV.CODCOLIGADA = TPRODUTODEF.CODCOLIGADA)
      JOIN TUND ON (TITMMOV.CODUND = TUND.CODUND)
      JOIN TUND AS TUND2 ON (TUND2.CODUND = TPRODUTODEF.CODUNDCONTROLE)
      JOIN TPRODUTO ON TPRODUTO.IDPRD=TPRODUTODEF.IDPRD
      WHERE TUND.CODUNDBASE <> TUND2.CODUNDBASE
      ORDER BY TMOV.CODCOLIGADA, TPRODUTO.NOMEFANTASIA
      ... e notei que o trabalho feito pela consultora no ano passado foi desfeito. 
      A pegunta é: Isso pode ter acontecido na atualização do BD, da versão 11.82.xxx para a 12.1.15.154 (atual utilizada). Alguém já passou por algo parecido?
      Ah sim!... Não sou quem faz a atualização do BD. Temos um TI que informa não ter acontecido quaisquer erros no processo. 
      Mas como pode haver essa divergência entre unidade base para produtos com movimentação, e mais ainda, o trabalho realizado pela consultora no BD ter simplesmente desaparecido?!
  • Recent

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.