Boa tarde!
Estou utilizando os fontes e pacotes do ACBrBoleto para Lazarus e habilitando o envio do boleto via API para o Sicredi.
Ocorre que está retornando o erro O valor do boleto deve ter até 16 dígitos, sendo dois deles para a casa decimal ou então O valor de juros do boleto deve ter até 16 dígitos, sendo dois deles para a casa decimal.
O boleto é sempre o mesmo. Sempre com os mesmos dados. Mas o erro está alternando.
Encontrei o link https://www.projetoacbr.com.br/forum/topic/49530-duvida-sobre-preenchimento-do-juros/ e lá a solução foi atualizar a lib.
No meu caso eu atualizei todos os arquivos via svn, recompilei e reinstalei o pacote ACBrBoleto, mas continuo com o erro em questão.
O trecho de código que está alimentando o componente ACBrBoleto é o seguinte:
Titulo.ValorDocumento := RoundTo(ATituloList.Items[I].valor, -2);
if (ATituloList.Items[I].valormulta > 0) then
begin
Titulo.PercentualMulta := ATituloList.Items[I].valormulta;
Titulo.DataMulta := IncDay(ATituloList.Items[I].datavencimento, 1);
Titulo.MultaValorFixo := UpperCase(ATituloList.Items[I].tipomulta) = 'V';
end;
if (ATituloList.Items[I].valorjuro > 0) then
begin
if (ATituloList.Items[I].tipojuros = 'V') then
begin
if (AACBrBoleto.Banco.Numero = 748) then
begin
Titulo.CodigoMoraJuros:= cjValorDia;
Titulo.CodigoMora := 'A';
Titulo.ValorMoraJuros := RoundTo(ATituloList.Items[I].valorjuro, -2);
end
else
begin
Titulo.ValorMoraJuros := ATituloList.Items[I].valorjuro;
end;
end
else
begin
if (AACBrBoleto.Banco.Numero = 748) then
begin
Titulo.CodigoMoraJuros:= cjTaxaDiaria;
Titulo.CodigoMora := 'B';
Titulo.ValorMoraJuros := RoundTo(ATituloList.Items[I].valorjuro, -2);
// Titulo.ValorMoraJuros := RoundTo(ATituloList.Items[I].valor * (ATituloList.Items[I].valorjuro / 100), -2);
end
else
begin
Titulo.ValorMoraJuros := RoundTo(ATituloList.Items[I].valor * (ATituloList.Items[I].valorjuro / 100), -6);
end;
end;
Titulo.DataMoraJuros := IncDay(ATituloList.Items[I].datavencimento, 1);
end;
Desculpem-me pelos IFs, mas são em decorrência dos vários testes que já fiz pra tentar corrigir o problema.
Agradeço a atenção!