henrique bonfim Postado 27 de Julho de 2017 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 3 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 35 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Denunciar Compartilhar Postado 27 de Julho de 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? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
henrique bonfim Postado 28 de Julho de 2017 Tópicos Que Criei: 2 Tópicos/Dia: 0.00 Meu Conteúdo: 3 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 35 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 42 Autor Denunciar Compartilhar Postado 28 de Julho de 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. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.