Bom dia, pessoal!
Estou gerando boletos do Itaú definindo os campos CodigoMoraJuros com cjTaxaMensal e ValorMoraJuros com 3 para que gere juros de 3% ao mês após o vencimento, porém o banco nos informou que estamos gerando o boleto com R$ 3,00 de juros diário, então fui analisar a unit ACBrBancoItau e verifiquei que não está sendo verificado o campo CodigoMoraJuros, está sempre definindo o ValorMoraJuros como valor diário (Linha 844).
Está correto fazer sempre dessa forma?
Sugiro recalcular o valor diário baseado no código do juros, segue a minha sugestão para adicionar esta função e utiliza-la ao invés da propriedade ValorMoraJuros nas procedures GerarRegistroTransacao240 e GerarRegistroTransacao400.
function GetValorMoraDiario(ACBrTitulo: TACBrTitulo): Currency;
begin
{Define valor diário do juros mora}
with ACBrTitulo do
begin
case CodigoMoraJuros of
cjValorDia: Result := ValorMoraJuros;
cjTaxaDiaria: Result := ValorMoraJuros / 100 * ValorDocumento;
cjValorMensal: Result := ValorMoraJuros / 30;
cjTaxaMensal: Result := ValorMoraJuros / 100 * ValorDocumento / 30;
end;
end;
end;