Dividir valor em parcelas

06/04/2014

0

ae pessoal,eu
tenho um form com um grid q mostra todas as parcelas do cliente, com os valores
divididos corretamente pelo tanto de parcelas existentes. Ate ai tudo bem, mas
eu queria fazer assim: caso o cliente resolvesse pagar um valor a mais q o
valor gerado para a parcela teria uma funcao q recalculasse automaticamente o valor das outras
parcelas restantes. Outro problema e q, para este recalculo destas parcelas fosse descontado o valor ja pago pelo cliente e, tambem, não permitisse a alteraçao nas parcelas ja pagas.

Obrigado a todos.
Jackson Almeida

Jackson Almeida

Responder

Posts

06/04/2014

Marisiana Battistella

Olá Jackson!
Você teria que ter um campo que identifique se a parcela está paga ou não e quando você for fazer esse recálculo, você utiliza esse campo para verificar se a parcela esta´paga ou não e para aplicar as alterações nos valores apenas das parcelas ainda não pagas.
Não sei se consegui me fazer entender..
Responder

15/04/2014

Flávio Matias

não seria mais simples dar esse valor a mais em desconto da próxima parcela, do que repartir entre as parcelas que restaram..?..
Responder

15/04/2014

Cauê Nishijima

Acho que da pra fazer da seguinte forma:

valorPagoAMaior := valorPago - valorParcelaAtual;


e executar as seguinte SQLs

SELECT count(*) AS parcelasRestantes FROM tb_parcelas WHERE cliente = :cliente AND prestacao = :prestacao AND pago = 'N'


com o retorno você efetua:

descontoDeCadaParcelaRestante := valorPagoAMaior / parcelasRestantes


e para finalizar executa a seguinte SQL:

UPDATE tb_parcelas SET valor = valor - :descontoDeCadaParcelaRestante WHERE  cliente = :cliente AND prestacao = :prestacao AND pago = 'N'


Essa é a lógica com umas adaptações você pode aplicar no seu projeto!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar