Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 196 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá bom dia.

 

Cliente relatou um problema no Boleto, referente a taxa de juros.

 

Hoje nessa função está errada, já que cjValorMensal não deveria ser % ao mês e sim Valor por Mês.

O mesmo pra quando for cjTaxaDiaria, ele coloca como sendo valor diario. Unit ACBrBoleto.


function TACBrBoleto.GerarMensagemPadraoJuros(ATitulo: TACBrTitulo): String;
var ATipoJuros,AJurosQuando : String;
begin
  if (ATitulo.CodigoMoraJuros = [cjTaxaMensal, cjValorMensal]) or (ATitulo.CodigoMora = '2') or (ATitulo.CodigoMora = 'B') then
    ATipoJuros := FloatToStr(ATitulo.ValorMoraJuros) + '% ao mês'
  else
    ATipoJuros := FormatFloatBr(ATitulo.ValorMoraJuros, 'R$ #,##0.00 por dia');

  if ATitulo.DataMoraJuros <> 0 then
  begin
    if ATitulo.Vencimento = ATitulo.DataMoraJuros then
      AJurosQuando := 'após o vencimento'
    else
      AJurosQuando := 'a partir de '+FormatDateTime('dd/mm/yyyy',ATitulo.DataMoraJuros);
  end;(* else
    AJurosQuando := ' por dia de atraso';*) //TK-4612

  Result := ACBrStr(Format('Cobrar juros de %s de atraso para pagamento %s.',[ATipoJuros,AJurosQuando]));
end;

Segue correção do código

 


function TACBrBoleto.GerarMensagemPadraoJuros(ATitulo: TACBrTitulo): String;
var ATipoJuros,AJurosQuando : String;
begin  
  if (ATitulo.CodigoMoraJuros = cjTaxaMensal) or (ATitulo.CodigoMora = '2') or (ATitulo.CodigoMora = 'B') then
    ATipoJuros := FloatToStr(ATitulo.ValorMoraJuros) + '% ao mês'
  else if (ATitulo.CodigoMoraJuros = cjValorDia) then
    ATipoJuros := FormatFloatBr(ATitulo.ValorMoraJuros, 'R$ #,##0.00 por dia')
  else if (ATitulo.CodigoMoraJuros = cjValorMensal) then
    ATipoJuros := FormatFloatBr(ATitulo.ValorMoraJuros, 'R$ #,##0.00 ao mês')
  else if (ATitulo.CodigoMoraJuros = cjTaxaDiaria) then
    ATipoJuros := FloatToStr(ATitulo.ValorMoraJuros) + '% ao dia';
  
  if ATitulo.DataMoraJuros <> 0 then
  begin
    if ATitulo.Vencimento = ATitulo.DataMoraJuros then
      AJurosQuando := 'após o vencimento'
    else
      AJurosQuando := 'a partir de '+FormatDateTime('dd/mm/yyyy',ATitulo.DataMoraJuros);
  end;(* else
    AJurosQuando := ' por dia de atraso';*) //TK-4612

  Result := ACBrStr(Format('Cobrar juros de %s de atraso para pagamento %s.',[ATipoJuros,AJurosQuando]));
end;

 

Postado

Eu não segui nenhum manual, e sim a logica do campo.

Se o campo é preenchido com cjValorDia, então não é porcentagem. sendo assim estava saindo com informação errada, o que era no meu caso o valor era de R$ 25,00 reais por dia, e na impressão do boleto estava saindo 25% creio eu que não precise de manual para constatar que isso é um erro.

 

att.

ACBrBoleto.pas

Postado

Boa tarde 

Fiz a atualização utilizando AcbrBoleto do nosso amigo RauberGabri

 

53 minutos atrás, Valtencir Campos disse:

Boa tarde

Neste momento, um cliente relatou esse mesmo problema.

Onde, a taxa diária representada por cjTaxaDiaria esta sendo impressa como R$ e não percentual.

Valeu.

Tudo certo agora.

  • Este tópico foi criado há 196 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.