Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Dúvida com relacionamento (TMOVRELAC)


Posts Recomendados


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  192
  • Tópicos/Dia:  0.03
  • Meu Conteúdo:  1.767
  • Conteúdo/Dia:  0.27
  • Reputação:   2
  • Pontos/Conquistas:  10.702
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  52

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 ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  192
  • Tópicos/Dia:  0.03
  • Meu Conteúdo:  1.767
  • Conteúdo/Dia:  0.27
  • Reputação:   2
  • Pontos/Conquistas:  10.702
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  52

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,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  192
  • Tópicos/Dia:  0.03
  • Meu Conteúdo:  1.767
  • Conteúdo/Dia:  0.27
  • Reputação:   2
  • Pontos/Conquistas:  10.702
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  52

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.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  65
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  654
  • Conteúdo/Dia:  0.11
  • Reputação:   1
  • Pontos/Conquistas:  3.926
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44
  • Dispositivo:  Windows

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

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.