Mensalidades para valor maior que mensalidade
Gente preciso de ajuda
1 - preciso desenvolver um sistema que lança mensalidades manuais...
2 - mas so qero que ele gere mensalidades para uma pessoa que tenha VALOR A PAGAR >= A VALOR DA PARCELA. pois se tiver parcela maior que deve pagar ele não cria.
como faço...
Exemplo:
Meu codigo e esse:
procedure Tf_gerar_parcelas.BitBtn1Click(Sender: TObject);
begin
/// falta colocar o codigo para verificar se já tem um vencimento cadastrado
dm.QyClientes.Open;
dm.QyVencimentos.Open;
dm.TBFinalizado.Open;
pb.Max:= dm.QyClientes.RecordCount;
pb.Min:= 0;
pb.Position:= 0;
panel1.Visible:= true;
dm.QyClientes.first;
while dm.QyClientesVAL_FALTA_PAGAR.Value <= dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat do
begin
pb.Position:= pb.Position+1;
dm.QyVencimentos.Insert;
dm.QyVencimentosDT_GERACAO.Value := date ;
dm.QyVencimentosIDCLIENTE.Value := dm.QyClientesID.Value ;
dm.QyVencimentosDT_VENCIMENTO.Value:= dtpVencimento.Date;
dm.QyVencimentosVL_BEM.Value := dm.QyClientesVL_BEM.Value;
dm.QyVencimentosPERC_PARCELA.Value := dm.QyClientesP_MENSAL.Value;
dm.QyVencimentosPERC_ADM.Value := dm.QyClientesP_ADMINS.Value;
dm.QyVencimentosPERC_RESERVA.Value := dm.QyClientesP_RESERV.Value;
dm.QyVencimentosPERC_SEGURO.Value:= dm.QyClientesP_SEGURO.Value;
dm.QyVencimentosDiferenca.value:= dm.QyClientesDIFERENCA.Value;
dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat:= dm.QyVencimentos.FieldByName(''VL_BEM'').AsFloat * dm.QyVencimentos.FieldByName(''PERC_PARCELA'').AsFloat /100;
dm.QyVencimentosVL_ADM.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_ADM.Value /100;
dm.QyVencimentosVL_RESERVA.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_RESERVA.Value /100;
dm.QyVencimentosVL_SEGURO.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_SEGURO.Value / 100;
dm.QyVencimentosMULTA_ATRASO.Value:= 0;
dm.QyVencimentosJUROS_DIA.Value:= 0;
dm.QyVencimentos.post;
dm.QyClientes.Edit;
dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat:= dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat - dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat ;
dm.QyClientes.FieldByName(''VAL_PAGO'').AsFloat:= dm.QyClientes.FieldByName(''VAL_PAGO'').AsFloat + dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat;
dm.QyClientes.Post;
dm.QyClientes.next;
end;
Label2.Caption:= ''Parcelas Geradas com sucesso..'';
dm.QyClientes.Refresh;
dm.QyVencimentos.Refresh;
end;
dai qero que qando dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat
for menor que dm.QyVencimentosVL_PARCELA.value
ele não insrira mas... Ou seja, nao crie parcela....
Mas insira em uma tabela Finalizado...
1 - preciso desenvolver um sistema que lança mensalidades manuais...
2 - mas so qero que ele gere mensalidades para uma pessoa que tenha VALOR A PAGAR >= A VALOR DA PARCELA. pois se tiver parcela maior que deve pagar ele não cria.
como faço...
Exemplo:
Meu codigo e esse:
procedure Tf_gerar_parcelas.BitBtn1Click(Sender: TObject);
begin
/// falta colocar o codigo para verificar se já tem um vencimento cadastrado
dm.QyClientes.Open;
dm.QyVencimentos.Open;
dm.TBFinalizado.Open;
pb.Max:= dm.QyClientes.RecordCount;
pb.Min:= 0;
pb.Position:= 0;
panel1.Visible:= true;
dm.QyClientes.first;
while dm.QyClientesVAL_FALTA_PAGAR.Value <= dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat do
begin
pb.Position:= pb.Position+1;
dm.QyVencimentos.Insert;
dm.QyVencimentosDT_GERACAO.Value := date ;
dm.QyVencimentosIDCLIENTE.Value := dm.QyClientesID.Value ;
dm.QyVencimentosDT_VENCIMENTO.Value:= dtpVencimento.Date;
dm.QyVencimentosVL_BEM.Value := dm.QyClientesVL_BEM.Value;
dm.QyVencimentosPERC_PARCELA.Value := dm.QyClientesP_MENSAL.Value;
dm.QyVencimentosPERC_ADM.Value := dm.QyClientesP_ADMINS.Value;
dm.QyVencimentosPERC_RESERVA.Value := dm.QyClientesP_RESERV.Value;
dm.QyVencimentosPERC_SEGURO.Value:= dm.QyClientesP_SEGURO.Value;
dm.QyVencimentosDiferenca.value:= dm.QyClientesDIFERENCA.Value;
dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat:= dm.QyVencimentos.FieldByName(''VL_BEM'').AsFloat * dm.QyVencimentos.FieldByName(''PERC_PARCELA'').AsFloat /100;
dm.QyVencimentosVL_ADM.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_ADM.Value /100;
dm.QyVencimentosVL_RESERVA.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_RESERVA.Value /100;
dm.QyVencimentosVL_SEGURO.value:= dm.QyVencimentosVL_PARCELA.value * dm.QyVencimentosPERC_SEGURO.Value / 100;
dm.QyVencimentosMULTA_ATRASO.Value:= 0;
dm.QyVencimentosJUROS_DIA.Value:= 0;
dm.QyVencimentos.post;
dm.QyClientes.Edit;
dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat:= dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat - dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat ;
dm.QyClientes.FieldByName(''VAL_PAGO'').AsFloat:= dm.QyClientes.FieldByName(''VAL_PAGO'').AsFloat + dm.QyVencimentos.FieldByName(''VL_PARCELA'').AsFloat;
dm.QyClientes.Post;
dm.QyClientes.next;
end;
Label2.Caption:= ''Parcelas Geradas com sucesso..'';
dm.QyClientes.Refresh;
dm.QyVencimentos.Refresh;
end;
dai qero que qando dm.QyClientes.FieldByName(''VAL_FALTA_PAGAR'').AsFloat
for menor que dm.QyVencimentosVL_PARCELA.value
ele não insrira mas... Ou seja, nao crie parcela....
Mas insira em uma tabela Finalizado...
Kleber Almeida
Curtidas 0