Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Consulta de solicitação de compras


Go to solution Solved by luisgustavogomes,

Recommended Posts


  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  33
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

Boa tarde, gostaria de criar uma consulta SQL para um relatório de Solicitação de Compras. A consulta é a seguinte:

SELECT 

TPRD.CODIGOPRD, TPRD.NOMEFANTASIA,TPRD.CODUNDCOMPRA,
TITMMOV.QUANTIDADEORIGINAL, TITMMOV.PRECOUNITARIO, TITMMOV.QUANTIDADEORIGINAL * TITMMOV.PRECOUNITARIO AS PRECOTOTAL


,
TMOV.DATAEMISSAO, TMOV.NUMEROMOV , TMOV.DATAENTREGA,
TMOV.FRETECIFOUFOB,
ISNULL(TMOV.VALORFRETE,0) + ISNULL(TMOV.VALORFRETECTRC,0) + ISNULL(TMOV.VALOROUTROSORIG,0) AS VALORTOTFRETE,
TCPG.NOME AS CONDPAGTO, TTRA.NOME AS TRANSPORTADORA,
FCFO.NOMEFANTASIA NOMEFORNECEDOR, FCFO.CODCFO, FCFO.CONTATO,
ISNULL(FCFO.RUA,'') + ' - ' + ISNULL(CAST(FCFO.NUMERO AS varchar(10)), '') + '-' + ISNULL(GMUNICIPIO.NOMEMUNICIPIO,'') + ' - '+ ISNULL(FCFO.CODETD, '') AS ENDERECO,
FCFO.TELEFONE,
FCFO.CGCCFO AS CNPJ

FROM

TMOV

INNER JOIN TITMMOV ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND TMOV.IDMOV = TITMMOV.IDMOV
INNER JOIN TPRD ON TITMMOV.IDPRD = TPRD.IDPRD AND TITMMOV.CODCOLIGADA = TPRD.CODCOLIGADA
INNER JOIN FCFO ON TMOV.CODCOLCFO = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO
LEFT JOIN TTRA ON TMOV.CODCOLIGADA = TTRA.CODCOLIGADA AND TMOV.CODTRA = TTRA.CODTRA
LEFT JOIN TCPG ON TMOV.CODCOLIGADA = TCPG.CODCOLIGADA AND TMOV.CODCPG = TCPG.CODCPG
LEFT JOIN GMUNICIPIO ON FCFO.CODETD = GMUNICIPIO.CODETDMUNICIPIO AND FCFO.CODMUNICIPIO = GMUNICIPIO.CODMUNICIPIO
 
 WHERE
 TMOV.IDMOV = 3391

Porém não consigo puxar os dados da solicitação. Alguém poderia me ajudar?

  • Like 1

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  534
  • Content Per Day:  0.18
  • Reputation:   184
  • Achievement Points:  3,562
  • Solved Content:  0
  • Days Won:  77
  • Status:  Offline
  • Age:  37
  • Device:  Windows

Posted

@Lavinia, boa tarde, tudo bem? 

Poderias exemplificar no excel com um exemplo de como você precisa desse relatório! Pois, certamente existem milhões de formas diferentes de montar essa query, mas precisamos saber para lhe ajudar! 

Normalmente, esse tipo de relatório é para buscar o relacionamento entre movimentos de ordens de compra vs solicitações de compras e/ou notas fiscais para ordens e ordens para solicitações, criando o consulta de hierarquia de movimentos e itens de movimentos... bom, falando em movimentos podemos deixar a dica, caso for esse tipo de relatório que você precisa montar a questão do item é crucial para saber se vai pela TMOVRELAC e/ou a TITMMOVRELAC.

 

Ficamos no aguardo.

Abraços.

  • Like 2

  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  33
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

image.png.587745c1c15d3a612a1454e105fa41bf.png

  • Like 1
  • Solution

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  534
  • Content Per Day:  0.18
  • Reputation:   184
  • Achievement Points:  3,562
  • Solved Content:  0
  • Days Won:  77
  • Status:  Offline
  • Age:  37
  • Device:  Windows

Posted

@Lavinia, Bom dia! 

 

Desculpa a demora....

Segue um exemplo em SQLServer!

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET NOCOUNT ON;

SELECT T.CODCOLIGADA,T.IDMOV, T.CODTMV, T.NUMERO, T.CODFILIAL, R.*
FROM DBO.TMOV T 
OUTER APPLY
(
	SELECT CONCAT('SC: ', STRING_AGG(TT.NUMEROMOV, ' ;')) AS 'NRO'
	FROM DBO.TMOVRELAC RR
	JOIN DBO.TMOV TT ON ( RR.CODCOLORIGEM = TT.CODCOLIGADA AND RR.IDMOVORIGEM = TT.IDMOV)
	WHERE RR.CODCOLDESTINO = T.CODCOLIGADA 
	AND RR.IDMOVDESTINO = T.IDMOV 
) R
WHERE T.CODCOLIGADA = 1 
AND T.CODTMV = '1.1.02'
AND T.DATACRIACAO >= '2025-02-11'
OPTION (MAXDOP 1)

image.png

Como podes observar, existem relacionamento N para N nos movimentos.

Espero ajudar.

Abraços.

 

 

  • Like 1

  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Content Per Day:  0.01
  • Reputation:   2
  • Achievement Points:  33
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

@luisgustavogomes obrigada pela a ajuda!


  • Topic Count:  946
  • Topics Per Day:  0.13
  • Content Count:  9,184
  • Content Per Day:  1.26
  • Reputation:   459
  • Achievement Points:  109,775
  • Solved Content:  0
  • Days Won:  266
  • Status:  Offline
  • Age:  53
  • Device:  Windows

Posted
12 horas atrás, luisgustavogomes disse:

@Lavinia, Bom dia! 

 

Desculpa a demora....

Segue um exemplo em SQLServer!

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET NOCOUNT ON;

SELECT T.CODCOLIGADA,T.IDMOV, T.CODTMV, T.NUMERO, T.CODFILIAL, R.*
FROM DBO.TMOV T 
OUTER APPLY
(
	SELECT CONCAT('SC: ', STRING_AGG(TT.NUMEROMOV, ' ;')) AS 'NRO'
	FROM DBO.TMOVRELAC RR
	JOIN DBO.TMOV TT ON ( RR.CODCOLORIGEM = TT.CODCOLIGADA AND RR.IDMOVORIGEM = TT.IDMOV)
	WHERE RR.CODCOLDESTINO = T.CODCOLIGADA 
	AND RR.IDMOVDESTINO = T.IDMOV 
) R
WHERE T.CODCOLIGADA = 1 
AND T.CODTMV = '1.1.02'
AND T.DATACRIACAO >= '2025-02-11'
OPTION (MAXDOP 1)

 

Como podes observar, existem relacionamento N para N nos movimentos.

Espero ajudar.

Abraços.

 

 

Pode até demorar, mas a paulada na resposta vem, e vem forte!!!

Grande @luisgustavogomes... ótimo nos seus comentários e colaboração de forma geral aqui com a galera.

:tks:

 

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

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