query para retornar num dbgrid parcela atrasada cobrando juros de 0.0033% ao dia mais multa de 0.02% no delphi usando banco mysql
//rotina para baixar a parcela selecionada
//essa é a programação que tenho mas ela só baixa a parcela e atualiza no caixa precisava de uma programação para checar na tabela se a prestação tem mais que
3 dias de atraso, caso alguém possa ajudar
//obs. não seria mais lógico eu mudar o lay-out da tela ?, essa programação vai num speedbuttom, agradeço desde já
TB_baixarParcela.Active := True;
TB_baixarParcela.Locate('parc_id', SQL_parcelasProntasparc_id.Value, []);
TB_baixarParcela.Edit;
TB_baixarParcelaparc_pago.Value := 'SIM';
TB_baixarParcelaparc_data_pago.Value := Date;
TB_baixarParcela.Post;
ShowMessage('Parcela paga com sucesso !!');
//lançar no caixa
with dm.SQL_caixa do
begin
Close;
SQL.Clear;
SQL.Add('update caixa set caixa_valor = caixa_valor + :valor');
SQL.Add('where caixa_data_abre = :data and caixa_usuario = :user');
ParamByName('user').Value := dm.SQL_usuariosuser_id.Value;
ParamByName('data').Value := Date;
ParamByName('valor').Value := SQL_parcelasProntasparc_valor.Value;
ExecSQL;
end;Marcos Albano
Curtidas 0
Respostas
Italo Pereira
24/03/2017
tenta assim:
if (data_vencimento > now) then
begin
if ((now - data_vencimento) > 3) then
begin
showmessage('tem mais de três dias');
end;
end;GOSTEI 0
Programador Aloprado
24/03/2017
Bom dia Marcos!
Só para ter certeza que eu entendi direito. No momento de dar a baixa na parcela você quer calcular o juros e a multa? Ou você quer fazer o calculo no momento de listar? Por que se for na listagem, era bom postar o código que faz a listagem.
Espero ter ajudado!
Só para ter certeza que eu entendi direito. No momento de dar a baixa na parcela você quer calcular o juros e a multa? Ou você quer fazer o calculo no momento de listar? Por que se for na listagem, era bom postar o código que faz a listagem.
Espero ter ajudado!
GOSTEI 0
Marcos Albano
24/03/2017
boa tarde programador, primeiramente obrigado pela ajuda, eu estou tentando retornar multa e juros na grid para o cliente visualizar, e sim ao selecionar na grid gostaria que os valores aparecessem, vou postar o que tentei fazer achei uma função power tentei usar ela mas foi em vão segue:
procedure TF_baixarParcelas.btn_pagarParcelaClick(Sender: TObject);
var Juros, var1, var2 :Real;
var diasAtraso :TDateTime;
begin
//calculo de juros
Juros := 0;
var1 := 0;
var2 := 0;
diasAtraso:= TB_baixarParcelaparc_data_pago.Value - TB_baixarParcelaparc_vence.Value;
if diasAtraso > 3 then
begin
var1 := (1+(0.02 * 0.0033));
var2 := Power(var1, diasAtraso);
Juros := (TB_baixarParcelaparc_valor.Value * var2) - TB_baixarParcelaparc_valor.Value;
TB_baixarParcelaparc_juros.Value := Juros;
//rotina para baixar a parcela selecionada
TB_baixarParcela.Active := True;
TB_baixarParcela.Locate(''parc_id'', SQL_parcelasProntasparc_id.Value, []);
TB_baixarParcela.Edit;
TB_baixarParcelaparc_pago.Value := ''SIM'';
TB_baixarParcelaparc_data_pago.Value := Date;
TB_baixarParcela.Post;
ShowMessage(''Parcela paga com sucesso !!'');
end
else
begin
//rotina para baixar a parcela selecionada
TB_baixarParcela.Active := True;
TB_baixarParcela.Locate(''parc_id'', SQL_parcelasProntasparc_id.Value, []);
TB_baixarParcela.Edit;
TB_baixarParcelaparc_pago.Value := ''SIM'';
TB_baixarParcelaparc_data_pago.Value := Date;
TB_baixarParcela.Post;
ShowMessage(''Parcela paga com sucesso !!'');
end;
//lançar no caixa
with dm.SQL_caixa do
begin
Close;
SQL.Clear;
SQL.Add(''update caixa set caixa_valor = caixa_valor + :valor'');
SQL.Add(''where caixa_data_abre = :data and caixa_usuario = :user'');
ParamByName(''user'').Value := dm.SQL_usuariosuser_id.Value;
ParamByName(''data'').Value := Date;
ParamByName(''valor'').Value := SQL_parcelasProntasparc_valor.Value;
ExecSQL;
end;
//===================================================================
//atualização da sql
SQL_parcelasProntas.Close;
SQL_parcelasProntas.Open;
end;
GOSTEI 0
Marcos Albano
24/03/2017
tentei dessa forma, mas acabei me perdendo no caminho, duvida, pra listar juros, parcela, vencto eu preciso de uma view para a grid?, e a programação está correta na tb_baixarparcela_valor?
se puder analisar eu agradeço
se puder analisar eu agradeço
GOSTEI 0