Alexandre Gondim Posted April 9, 2010 Topic Count: 65 Topics Per Day: 0.01 Content Count: 654 Content Per Day: 0.10 Reputation: 2 Achievement Points: 3,929 Solved Content: 0 Days Won: 2 Status: Offline Age: 44 Device: Windows Report Posted April 9, 2010 Pessoal, boa tarde! Estou precisando fazer um relatório de auditoria de pedidos onde preciso mostrar o pedido original (mov 2.1.06) e tudo que foi faturado para o movimento (2.1.09) comparando as quantidades devido a desdobramento. Obs.: Preciso usar a TMOVRELAC, mas infelizmente ao adicionar qualquer campo da mesma está duplicando os registros e não consegui gostaria de saber se alguém já possui algo parecido ou se pode me dar um auxílio. SELECT DISTINCT TMOV.IDMOV, TMOV.NUMEROMOV, TMOV.DATAEMISSAO, TPRD.CODIGOREDUZIDO + ' - ' + TPRD.NOMEFANTASIA AS PRODUTO, TITMMOV.CAMPOLIVRE AS ITEM, TITMMOV.QUANTIDADE AS QUANT, TITMMOV.QUANTIDADEORIGINAL FROM TITMMOV INNER JOIN TMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV INNER JOIN TPRD ON TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TPRD.IDPRD = TITMMOV.IDPRD LEFT JOIN TMOVRELAC ON TMOV.CODCOLIGADA = TMOVRELAC.CODCOLORIGEM AND TMOV.IDMOV = TMOVRELAC.IDMOVORIGEM WHERE TMOV.CODTMV = '2.2.01' AND TMOV.NUMEROMOV LIKE '009758' Desde já agradeço At, Alexandre Gondim Quote
Jairo Posted April 9, 2010 Topic Count: 192 Topics Per Day: 0.03 Content Count: 1,767 Content Per Day: 0.26 Reputation: 2 Achievement Points: 10,704 Solved Content: 0 Days Won: 1 Status: Offline Age: 52 Report Posted April 9, 2010 Pessoal, boa tarde!Estou precisando fazer um relatório de auditoria de pedidos onde preciso mostrar o pedido original (mov 2.1.06) e tudo que foi faturado para o movimento (2.1.09) comparando as quantidades devido a desdobramento. Obs.: Preciso usar a TMOVRELAC, mas infelizmente ao adicionar qualquer campo da mesma está duplicando os registros e não consegui gostaria de saber se alguém já possui algo parecido ou se pode me dar um auxílio. SELECT DISTINCT TMOV.IDMOV, TMOV.NUMEROMOV, TMOV.DATAEMISSAO, TPRD.CODIGOREDUZIDO + ' - ' + TPRD.NOMEFANTASIA AS PRODUTO, TITMMOV.CAMPOLIVRE AS ITEM, TITMMOV.QUANTIDADE AS QUANT, TITMMOV.QUANTIDADEORIGINAL FROM TITMMOV INNER JOIN TMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV INNER JOIN TPRD ON TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TPRD.IDPRD = TITMMOV.IDPRD LEFT JOIN TMOVRELAC ON TMOV.CODCOLIGADA = TMOVRELAC.CODCOLORIGEM AND TMOV.IDMOV = TMOVRELAC.IDMOVORIGEM WHERE TMOV.CODTMV = '2.2.01' AND TMOV.NUMEROMOV LIKE '009758' Desde já agradeço At, Alexandre Gondim Oi Alexandre ... tudo bem ? Quanto tempo ... Cara, o que ta vindo nessa sua consulta ? e o que deveria vir ? Vc ta informando no Where o movimento "2.2.xx" ... não é a partir do pedido que vc quer ? Da um exemplo aí pra nós ? Quote
Alexandre Gondim Posted April 9, 2010 Topic Count: 65 Topics Per Day: 0.01 Content Count: 654 Content Per Day: 0.10 Reputation: 2 Achievement Points: 3,929 Solved Content: 0 Days Won: 2 Status: Offline Age: 44 Device: Windows Author Report Posted April 9, 2010 Oi Alexandre ... tudo bem ? Quanto tempo ... Cara, o que ta vindo nessa sua consulta ? e o que deveria vir ? Vc ta informando no Where o movimento "2.2.xx" ... não é a partir do pedido que vc quer ? Da um exemplo aí pra nós ? Jairo, boa tarde! Estive um tempo meio off por motivos de alteração de função (estava indo para o Protheus) mas agora to de volta!! O que estou precisando é, trazer o ratreamento para confrontar o pedido original com o que foi faturado, sendo que na empresa onde estou tem muitos desdobramentos. A sentença abaixo foi até onde consegui chegar: SELECT TMOV.NUMEROMOV, TMOV.DATAEMISSAO, TPRD.CODIGOREDUZIDO + ' - ' + TPRD.NOMEFANTASIA AS PRODUTO, ISNULL(TITMMOV.CAMPOLIVRE, 'SEM ITEM') AS ITEM, TITMMOV.QUANTIDADE AS ORIGINAL, ISNULL((SELECT TITMMOV.QUANTIDADE FROM TITMMOV WHERE TITMMOV.IDPRD = TPRD.IDPRD AND IDMOV = TMOVRELAC.IDMOVDESTINO),0) FROM TITMMOV INNER JOIN TMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV INNER JOIN TPRD ON TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TPRD.IDPRD = TITMMOV.IDPRD LEFT JOIN TMOVRELAC ON TMOV.CODCOLIGADA = TMOVRELAC.CODCOLORIGEM AND TMOV.IDMOV = TMOVRELAC.IDMOVORIGEM WHERE TMOV.CODTMV = '2.1.06' AND TMOV.SERIE = 'PV' AND TMOVRELAC.TIPORELAC = 'P' AND TMOV.NUMEROMOV LIKE '%' ORDER BY TPRD.NOMEFANTASIA Quote
Jairo Posted April 9, 2010 Topic Count: 192 Topics Per Day: 0.03 Content Count: 1,767 Content Per Day: 0.26 Reputation: 2 Achievement Points: 10,704 Solved Content: 0 Days Won: 1 Status: Offline Age: 52 Report Posted April 9, 2010 Jairo, boa tarde! Estive um tempo meio off por motivos de alteração de função (estava indo para o Protheus) mas agora to de volta!!O que estou precisando é, trazer o ratreamento para confrontar o pedido original com o que foi faturado, sendo que na empresa onde estou tem muitos desdobramentos. A sentença abaixo foi até onde consegui chegar: SELECT TMOV.NUMEROMOV, TMOV.DATAEMISSAO, TPRD.CODIGOREDUZIDO + ' - ' + TPRD.NOMEFANTASIA AS PRODUTO, ISNULL(TITMMOV.CAMPOLIVRE, 'SEM ITEM') AS ITEM, TITMMOV.QUANTIDADE AS ORIGINAL, ISNULL((SELECT TITMMOV.QUANTIDADE FROM TITMMOV WHERE TITMMOV.IDPRD = TPRD.IDPRD AND IDMOV = TMOVRELAC.IDMOVDESTINO),0) FROM TITMMOV INNER JOIN TMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV INNER JOIN TPRD ON TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TPRD.IDPRD = TITMMOV.IDPRD LEFT JOIN TMOVRELAC ON TMOV.CODCOLIGADA = TMOVRELAC.CODCOLORIGEM AND TMOV.IDMOV = TMOVRELAC.IDMOVORIGEM WHERE TMOV.CODTMV = '2.1.06' AND TMOV.SERIE = 'PV' AND TMOVRELAC.TIPORELAC = 'P' AND TMOV.NUMEROMOV LIKE '%' ORDER BY TPRD.NOMEFANTASIA Pra fazer uma referencia do pedido com a chegada dele, vc pode fazer algo assim ... Faltou apenas incluir os itens ... que estão na TITMMOVRELAC e TITMMOV. Preciso sair agora ... Vê se vc consegue aproveitar algo ... SELECT C.CODCFO, C.NOMEFANTASIA, TABPED.SERIE AS SERIEPED, TABPED.NUMEROMOV AS NUMPEDIDO, TABPED.DATAMOVIMENTO AS DATAPED, TABENTR.SERIE AS SERIEENTR, TABENTR.NUMEROMOV AS MOVENTRADA, TABENTR.DATASAIDA AS DATAENTRADA FROM (SELECT MP.IDMOV, MP.CODCOLIGADA, MP.NUMEROMOV, MP.SERIE, MP.DATAMOVIMENTO, MP.DATAENTREGA AS PREVENTREGA FROM TMOV MP WHERE MP.CODTMV IN ('2.1.06') AND MP.STATUS = 'F' ) AS TABPED , -- MOV. DE PEDIDO (SELECT ME.IDMOV , ME.CODCOLIGADA, ME.NUMEROMOV, ME.SERIE, ME.CODCOLCFO, ME.DATASAIDA, ME.CODCFO FROM TMOV ME WHERE ME.CODTMV IN ('2.1.01') AND ME.DATAMOVIMENTO >= '2010-04-01' AND ME.DATAMOVIMENTO <= '2010-04-09' ) AS TABENTR , -- MOV. DE ENTRADA (SELECT * FROM TMOVRELAC WHERE TIPORELAC='P') AS RELAC, FCFO AS C WHERE TABENTR.IDMOV = RELAC.IDMOVDESTINO AND TABENTR.CODCOLIGADA = RELAC.CODCOLDESTINO AND TABPED.IDMOV = RELAC.IDMOVORIGEM AND TABPED.CODCOLIGADA = RELAC.CODCOLORIGEM AND C.CODCFO = TABENTR.CODCFO AND C.CODCOLIGADA = TABENTR.CODCOLCFO ORDER BY NOMEFANTASIA, DATAENTRADA Espero ter ajudado ... Abraço, Quote
Jairo Posted April 9, 2010 Topic Count: 192 Topics Per Day: 0.03 Content Count: 1,767 Content Per Day: 0.26 Reputation: 2 Achievement Points: 10,704 Solved Content: 0 Days Won: 1 Status: Offline Age: 52 Report Posted April 9, 2010 Errei ali ... Onde tem : FROM TMOV ME WHERE ME.CODTMV IN ('2.1.01') deve ser: FROM TMOV ME WHERE ME.CODTMV IN ('2.2.01') ... o teu movimento de NF. Quote
Alexandre Gondim Posted April 12, 2010 Topic Count: 65 Topics Per Day: 0.01 Content Count: 654 Content Per Day: 0.10 Reputation: 2 Achievement Points: 3,929 Solved Content: 0 Days Won: 2 Status: Offline Age: 44 Device: Windows Author Report Posted April 12, 2010 Errei ali ...Onde tem : FROM TMOV ME WHERE ME.CODTMV IN ('2.1.01') deve ser: FROM TMOV ME WHERE ME.CODTMV IN ('2.2.01') ... o teu movimento de NF. Jairo, bom dia! Como sempre fera!!! Funcionou sim, mas como você mencionou devo usar a TITMMOVRELAC, então estou tentando fazer este relacionamento bom base em sua sentença e ainda não consegui, mas desde já agradeço!!! Obrigado! At, Alexandre Gondim 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.