Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá Pessoal,
Estou montando uma analise do movimento bancário e precisaria gerar o saldo anterior para que seja possível: saldo anterior + entrada – saída = saldo atual
Se alguém puder me ajudar desde já agradeço.
Data Lançamento | Saldo Inicial | Valor_Entrada | Valor_Saída | Saldo Final |
---|---|---|---|---|
01/06/2014 | 1.000,00 | 200,00 | 100,00 | 1.100,00 |
04/06/2014 | 1.100,00 | 0,00 | 100,00 | 1.000,00 |
08/06/2014 | 1.000,00 | 0,00 | 300,00 | 700,00 |
O saldo inicial é o saldo final do dia anterior. Mas pode haver intervalos de dadas.
O Valor_Entradas e Valor_Saída já busco do banco de dados.
O Saldo Final é Saldo Inicial + Valor Entrada - Valor Saída.
Tratei o script da seguinte forma.
// --- Conta Caixa --- //
SQL SELECT
CD_CONTA,
CD_GRUPOCXA,
NM_CONTA
FROM CONTACXA WHERE CD_GRUPOCXA > '0';
// --- Lançamentos no Caixa --- //
LOAD
*,
YEAR(DT_MOVIMENTO) AS ANO,
MONTH(DT_MOVIMENTO) AS MES,
DAY(DT_MOVIMENTO) AS DIA,
DATE(DT_MOVIMENTO) AS DATA,
WEEK(DT_MOVIMENTO) AS SEMANA,
WEEKDAY(DT_MOVIMENTO) AS DIA_SEMANA;
SELECT
CD_CONTA,
CD_FILIAL,
DT_LANCAMENTO,
DT_MOVIMENTO,
FL_CONCILIADO,
FL_DC,
NM_HISTORICO,
VL_LANCAMENTO,
// ENTRADA
CASE
WHEN FL_DC = 'D' AND CD_FILIAL = '1'
THEN (VL_LANCAMENTO)
ELSE
0
END
AS VALOR_ENTRADA,
// SAIDA
CASE
WHEN FL_DC = 'C' AND CD_FILIAL = '1'
THEN (VL_LANCAMENTO)
ELSE
0
END
AS VALOR_SAIDA,
NR_DOCUMENTO,
SR_DOCUMENTO,
TP_LANCAMENTO
FROM FINCXALCT;
MOVIMENTO:
LOAD
CD_FILIAL,
CD_CONTA,
DT_MOVIMENTO,
VL_LANCAMENTO,
FL_DC,
rangesum (
if (CD_FILIAL = Peek(CD_FILIAL) AND CD_CONTA = PEEK (CD_CONTA),
rangesum ((VALOR_SAIDA-VALOR_ENTRADA), PEEK (SALDO)), (VALOR_SAIDA-VALOR_ENTRADA)))
AS SALD0_CAIXA
RESIDENT FINCXALCT ORDER BY DT_MOVIMENTO;
Beleza Andre,
Eu acredito que o valor anterior você não precisa criar no script, pode ser uma expressão mesmo.
Com os campos SALDO, VALOR_ENTRADA e VALOR_SAIDA dá para recuperar o valor anterior:
sum(SALDO-VALOR_ENTRADA+VALOR_SAIDA)
Abs,
Cesar
Olá Andre,
Eu anexei um arquivo de exemplo, vê se é isso que você precisa.
Abs,
Cesar
Bom dia Cesar,
Ótima dica, ajudou bastante porém precisaria ter uma coluna que apresente o saldo anterior (saldo) do ultimo movimento. Abaixo segue ilustração na coluna em AMARELO.
Isso é possivel?
Abraço
Beleza Andre,
Eu acredito que o valor anterior você não precisa criar no script, pode ser uma expressão mesmo.
Com os campos SALDO, VALOR_ENTRADA e VALOR_SAIDA dá para recuperar o valor anterior:
sum(SALDO-VALOR_ENTRADA+VALOR_SAIDA)
Abs,
Cesar
André...
Veja se te ajuda...
Abraços.
Segue exemplo
Olá Marco,
Você tem como postar o script para que eu possa analisar, não estou conseguindo abrir esse qvw!!
abraço
André
Rogério,
Você consegue enviar para mim o script da carga, pois também não estou conseguindo abrir esse .qvw não sei se pode estar corrompido o arquivo ao anexar...
Desde ja agradeço
André
César, consegui tratar para algumas contas porém aproveitei essa dica para tratar uma análise dos estoques.
Valeu...
André,
A carga é igual a sua, mudei apenas algumas expressões... estou postando abaixo:
SALDOANTERIOR:
if(isnull(Above(VALOR_ENTRADA - VALOR_SAIDA)), 0,Above(Column(1) + Column(2) - Column(3)))
SALDOFINAL:
Column(1) + Column(2) - Column(3)
A tabela ficou igual a imagem em anexo. Veja se lhe ajuda.
Abraços.