Ir para conteúdo
  • Cadastre-se

dev botao

Implementações ACBRBoleto - Banco do Brasil e Itau


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

Recommended Posts

Amigos,

Boa noite,

Estou aqui compartilhando as alterações que fiz nas Units do Banco do Brasil e do Itau, em virtude de processos de homologação ou testes do sistema.

BANCO DO BRASIL

Apenas salientando que o convenio em questão é de 7 Números e a variação da conta é 019 e o arquivo é de 240 Posições.

Os erros abaixo foram passados pelo suporte do Banco do Brasil ao submeter o arquivo de remessa para testes, marquei qual solução tomada para correção dos problemas:

ERROS DA REMESSA

┌──────────────────────────────────────────────────────────────────┐

│ ► Header de Arquivo ► Lote 0000 │

└──────────────────────────────────────────────────────────────────┘

Posições 033 a 052: Preencher com o código do convênio: '002163993001417019 ' - ERRO DE CADASTRO

Posições 059 a 070: Preencher com o número da conta corrente do convênio: '000000106166' ERRO DO ACBR Nº 1 Como podem ver a conta corrente tem 6 números, sendo que no constructor da classe a variavel "fpTamanhoConta" estava definida como 5, segundo o layout do Banco do Brasil, são 12 números, ficando o evento constructor da seguinte forma:

constructor TACBrBancoBrasil.create(AOwner: TACBrBanco);

begin

   inherited create(AOwner);

   fpDigito := 9;

   fpNome   := 'Banco do Brasil';

   fpNumero := 001;

   fpTamanhoMaximoNossoNum := 10;

   fpTamanhoConta   := 12;

   fpTamanhoAgencia := 4;

   fpTamanhoCarteira:= 2;

