Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Na unit ACBrBancoBrasil a procedure LerRetorno240() pega o Nosso Número na posição 45 (10 dígitos) do Segmento T, mas no manual (versão 09.1 de 19/10/2015) este campo está na posição 38 (20 dígitos). Está correto? Confesso que achei estranho, pois está assim nos dois trunks, mas revisamos aqui várias vezes e parece que está mesmo diferente. Temos um arquivo de retorno onde o nosso número está de fato na posição 38 com 20 posições (usando 12 posições incluindo um zero à esquerda).

Alguém está processando o retorno Banco do Brasil, CNAB 240, com sucesso?

 

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

  • Administradores
Postado

Boa tarde.

Isso pode ser devido a variação da carteira e convênio.

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

Pelo que entendi, a procedure LerRetorno240 pressupõe que o NossoNumero foi gerado localmente e enviado na remessa. Nesse caso até faria sentido pegar somente o final e concatenar com o convênio. No entanto o cliente pode desejar que o BANCO gere o nosso número; nesse caso não ocorre essa concatenação e a numeração segue uma sequência do próprio banco, mudando quase todos os dígitos de um dia pro outro. Esse número, de 12 dígitos, começava com 04119XXXXXXX em 2009 e aumentou gradualmente, provavelmente para todos os clientes que usam essa modalidade. Atualmente os valores de NossoNumero gerados pelo BB começam com 04671XXXXXXX.

Essa linha abaixo precisa ser corrigida, pois ela só pega os 10 últimos dígitos do NossoNumero que, segundo o manual, tem 20 dígitos:

            NossoNumero := copy(Linha, 45, 10);

Uma possível correção seria:

            if ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite then
              NossoNumero := copy(Linha, 38, 20)
            else
              NossoNumero := copy(Linha, 45, 10);

 

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

Postado

Segue unit ACBrBancoBrasil com a correção acima MAIS a correção abaixo, que usa a propriedade MultaValorFixo que criei anteriormente na unit ACBrBoleto.

IfThen((PercentualMulta <> null) and (PercentualMulta > 0), IfThen(MultaValorFixo,'1','2'), '0') + // 66 - 66 1-Valor fixo / 2-Percentual / 0-Não cobrar multa

 

ACBrBancoBrasil.pas

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

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