Movimentos de estoques

Auditoria nos custos de um produto

ESTOQUE.MOVIMENTOS_ESTOQUES.FAQ-107089
Para auditar os custos nos movimentos de estoque de um determinado produto, pode-se executar o SQL abaixo:

codigo
select id from produtos where produto = '6797';
set id ${last.id};

select *

from (
select data_movimento
, t.sequencia
, t.operacao
, m.id
, m.quantidade
, m.quantidade_acumulada
, sum(quantidade * case when t.operacao = 'E' then 1 else -1 end)
 over(
       order by m.data_movimento
       , t.sequencia
       , t.operacao
       , t.tipo_movimentacao
       , m.id
 ) as saldo_calculado
, m.custo_financeiro_acumulado
, sum(custo_financeiro * case when t.operacao = 'E' then 1 else -1 end)
 over(
       order by m.data_movimento
       , t.sequencia
       , t.operacao
       , t.tipo_movimentacao
       , m.id
 ) as financeiro_calculado

from movimentos_estoques m
join tipos_movimentacoes_estoques t on t.id = m.tipo_movimentacao_estoque_id
where produto_id = ${id}
and estabelecimento_id = 392712
       order by m.data_movimento
       , t.sequencia
       , t.operacao
       , t.tipo_movimentacao
       , m.id
) q
where quantidade_acumulada <> saldo_calculado
;