Extrato bancario usando IReport
Boa tarde, estou tendo dificildades para criar um relatorio de extrato bancario, ate consegui fazer com que calcule o saldo atual em cada linha do relatorio utilizando uma variavel criada la dentro do ireport, porem, estou tendo uma dificuldade em pegar o saldo transportado anterior ao periodo que solicitei o extrato. Exemplificando:
Se solicito o extrato do periodo 01/08/2010 a 31/08/2010, o sistema deve percorrer todos os registros anterior a 01/08/2010 para trazer o saldo transportado e so depois comecar a calcular o saldo atual que seria pegar este saldo transportado e somar ou subtrair com o primeiro registro apos esta data de acordo com o tipo debito ou credito.
Como faço para criar este campo e receber este saldo transportado?
Aguardo
Se solicito o extrato do periodo 01/08/2010 a 31/08/2010, o sistema deve percorrer todos os registros anterior a 01/08/2010 para trazer o saldo transportado e so depois comecar a calcular o saldo atual que seria pegar este saldo transportado e somar ou subtrair com o primeiro registro apos esta data de acordo com o tipo debito ou credito.
Como faço para criar este campo e receber este saldo transportado?
Aguardo
Iramar Junior
Curtidas 0
Respostas
Davi Costa
16/11/2010
Iramar,
faz esse cálculo no Java e passa ele como parâmetro no Ireport.
E usa esse parâmetro para seu cálculona prmeira data.
Att Davi
faz esse cálculo no Java e passa ele como parâmetro no Ireport.
E usa esse parâmetro para seu cálculona prmeira data.
Att Davi
GOSTEI 0
Iramar Junior
16/11/2010
Davi, ate conseguir fazer dentro do ireport, so que agora estou com a seguinte dificuldade:
preciso fazer um if em uma variavel e nao estou conseguindo, o que preciso é o seguinte if:
if (mov_tipo = "D")
saldoatual - mov_valor
else if (mov_tipo = "C")
saldoatual + mov_valor
ate coloquei assim no ireport mas esta dando certo
($F.equals("D")) ? $F.plus()-$F.plus()
:
$F.plus()+$F.plus()
preciso fazer um if em uma variavel e nao estou conseguindo, o que preciso é o seguinte if:
if (mov_tipo = "D")
saldoatual - mov_valor
else if (mov_tipo = "C")
saldoatual + mov_valor
ate coloquei assim no ireport mas esta dando certo
($F.equals("D")) ? $F.plus()-$F.plus()
:
$F.plus()+$F.plus()
GOSTEI 0
Dyego Carmo
16/11/2010
Resolvido ?
GOSTEI 0
Iramar Junior
16/11/2010
Bom dia Dyego,
Nada resolvido...
esta acontecendo uma coisa muito estranho. No ireport fiz um query e uma subquery a primeira selecionando os registros no intervalo inicial e final da data do extrato e a segunda query somente para recuparar o saldo transportado antes da da inicial.
O que o relatorio deveria fazer, pegar este saldo transportado e ir comparando cada registro antes de imprimir e ver se é do tipo "D"ebito ou "C"redito e fazer a operacao e atualizar, so que no primeiro registro blz, mas apartir do segundo registro ate verifica e faz o calcula, mas soma o registro anterior.... Ex.
suponha que tenho saldo transportado de 1000,00, o primeiro registro é um Debito no valor de 20,00, entao ficaria
1000,00 - 20,00 e o saldo atual 980,00, o segundo registro é debito de 80,00, entao ficaria 980,00 - 80,00 saldo atual 900,00 e assim por diante...
so que no ireport nao esta fazendo assim, nao sei onde ele busca mas o relatorio esta ficando assim:
pegando o mesmo exemplo que tenho saldo transportado de 1000,00, o primeiro registro é um Debito no valor de 20,00, entao ficaria 1000,00 - 20,00 e o saldo atual 980,00, o segundo registro é debito de 80,00, entao ficaria 980,00 - 80,00 saldo atual 920,00...
isso nao esta correto
---------------------------------------------------------------
Salto transportado 1000,00
---------------------------------------------------------------
lancamento debito 20,00 980,00
lancamento debito 80,00 920,00
correto seria
---------------------------------------------------------------
Salto transportado 1000,00
---------------------------------------------------------------
lancamento debito 20,00 980,00
lancamento debito 80,00 900,00
o que pode esta acontecendo???
Nada resolvido...
esta acontecendo uma coisa muito estranho. No ireport fiz um query e uma subquery a primeira selecionando os registros no intervalo inicial e final da data do extrato e a segunda query somente para recuparar o saldo transportado antes da da inicial.
O que o relatorio deveria fazer, pegar este saldo transportado e ir comparando cada registro antes de imprimir e ver se é do tipo "D"ebito ou "C"redito e fazer a operacao e atualizar, so que no primeiro registro blz, mas apartir do segundo registro ate verifica e faz o calcula, mas soma o registro anterior.... Ex.
suponha que tenho saldo transportado de 1000,00, o primeiro registro é um Debito no valor de 20,00, entao ficaria
1000,00 - 20,00 e o saldo atual 980,00, o segundo registro é debito de 80,00, entao ficaria 980,00 - 80,00 saldo atual 900,00 e assim por diante...
so que no ireport nao esta fazendo assim, nao sei onde ele busca mas o relatorio esta ficando assim:
pegando o mesmo exemplo que tenho saldo transportado de 1000,00, o primeiro registro é um Debito no valor de 20,00, entao ficaria 1000,00 - 20,00 e o saldo atual 980,00, o segundo registro é debito de 80,00, entao ficaria 980,00 - 80,00 saldo atual 920,00...
isso nao esta correto
---------------------------------------------------------------
Salto transportado 1000,00
---------------------------------------------------------------
lancamento debito 20,00 980,00
lancamento debito 80,00 920,00
correto seria
---------------------------------------------------------------
Salto transportado 1000,00
---------------------------------------------------------------
lancamento debito 20,00 980,00
lancamento debito 80,00 900,00
o que pode esta acontecendo???
GOSTEI 0
Dyego Carmo
16/11/2010
Muito estranho , esta parecendo algum erro na soma... ele está somando invertido nesta ultima variavel...
GOSTEI 0