Ir para conteúdo
  • Cadastre-se

dev botao

Dias de Protesto imprimindo errado AcbrBoleto


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

Recommended Posts

Boa noite

 

Estou homologando o sistema da empresa para geração de boletos do Banco do Brasil e estou com um problema na impressão da Instrução de protesto.

Defini o título para protestar em dias úteis e defini a data de protesto

Ex:  Data de Vencimento = 21/07/2016, Data de Protesto = 28/07/2016 (05 Dias Úteis após o Vencimento).

O problema é que a impressão da instrução de protesto está incorreta:

Protestar no 7 dia útil após o vencimento

Observando o arquivo AcbrBoleto.pas, na procedure TACBrBoleto.AdicionarMensagensPadroes(Titulo: TACBrTitulo;  AStringList: TStrings) , verifiquei que está sendo dado o mesmo tratamento para o cálculo de dias corridos e dias úteis.

with Titulo do
   begin
      if DataProtesto <> 0 then
      begin
         if TipoDiasProtesto = diCorridos then
            AStringList.Add(ACBrStr('Protestar em ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dias corridos após o vencimento'))
         else
            AStringList.Add(ACBrStr('Protestar no ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dia útil após o vencimento'));
      end;      
	(...)
end;

 

Alguém pode me dizer se eu estou fazendo alguma coisa errada ou se não estaria correto utilizar a função DaysBetween() para obter o número de dias úteis?

 

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro

Caro Joabe Geraldo,

Também me deparei com esse problema, e para corrigir adicionei um campo novo e modifiquei a linha que gera o texto para o boleto:

Citar

   with Titulo do
   begin
      if DataProtesto <> 0 then
      begin
         if TipoDiasProtesto = diCorridos then
            AStringList.Add(ACBrStr('Protestar em ' + IntToStr(DaysBetween(Vencimento, DataProtesto))+ ' dias corridos após o vencimento'))
         else
            AStringList.Add(ACBrStr('Protestar no ' + IntToStr(DiasUteisProtesto)+ ' dia útil após o vencimento'));
      end;

      ( . . . )

   end;

Peço a gentileza ao pessoal do ACBr de adicionar assim que possível a alteração no repositório.

Desde já muito obrigado!

ACBrBoleto.pas

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Também me deparei com a mesma situação em relação a Protesto em Dias Úteis, todavia não podemos esquecer que a simples alteração na instrução de protesto impressa no boleto precisa ser condizente com a instrução de protesto da remessa. E é ai que a coisa se complica pois cada banco tem suas particularidades, alguns possuem opção para informar se será em dias úteis ou dias corridos, outros pedem a data de protesto, outros por "primeira ou segunda Instrução/Comando" e talvez eu tenha esquecido mais alguma. Infelizmente a única maneira de resolver tal situação integralmente seria a revisão de todas as Units de geração de remessas baseando-se na ultima versão do layout de cada tipo de cobrança para cada Banco, o que complica é reunir todos os layouts atualizados, pois a maioria dos Bancos não o disponibilizam em seus sites, e ao solicitar junto ao gerente de alguma agência, nem sempre lhe enviam a versão mais recente.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Caro Everson, entendo a sua preocupação, no entanto acredito que os parâmetros de integração com os bancos já estejam bem resolvidos. A unica pendencia realmente era o texto do boleto, onde não tem como chegar na quantidade de dias uteis a partir da data do protesto que é o parâmetro utilizado pelo componente, isso considerando feriado municipais.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2767 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.