Ir para conteúdo

Movimentações<b> (Resolvido)</b>


Neilson

Posts Recomendados


  • Tópicos Que Criei:  52
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  129
  • Conteúdo/Dia:  0.02
  • Reputação:   1
  • Pontos/Conquistas:  1.156
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Sr..

Alguêm ai tem um cubo que retorne as ultimas compras de materiais tipo:

Produtos nome dataultimacompra movimento Ultimopreço ultimaquantidade

Tenho um aqui que me retorna produto por produto,nele tenho que colocar o código. Há essa sql lá :

SELECT TOP 1

CONVERT(CHAR(12),TMOV.DATAEMISSAO, 111) AS EMISSAO,

GCOLIGADA.NOME AS COLIGADA,

TPRD.CODIGOPRD AS CODIGO,

TPRD.NOMEFANTASIA AS'NOME DO MATERIAL',

TTMV.NOME AS 'TIPO COMPRAS',

FCFO.NOMEFANTASIA AS FORNECEDOR,

TMOV.NUMEROMOV AS NUMEROMOV,

TMOV.DATAEMISSAO AS 'DATAEMISSAO',

TITMMOV.QUANTIDADE AS QUANTIDADE,

TITMMOV.PRECOUNITARIO AS PRECO

FROM

TPRD (NOLOCK), TMOV (NOLOCK), TITMMOV (NOLOCK), FCFO (NOLOCK),

TTMV (NOLOCK),GCOLIGADA (NOLOCK)

WHERE

