Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Boa tarde!

Estou criando um novo tópico para ficar mais fácil de explicar as alterações que foram realizadas na Unit: ACBrBancoSafra.pas.

Estou homologando os boletos e o arquivo de remessa, e me deparei com alguns erros no código de barras e consequentemente na linha digitável. 

Os detalhes técnicos do problema podem ser visto nesse outro tópico:

 

Mas enfim, vamos as alterações que realizei:

  1. Na função: MontarCodigoBarras, adicionei um trim() nos campos de: "Cedente.AgenciaDigito" e "Cedente.Conta", o mesmo estavam ficando com um espaço em branco, ocasionando a geração do código de barras com um dígito a menos.
  2. Na função: MontarCampoNossoNumero(), foi removido o: " '-' + CalcularDigitoVerificador(ACBrTitulo)", ficando apenas o NossoNumero, também foi alterado a quantidade de caracteres, que estavam setados como 8, porém o nosso numero é composto por 9 caracteres.
  3. Na função: MontarCodigoBarras, foi alterarado a linha que compõem o código de barras de:
    Citar

    CodigoBarras := IntToStr(Banco.Numero) + '9' + FatorVencimento +
                        IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10) +
                        '7' + Cedente.Agencia + Cedente.AgenciaDigito + Cedente.Conta + Cedente.ContaDigito +
                        PadLeft(RightStr(ACBrTitulo.NossoNumero,8),8,'0') + CalcularDigitoVerificador(ACBrTitulo) + '2';

     DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras);


    para:
    Citar

    CodigoBarras := IntToStr(Banco.Numero) + '9' + FatorVencimento +
                        IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10) +
                        '7' + Cedente.Agencia + trim(Cedente.AgenciaDigito) + trim(Cedente.Conta) + Cedente.ContaDigito +
                        PadLeft(RightStr(ACBrTitulo.NossoNumero,8),8,'0') +  '2';

     DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras);


    pois a mesma estava sendo executada na funcao: CalcularDigitoCodigoBarras() , sendo passado como parâmetro 44 dígitos, porém o Banco Safra utiliza apenas 43 dígitos para calcular dígito do código de barras.
  4. Também foi adicionado um espaço entre a barra que divide o "número da agência" e o "código do beneficiário". Essa alteração reflitirá apenas a nível de impressão!
  5. Alterado a logo do Banco Safra. (A logo que possui no ACBr  está desatualizada)
  6. A nível de impressão do boleto: o nosso número deve ser apenas 9 caracteres sem o dígito verificador.  correção 2,
  7. Agência: Header Lote e Segmento P, foram alterados para o preenchimento dos zeros serem a direita.

Também estou anexando uma planilha do excel onde eu reproduzi a função que o ACBr estava calculando o dígito verificador, para confrontar com a forma que o Banco Safra gerava. Pois o ACBr estava gerando errado. Para comprovar, basta analisar o print que o banco me enviou, explicando como é gerando o código de barras!
O banco utilizou 43 dígitos para calcular e o ACBr 44, desta forma ocasionando divergência no dígito.

 

422.bmp ACBrBancoSafra.pas PLANILHA DE ANALISE DE BOLETO BANCÁRIO.xlsx

14703376.gif

Editado por joaolenosi
  • Curtir 1

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

  • Administradores
Postado

Bom dia Joao,

Obrigada por seu interesse em colaborar, mas é preciso aguardar  o tempo hábil  para que os moderadores analisem. De qualquer forma já foi adicionado para validação.

Att.

  • Curtir 2
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 !!

  • 3 semanas depois ...
Postado

Bom dia,

Só para fins informativos, também tive problemas com o código de barras e linha digitável ao utilizar o cnab 240 do banco Safra do repositório, e utilizando a correção efetuada pelo João os boletos homologaram corretamente.

att,
Fernando Schulz.

  • Curtir 1
  • Administradores
Postado

Bom dia.

Estamos neste momento revisando este banco, temos alguns tópicos relativos ao mesmo.

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 !!

  • Moderadores
Postado

Bom dia, obrigado pela contribuição... 

Foi atualizado os fontes no SVN com pequenas alterações para manter compatibilidade com as duas versões de layout CNAB, favor realizar os testes.

  • Curtir 2
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado
10 minutos atrás, José M. S. Junior disse:

Bom dia, obrigado pela contribuição... 

Foi atualizado os fontes no SVN com pequenas alterações para manter compatibilidade com as duas versões de layout CNAB, favor realizar os testes.

Bom dia, vou atualizar o ACBr e realizar os testes.

Assim que testar dou o feedback!

João Leno

Developer In Lunar Tecnologia
Formação: Bacharel em Sistemas de Informação
Pós Graduação: Infraestrutura e aplicações em redes de computadores (Cursando)
Cell: (84) 8135-9585
Skype: joaolenosi
Site: http://lunartecnologia.com.br/

Se não puder vencer pelo o talento, vença pelo o esforço.

  • Membros Pro
Postado

Boa tarde, estou com o mesmo problema. Já atualizei o ACBR. Na validação a remessa foi aprovada, porém na impressão do boleto, a linha digitavél e o codigo de barras não valida. Trabalho com vários bancos e só acontece isso no Safra. 

13946748.jpg

Sem título-1.jpg

  • Moderadores
Postado
12 minutos atrás, marcosfbm disse:

Boa tarde, estou com o mesmo problema. Já atualizei o ACBR. Na validação a remessa foi aprovada, porém na impressão do boleto, a linha digitavel e o codigo de barras não valida. Trabalho com vários bancos e só acontece isso no Safra.

Boa tarde, utilizou as atualizações de hoje? Foi ajustado a geração código de barras conforme homologação realizada pelo colega...

  • Curtir 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • 3 semanas depois ...
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
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á 1885 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.