Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde,
Estou me batendo um pouco para resolver o script abaixo, pesquisei em vários resultados da comunidade e não consegui solucionar. O problema ocorre que o valor está duplicando na hora de acumular, segue abaixo o script.
Movimento:
LOAD
PK_ItemNat_Estoque,
DataHora_Estoque,
Vl_Entrada_Estoque,
Vl_Saida_Estoque,
Vl_Saldo_Estoque,
Cod_Natureza_Estoque,
NumSum( If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,
NumSum(Peek('Vl_Acumulado_Estoque', -1)) + NumSum(Vl_Saldo_Estoque)), NumSum(Vl_Saldo_Estoque)) as Vl_Acumulado_Estoque
RESIDENT Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc;
Precisava conseguir chegar nesse resultado.
Agradeço desde já qualquer ajuda.
Teste:
Movimento:
LOAD PK_ItemNat_Estoque,
DataHora_Estoque,
Vl_Entrada_Estoque,
Vl_Saida_Estoque,
Vl_Saldo_Estoque,
Cod_Natureza_Estoque,
If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque), Vl_Saldo_Estoque) as Vl_Acumulado_Estoque
RESIDENT Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc;
Teste:
Movimento:
LOAD PK_ItemNat_Estoque,
DataHora_Estoque,
Vl_Entrada_Estoque,
Vl_Saida_Estoque,
Vl_Saldo_Estoque,
Cod_Natureza_Estoque,
If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) ,RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque), Vl_Saldo_Estoque) as Vl_Acumulado_Estoque
RESIDENT Movimento_Temp Order By PK_ItemNat_Estoque,Data_Movimento_Estoque Asc;
Conseguiu resolver Rodrigo?
Se sim, não esqueça de marcar a resposta como correta e assim fecharmos o tópico.
Na dúvida de como fazer isso veja o item 2.3 do Manual do usuário | Como criar e gerir minhas perguntas?
Bom dia Thiago,
Desculpe a demora, mais ontem não consegui trabalhar nesse assunto. Acabei tendo uma reunião ontem o dia todo, mais já vou testar seu script e logo posto o resultado.
Beleza Rodrigo. Qualquer coisa grita aí!
Thiago, Não deu certo. Segue em anexo o .qvf se puder dar uma olhada.
Rodrigo, falha minha...
Altere para:
RangeSum(
If(PK_ItemNat_Estoque = Previous(PK_ItemNat_Estoque) and not IsNull(Previous(PK_ItemNat_Estoque)),
RangeSum(Peek(Vl_Acumulado_Estoque),Vl_Saldo_Estoque)), Vl_Saldo_Estoque) as Vl_Acumulado_Estoque
Thiago, Bom dia,
Testei a segunda opção e apresentou os valores mais fora ainda. Porem acabei encontrando uma forma de corrigir os lançamentos ajustando a ordenação dos resultados. Parece que agora funcionou com o primeiro comando que você havia enviado, o segundo script o valor a soma acumulada total dá divergência no final.