end;
┌──────────────────────────────────────────────────────────────────┐ │ ► Header de Lote ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ Posições 012 a 013: Preencher com brancos - ERRO DO ACBR Nº 2 - Conforme o manual de Particularidades do BB, este campo é de uso exclusivo da FEBRABAN Posições 034 a 053: Preencher com o código do convênio: '002163993001417019 ' - ERRO DE CADASTRO Posições 060 a 071: Preencher com o número da conta corrente do convênio: '000000106166' - ERRO DO ACBR Nº 1 - JÁ DESCRITO ACIMA ┌──────────────────────────────────────────────────────────────────┐ │ ► Segmento P ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ Posições 024 a 035: Preencher com o número da conta corrente do convênio: '000000106166' - ERRO DO ACBR Nº 1 - JÁ DESCRITO ACIMA Posições 038 a 057: Preencher o nosso número da seguinte forma: '2163993NNNNNNNNNNbbb' onde 'N' = numeração livre a cargo da empresa e 'b' = brancos - ERRO DE CADASTRO Posições 224 a 224: Campo não tratado pelo sistema. Informar zero; O sistema considera a informação que foi cadastrada na sua carteira junto ao Banco do Brasil - ERRO NÃO DOCUMENTADO ANTERIORMENTE, ANALISANDO NO FONTE ATUAL JÁ ESTA CORRIGIDO ┌──────────────────────────────────────────────────────────────────┐ │ ► Segmento R ► Lote 0001 │ └──────────────────────────────────────────────────────────────────┘ ERROS DO ACBR Nº 3 - A Partir da posição 90, tudo estava indo com 'brancos', fizemos a separação campo a campo Posições 200 a 207: Campo não tratado, preencher com zeros Posições 208 a 210: Campo não tratado, preencher com zeros Posições 211 a 215: Campo não tratado, preencher com zeros Posições 217 a 228: Campo não tratado, preencher com zeros Posições 231 a 231: Campo não tratado, preencher com zeros ┌──────────────────────────────────────────────────────────────────┐ │ ► Estrutura do Arquivo │ └──────────────────────────────────────────────────────────────────┘ ERRO DO ACBR Nº 4 - Este erro ocorreu em virtude de versões anteriores, pois tinham apenas 2 segmentos P e Q, o calculo que fazia o número do sequencial tinha como fator "2", pois antes eram 2 segmentos, mudamos para 3 em virtude do segmento R e passou a funcionar corretamente.
IntToStrZero((3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 1 , 5) + //9 a 13 - Número seqüencial do registro no lote - Cada título tem 2 registros (P e Q)
Este erro gerou um topico neste forum e já pode ser fechado. Linha 0006, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00003'. Correto '00004' Linha 0007, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00004'. Correto '00005' Linha 0008, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00005'. Correto '00006' Linha 0009, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00005'. Correto '00007' Linha 0010, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00006'. Correto '00008' Linha 0011, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00007'. Correto '00009' Linha 0012, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00007'. Correto '00010' Linha 0013, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00008'. Correto '00011' Linha 0014, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00009'. Correto '00012' Linha 0015, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00009'. Correto '00013' Linha 0016, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00010'. Correto '00014' Linha 0017, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00011'. Correto '00015' Linha 0018, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00011'. Correto '00016' Linha 0019, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00012'. Correto '00017' Linha 0020, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00013'. Correto '00018' Linha 0021, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00013'. Correto '00019' Linha 0022, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00014'. Correto '00020' Linha 0023, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00015'. Correto '00021' Linha 0024, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00015'. Correto '00022' Linha 0025, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00016'. Correto '00023' Linha 0026, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00017'. Correto '00024' Linha 0027, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00017'. Correto '00025' Linha 0028, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00018'. Correto '00026' Linha 0029, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00019'. Correto '00027' Linha 0030, Lote 0001, Segmento P: Erro no sequencial do segmento. informado '00019'. Correto '00028' Linha 0031, Lote 0001, Segmento Q: Erro no sequencial do segmento. informado '00020'. Correto '00029' Linha 0032, Lote 0001, Segmento R: Erro no sequencial do segmento. informado '00021'. Correto '00030' ERROS DO BOLETO ********** Inconsistências no boleto ********** Verifique sua linha digitável e o código de barras no modelo abaixo (as cores evidenciam os erros): Código de barras: 00194529400000600002163990000106750001061617 0019dVVVV$$$$$$$$$$000000CCCCCCCnnnnnnnnnncc Linha digitável 00192.16399 90000.106758 00010.616175 4 52940000060000 00190.0000d 0CCCC.CCCnnd nnnnn.nnnccd D VVVV$$$$$$$$$$ Onde: C: Número do convênio n: Nosso número (numeração livre) D: Dv geral d: dígito verificador c: Carteira a: Agência $: valor V: fator de vencimento &: Conta corrente ERRO DO ACBR Nº 1 - Já descrito acima BANCO ITAU O único problema identificado no Itau foi na leitura do arquivo de retorno de 400 Posições, na identificação do CNPJ/CPF do Cedente, a informação do Tipo de Inscrição estava invertida. Segue correção
case StrToIntDef(Copy(ARetorno[1],2,2),0) of

      1 : rCNPJCPF:= Copy(ARetorno[1],07,11); //CNPJ

      2 : rCNPJCPF:= Copy(ARetorno[1],04,14); //CPF

   else

      rCNPJCPF:= Copy(ARetorno[1],4,14);

   end;

Bem, esses foram os problemas que encontrei, espero com isso ajudar alguem que tenha dificuldades com esses processos e contribuir com o projeto. Tentei mandar os manuais para quer duvida dos moderadores/administradores mas são maiores que 600kb impossibilitando o seu upload.

Sds,

Junior

ACBrBancoBrasil.pas

ACBrBancoItau.pas

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Boa tarde!

Fiz a homologação com o Banco do Brasil e tive as seguintes inconsistencias:

Essa já estava no post:

Segmentos P,Q,R colunas 00009/00013 sequencial de registro do lotes numerico crescente,

repetindo 3R,3R, 5R. 5P ao inves 1P, 2Q, 3R, 4P, 5Q, 6R, 7P, 8Q, 9R

REGISTRO 0 - HEADER DE ARQUIVO

POSICOES

DE ATE CORRECOES A SEREM EFETUADAS

072 a 072 preencher campo com espaco branco " "

073 a 102 informar o Nome da Empresa, alinhando a esquerda, completando campo com brancos a direita.

REGISTRO 1 - HEADER DE LOTE

POSICOES

DE ATE CORRECOES A SEREM EFETUADAS

074 a 103 informar o Nome da Empresa, alinhando a esquerda, completando campo com brancos a direita.

REGISTRO 3 DETALHE - SEGMENTO P

POSICOES

DE ATE CORRECOES A SEREM EFETUADAS

038 a 057 informar nosso numero com 17 digitos sem o DV, sendo os sete primeiros digitos o numero

do convenio os dez digitos seguintes campo livre. ex.: "23966990000000001 " informado ex.:nosso

numero com DV "239669900000000018 "

060 a 060 informar "2"

222 a 223 posição 221/221 informado código '2' – é possível, 03, 04 ou 05 dia útil. informado "50"

Fiz as correções e estou postando para que possam ser aplicadas no repositório, acertei algumas linhas que estavam sobrepondo outras na impressão do boleto fortes.

Alguamas alterações do Seguimento P fiquei com duvida e perguntei na homologação e me deram a seguinte resposta:

Carteira 11 impressão a cargo do Banco, campo Nosso Numero segmento P 038/057 preencher com zeros. Numeração a

cargo do Banco.

060 a 060 informar "2" igual na carteira 11

alteracoes.zip

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

Estou concluindo os testes das alterações enviadas para diversos bancos, inclusive o BB, verifiquei que vc criou uma variável "fator" para identificar o número sequencial do registro, foi feita uma outra implementação, mas que traz o mesmo resultado da utilização da sua variável...após baixar o svn nos próximos dias, verifique se o arquivo é gerado conforme o teste que vc fez.

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

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

As alterações enviadas estão disponíveis no svn, porém como citei no post anterior como algumas delas traziam o mesmo resultado, não foram implementadas.

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

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Moderadores

Bom dia araujojunior.

 

Vi suas observações e aconteceu a mesma coisa.

 

Essas alterações já estão disponíveis no svn ?

 

Aguardo retorno.

 

Agradeço desde já.

Chegou a ler o post da Juilana tamizou?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...