query para retornar num dbgrid parcela atrasada cobrando juros de 0.0033% ao dia mais multa de 0.02% no delphi usando banco mysql
24/03/2017
0
//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
Posts
26/03/2017
Italo Pereira
if (data_vencimento > now) then begin if ((now - data_vencimento) > 3) then begin showmessage('tem mais de três dias'); end; end;
26/03/2017
Programador Aloprado
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!
26/03/2017
Marcos Albano
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;
26/03/2017
Marcos Albano
se puder analisar eu agradeço
Clique aqui para fazer login e interagir na Comunidade :)