Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Então uso hoje para buscar a posição atual dos estoques utilizo o seguinte script abaixo, porém ele faz a leitura dos saldos (saida e entrada) desde o inicio dos dados.
Como eu poderia facilitar isso para que busque o saldo inicial de determinado período, exemplo saldo do dia 31/12/2016 para agilizar o tempo de leitura?
SELECT PRODUTOS.PRO_CODIGO,
PRODUTOS.PRO_REFERENCIA,
PRODUTOS.PRO_RESUMO,
PRODUTOS.PRO_UND_CODIGO,
PRODUTOS.PRO_TIPO,
PRODUTOS.PRO_SITUACAO,
PRODUTOS.PRO_NIVEL1,
PRODUTOS.PRO_NIVEL2,
PRODUTOS.PRO_CUSTOFISCAL,
PRODUTOS.PRO_CUSTOCOMPRA,
PRODUTOS.PRO_PESO,
SUM(PRODUTOS_MOVIMENTOS_F.MOV_QUANTIDADE * PRODUTOS_MOVIMENTOS_F.MOV_TIPO) AS PRO_SALDO
FROM PRODUTOS_MOVIMENTOS_F
INNER JOIN PRODUTOS ON (PRODUTOS_MOVIMENTOS_F.MOV_PRO_CODIGO = PRODUTOS.PRO_CODIGO)
LEFT OUTER JOIN FILIAIS ON (PRODUTOS_MOVIMENTOS_F.MOV_FIL_CODIGO = FILIAIS.FIL_CODIGO)
WHERE (PRODUTOS_MOVIMENTOS_F.MOV_DATA <= '30.04.2017')
AND (PRODUTOS_MOVIMENTOS_F.MOV_FIL_CODIGO IN ('4'))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11;
Você pode salvar o retorno do seu SQL em um qvd e depois fazer o load desse QVD e filtrar o período que você quiser, visa setanalysis, ou no proprio load.
Ou então se quiser mudar o comando SQL, acredito que se mudar o seu where para que fique assim:
WHERE (PRODUTOS_MOVIMENTOS_F.MOV_DATA >= DATA_INICIAL And PRODUTOS_MOVIMENTOS_F.MOV_DATA <= '30.04.2017')
Teoricamente resolve, se entendi corretamente o que você quer.