× Linguagem de Programação ADVPL

Perguntas Relatório de Produtos Obsoletos

Mais
11 anos 2 semanas atrás #18266 por maiara_
Galera, alguém tem algum relatório de produtos obsoletos??

por exemplo um produto que há mais de um ano que não teve nem venda nem entrada.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 semanas atrás - 11 anos 2 semanas atrás #18274 por kanaamlrr
Respondido por kanaamlrr no tópico Relatório de Produtos Obsoletos
Maiara,
acho que essa query deve funcionar.
faz um teste ai.
Talvez precise adicionar um left join com a SB1 para garantir os produtos que não tiveram nenhuma movimentação também.
SELECT * FROM (
SELECT 
DISTINCT D2_COD AS CODIGO FROM SD2110 
GROUP BY D2_COD
HAVING MAX(D2_EMISSAO)<=CONVERT(CHAR,DATEADD(YY,-1,GETDATE()),112)
UNION ALL
SELECT 
DISTINCT D1_COD AS CODIGO FROM SD1110 
GROUP BY D1_COD
HAVING MAX(D1_EMISSAO)<=CONVERT(CHAR,DATEADD(YY,-1,GETDATE()),112)
) AS Q
GROUP BY CODIGO
HAVING COUNT(*) >1

Corrigindo a query, daquela forma poderia acontecer alguns problemas. de movimentação em uma das duas tabelas.
Ultima edição: 11 anos 2 semanas atrás por kanaamlrr.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 2 semanas atrás - 11 anos 2 semanas atrás #18275 por kanaamlrr
Respondido por kanaamlrr no tópico Relatório de Produtos Obsoletos
adicionei a condição para pegar produtos sem movimentações.
SELECT * FROM 
(SELECT 
DISTINCT D2_COD AS CODIGO FROM SD2110 
GROUP BY D2_COD
HAVING MAX(D2_EMISSAO)<=CONVERT(CHAR,DATEADD(YY,-1,GETDATE()),112)
UNION ALL
SELECT 
DISTINCT D1_COD AS CODIGO FROM SD1110 
GROUP BY D1_COD
HAVING MAX(D1_EMISSAO)<=CONVERT(CHAR,DATEADD(YY,-1,GETDATE()),112)
) AS Q
GROUP BY CODIGO
HAVING COUNT(*) >1
UNION ALL
SELECT 
DISTINCT B1_COD AS CODIGO FROM SB1070
LEFT JOIN SD1110 ON 
B1_COD = D1_COD
LEFT JOIN SD2110 ON
B1_COD = D2_COD
WHERE D1_COD IS NULL AND
D2_COD IS NULL

com base nisso você pode gerar seu relatório, mas não esqueça de tratar D_E_L_E_T_ e FILIAL
Ultima edição: 11 anos 2 semanas atrás por kanaamlrr.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.108 segundos
Joomla templates by a4joomla