Bom dia.
Meu problema acontece quando gero o arquivo remessa com leiaute cnab 240 do sicoob. O código de juros de mora (campo 118, segmento P) que utilizo é o 2 (Taxa mensal), porém o padrão que veio com o acbr é o 1 (Valor por dia), isso gera um conflito no valor final, pois se utilizo a opção de taxa mensal o cálculo que é feito não bate:
linha 840 do arquivo AcbrBa
ncoBancoob
IfThen(ValorMoraJuros > 0,
IntToStrZero( round(ValorMoraJuros * 100), 15),
PadLeft('', 15, '0'))
o valor da mora no meu caso é 0,33%, e como é taxa mensal deve ser multiplicado por 30 como foi solicitado pelo pessoal do banco quando eu estava homologando ainda no Trunk antigo, que no caso foi homologado com sucesso.
Prosseguindo...
Eu poderia simplesmente multiplicar a mora por 30 (dias) e dividir por 100 para ignorar o calculo atual, porém 0,33/100 da 0,0033 e na função round o valor da mora é arredondado pra 0,01, e não fecha.
Eu optei por fazer assim:
IfThen(ValorMoraJuros > 0,
IfThen(CodigoMora = '2',
IntToStrZero( round(ValorMoraJuros * 30), 15),
IntToStrZero( round(ValorMoraJuros * 100), 15)),
PadLeft('', 15, '0'))
Para não afetar quem usa a opção que estava como padrão.
Gostaria de saber se alguém pode analisar isso ver se é válido para subir o código se for possível.
Obrigado à todos!