henrique bonfim Posted July 27, 2017 Topic Count: 2 Topics Per Day: 0.00 Content Count: 3 Content Per Day: 0.00 Reputation: 0 Achievement Points: 35 Solved Content: 0 Days Won: 0 Status: Offline Age: 43 Report Posted July 27, 2017 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? Quote
henrique bonfim Posted July 28, 2017 Topic Count: 2 Topics Per Day: 0.00 Content Count: 3 Content Per Day: 0.00 Reputation: 0 Achievement Points: 35 Solved Content: 0 Days Won: 0 Status: Offline Age: 43 Author Report Posted July 28, 2017 Resolvido. Resolvi o problema inserindo o INNER JOIN GCCUSTO WITH(NOLOCK) ON GCCUSTO.CODCOLIGADA = TMOV.CODCOLIGADA AND GCCUSTO.CODCCUSTO = TMOV.CODCCUSTO Nas subqueries existentes. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.