Ir para conteúdo
  • Cadastre-se

dev botao

Problema na impressão de juros no boleto


Ver Solução Respondido por Juliana Tamizou,
  • Este tópico foi criado há 1650 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Pessoal, estou implementando a geração de boleto utilizando o pacote acbr. Estou com problemas na impressão do boleto no que diz respeito aos valores de juros. Pelo que vi, indendependente do tipo de juros (mensal, diário ou valor fixo, sempre tá imprimindo como valor). Como devo proceder? Alguem sofreu com isso também ?

 

Isso ocorre na procedure:

procedure TACBrBoleto.AdicionarMensagensPadroes(Titulo: TACBrTitulo;
  AStringList: TStrings);

 

Entendo que esse trecho tá "repetido", ou estou estou passando os valores de forma errada:

 

      if ValorMoraJuros <> 0 then
      begin
         if DataMoraJuros <> 0 then
            AStringList.Add(ACBrStr('Cobrar juros de '                        +
                            ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJuros) + '% ao mês',
                                   FormatCurr('R$ #,##0.00 por dia',ValorMoraJuros))         +
                             ' de atraso para pagamento '+
                             ifthen(Vencimento = DataMoraJuros, 'após o vencimento.',
                                    'a partir de '+FormatDateTime('dd/mm/yyyy',DataMoraJuros))))
         else
            AStringList.Add(ACBrStr('Cobrar juros de '                +
                                    ifthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJuros) + '% ao mês',
                                           FormatCurr('R$ #,##0.00 por dia',ValorMoraJuros))         +
                             ' de atraso'));
      end;
 

  • Administradores
Postado

Bom dia.

12 horas atrás, DIEGO J B PIRES disse:

Pelo que vi, indendependente do tipo de juros (mensal, diário ou valor fixo, sempre tá imprimindo como valor).

No trecho de código abaixo fica claro que pode ser impresso tanto em % ao mês quanto valor por dia, sua colocação não está correta.

12 horas atrás, DIEGO J B PIRES disse:

fthen(((CodigoMora = '2') or (CodigoMora = 'B')), FloatToStr(ValorMoraJuros) + '% ao mês',
                                   FormatCurr('R$ #,##0.00 por dia',ValorMoraJuros))  

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado (editado)

Eu consigo te mandar o código para voce dar uma olhada pois olhei aqui novamente e ainda acho que tenho algo errado. Algo que eu esteja fazendo ficar errado.

No caso está como TaxaDiaria de 13,07 e na impressão tá como 
Cobrar juros de R$13,07 por dia de atraso.

 

  titulo.CodigoMoraJuros := TACBrCodigoJuros(Ord(CdsTitulos.AsInt('BOLTPCOBJUROS')-1));
  titulo.ValorMoraJuros := CdsTitulos.AsFloat('BOLJUROS');

Capturar2.PNG

Capturar.PNG

Editado por DIEGO J B PIRES
Postado

Para o cálculo da multa está sendo calculado conforme % . Isso deveria acontecer para o juros tb, mas lá tá pegando o valor fixo como sendo o valor de juros, não observando se é taxa diaria, mensal ou valor fixo.

Veja o código da multa:

 

  if PercentualMulta <> 0 then
      begin
        if DataMulta <> 0 then
          AStringList.Add(ACBrStr('Cobrar multa de ' + FormatCurr('R$ #,##0.00',
            IfThen(MultaValorFixo, PercentualMulta, TruncTo((ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento),2)  )) +
                         ' para pagamento'+ IfThen(DataMulta = Vencimento, ' após o vencimento.',
                                                   ' a partir de '+ FormatDateTime('dd/mm/yyyy',DataMulta))))
        else
          AStringList.Add(ACBrStr('Multa de ' + FormatCurr('R$ #,##0.00',
            IfThen(MultaValorFixo, PercentualMulta, TruncTo((ValorDocumento*( 1+ PercentualMulta/100)-ValorDocumento),2)  )) +
                         ' após o vencimento.'));

  • Administradores
  • Solution
Postado

Bom dia.

Note que a propriedade usada seria CodigoMora somente, verifique oque esta informando nela.

Outro ponto importante é que a impressão considera somente se deverá ser impresso o percentual ao mês ou o valor diário.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado (editado)

Veja nesse exemplo agora:

Estou passando o código 1: cjTaxaMensal e no ValorMoraJuros =  13,07;

Como deveria ser impresso esse valores no boleto? 

Dessa forma ai está imprimindo

Cobrar juros de R$ 13,07 por dia de atraso para pagamento a partir de 01/01/2021

e entendo que ao invés de R$ deveria ser %, ou no lugar de 13,07 já ser o valor real do juros dia;

 

Ou na impressão do boleto eu já devo passar na ValorMoraJuros o valor já calculado ?

 

 

 

 

 

Editado por DIEGO J B PIRES
  • Administradores
Postado

Bom dia.

Você deve informar também a propriedade CodigoMora, conforme citei acima.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 1650 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.