(TMOV.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND

(TPRD.CODIGOPRD=:CODIGO_MATERIAL_S) AND

(TMOV.IDMOV = TITMMOV.IDMOV) AND

(TMOV.CODCFO = FCFO.CODCFO) AND

(TMOV.CODCOLCFO = FCFO.CODCOLIGADA) AND

(TMOV.CODTMV = TTMV.CODTMV) AND

(TITMMOV.IDPRD = TPRD.IDPRD) AND

(TTMV.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND

(TTMV.CODTMV LIKE '1.2%') AND

(TPRD.CODIGOPRD IN (

'70.02.0084',

'70.01.0049',

'70.01.0005',

'83.02.0007',

'83.02.0008',

'83.02.0009',

'83.02.0010',

'70.01.0053',

'70.01.0043',

'70.02.0006',

'71.04.0002',

'71.04.0001',

'70.01.0048',

'35.01.0001',

'70.02.0092',

'70.02.0091',

'70.02.0040',

'70.02.0041',

'70.02.0038',

'70.02.0039',

'70.02.0035',

'70.02.0025',

'70.02.0026',

'70.02.0093',

'70.02.0016',

'70.01.0016',

'70.02.0018',

'70.02.0031',

'70.02.0032',

'70.02.0019',

'70.02.0020',

'70.02.0021',

'70.02.0022',

'70.02.0023',

'70.02.0024',

'70.02.0078',

'70.02.0096',

'70.02.0097',

'70.02.0081',

'70.02.0083',

'70.02.0082',

'70.02.0050',

'70.02.0094',

'70.02.0009',

'92.01.0022',

'92.01.0023',

'92.01.0002',

'92.01.0001',

'92.01.0005',

'92.01.0004',

'92.01.0034',

'92.01.0024',

'92.01.0025',

'92.01.0026',

'92.01.0027',

'92.01.0028',

'92.01.0003',

'70.01.0013',

'83.02.0011',

'83.02.0005',

'83.02.0006',

'70.01.0043',

'70.01.0010',

'92.01.0015',

'70.01.0052',

'92.01.0030',

'70.01.0001',

'82.02.0001')) -------------> este e somente itens de materia prima.

AND (TPRD.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) AND

((FCFO.CODCOLIGADA = 0) OR (FCFO.CODCOLIGADA = GCOLIGADA.CODCOLIGADA))

GROUP BY

TPRD.CODIGOPRD, GCOLIGADA.NOME,FCFO.NOMEFANTASIA, TMOV.NUMEROMOV, TMOV.DATAEMISSAO,TPRD.NOMEFANTASIA,TITMMOV.QUANTIDADE,

TITMMOV.PRECOUNITARIO,TMOV.STATUS,TMOV.CODTMV,TTMV.NOME

ORDER BY CONVERT(CHAR(12),TMOV.DATAEMISSAO, 111) DESC

Agradeço se me ajudarem.

Neilson Ximenes

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  14
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  157
  • Conteúdo/Dia:  0.03
  • Reputação:   3
  • Pontos/Conquistas:  923
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline
  • Idade:  37

meu caro tenho está consulta que utilizei para módulo RM Officina, para buscar o movimento mais atual de um determinado produto, talvez posso lhe dar um direcionamento. segue abaixo:

SELECT TITMMOV.PRECOUNITARIO FROM TMOV

INNER JOIN TITMMOV On

TMOV.IDMOV = TITMMOV.IDMOV And

TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA

LEFT JOIN tprd On

TPRD.IDPRD = TITMMOV.IDPRD And

TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA

WHERE TPRD.CODIGOREDUZIDO =:ESPELHO#8 And

TMOV.CODCOLIGADA = '1' And

TMOV.IDMOV =

( SELECT Max(TMOV.IDMOV) FROM TITMMOV

INNER JOIN TMOV On

TMOV.IDMOV = TITMMOV.IDMOV And

TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA

INNER JOIN tprd On

TPRD.IDPRD = TITMMOV.IDPRD And

TPRD.CODCOLIGADA = TITMMOV.CODCOLIGADA

WHERE TPRD.CODIGOREDUZIDO =:ESPELHO#8 And

(TMOV.CODTMV = '1.1.03' or

TMOV.CODTMV = '2.2.17') )

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.802
  • Conteúdo/Dia:  1.34
  • Reputação:   291
  • Pontos/Conquistas:  106.268
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Offline
  • Idade:  51
  • Dispositivo:  Windows

Neilson,

so um detalhe, ao inves de informar cada produto que deseja na sentença, não seria mais facil vc usar uma tabela de classificação ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

select

B.CODIGOPRD,

B.DESCRICAO,

MAX(A.DATAEMISSAO),

C.NUMEROMOV,

A.PRECOUNITARIO,

A.QUANTIDADE

FROM

TITMMOV A

LEFT OUTER JOIN TPRD B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.IDPRD = B.IDPRD

LEFT OUTER JOIN TMOV C ON A.CODCOLIGADA = C.CODCOLIGADA AND A.IDMOV = C.IDMOV

WHERE

--Aqui você cria uma sentença que seleciona somente os produtos mat. prima

A.IDPRD IN (SELECT X.IDPRD FROM TPRD X WHERE X.CODIGOPRD LIKE 'HT1%') AND

C.CODTMV LIKE '1.2%' AND

--Aqui estou selecionando os movimentos do ano de 2010

DATEPART(YYYY,A.DATAEMISSAO) = '2010'

GROUP BY

B.CODIGOPRD,

B.DESCRICAO,

C.NUMEROMOV,

A.PRECOUNITARIO,

A.QUANTIDADE

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  52
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  129
  • Conteúdo/Dia:  0.02
  • Reputação:   1
  • Pontos/Conquistas:  1.156
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Deige, Jair e Alberto

Agradeços a vc´s pela dica, especificamente usei a select do Alberto, ficou beleza, mais esta duplicando as linhas de produtos. Só mais essa força, como faria para

retornar apenas a ultima movimentação (Apenas a ultima linha)?

Valeu.

70.01.0049 Emulsão aromatizante Uva 500000. Grapette 2009-11-06 00:00:00.000 000961 842.7000 3.0000

70.01.0049 Emulsão aromatizante Uva 500000. Grapette 2009-12-01 00:00:00.000 001303 842.7000 3.0000

70.02.0084 emulsão aromatizante uva 500184 2009-09-01 00:00:00.000 000047 16.2750 300.0000

70.02.0084 emulsão aromatizante uva 500184 2009-10-23 00:00:00.000 000954 16.2750 700.0000

70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-04-15 00:00:00.000 002825 11.6900 500.0000

70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-06-10 00:00:00.000 013964 11.6500 500.0000

70.01.0005 DENSIDADE (g/ml)25ºC 0,938 a 0,950, RESIDUO SECO(g/ml) 2009-09-10 00:00:00.000 032456 19.3100 136.0000

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  15
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  285
  • Conteúdo/Dia:  0.05
  • Reputação:   1
  • Pontos/Conquistas:  1.548
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  40
  • Dispositivo:  Windows

select

B.CODIGOPRD,

B.DESCRICAO,

A.DATAEMISSAO,

C.NUMEROMOV,

A.PRECOUNITARIO,

A.QUANTIDADE

FROM

TITMMOV A

LEFT OUTER JOIN TPRD B ON A.CODCOLIGADA = B.CODCOLIGADA AND A.IDPRD = B.IDPRD

LEFT OUTER JOIN TMOV C ON A.CODCOLIGADA = C.CODCOLIGADA AND A.IDMOV = C.IDMOV

WHERE

--Aqui você cria uma sentença que seleciona somente os produtos mat. prima

A.IDPRD IN (SELECT X.IDPRD FROM TPRD X WHERE X.CODIGOPRD LIKE 'HT1%') AND

C.CODTMV LIKE '1.2%' AND

--Aqui estou selecionando os movimentos do ano de 2010

DATEPART(YYYY,A.DATAEMISSAO) = '2010' AND

AND A.DATAEMISSAO = (SELECT MAX(DATAEMISSAO) FROM TITMMOV X WHERE X.CODCOLIGADA = A.CODCOLIGADA AND X.IDPRD = A.IDPRD)

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  52
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  129
  • Conteúdo/Dia:  0.02
  • Reputação:   1
  • Pontos/Conquistas:  1.156
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Bom dia Pessoal,

Valeu Priscila, fiz apenas algumas alterações mais a solução foi Otima. Deu uma enxugada no filtro de Produtos, mudei para uma tabela de classificação.

Valeu Deige, Alberto, Jair e Precila

Editado por Neilson
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  52
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  129
  • Conteúdo/Dia:  0.02
  • Reputação:   1
  • Pontos/Conquistas:  1.156
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline

Tópico Fechado / Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título.

Se preferir, mande um email para admin@forumrm.com.br

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.