Ir para conteúdo
  • Cadastre-se

dev botao

Ler Retorno 400 Banco do Brasil


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

Recommended Posts

  • Administradores

Bom dia.

Esta semana irei subir ao svn diversas contribuições, inclusive o retorno de 400 colunas do BB.

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.

Está disponível no svn a unit do Banco do Brasil com a leitura do CNAB400.

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

  • 3 semanas depois ...

boa tarde,

testando observei o seguinte do pq nao estava funcionando no meu..

na ultima atualizacao a funcao LerRetorno400 do ACBrBancoBrasil.pas esta sem a instrucao "override" no final. colocando isso funcionou

e tive que fazer outra alteração no codigo dessa funcao

// if (Copy(Linha,1,1) = '7') or (Copy(Linha,1,1) = '1') then

// Continue;

// Rafael alterou

if (Copy(Linha,1,1) <> '7') and (Copy(Linha,1,1) <> '1') then

Continue;

pois os retornos sempre vem com inicio 7 no arquivo

vlw

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde Rafael.

Vc poderia anexar aqui sua unit com as correções?

Quanto a alteração da comparação com " = '7' ...", pq vc mudou " <> 7 ..." ?

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

Oi Juliana,

segue algumas alteracoes que fiz no ACBrBancoBrasil.pas

* informei o overrideno final da declaracao da procedure, pois sem isso informava que não estava implementada a leitura do retorno 400

procedure LerRetorno400(ARetorno: TStringList); override;

* no codigo da procedure criei uma variavel rCodigoCedente, pois tenho cliente com 2 CNPJ diferentes e foi unica forma que achei de não ler o arquivo errado, pois no retorno 400 não vem o CNPJ da empresa. Ai só comparo o cedente do retorno com meu cadastro de carteiras

// Rafael Cruz alterou 29/05/12

rCodigoCedente:= Copy(ARetorno[0],150,7);

* alterei essa parte do codigo, pois sempre caia no Continue e saia do loop for, não lendo os detalhes do registro

// Rafael Cruz alterou 29/05/12

// if (Copy(Linha,1,1) = '7') or (Copy(Linha,1,1) = '1') then

// Continue;

if (Copy(Linha,1,1) <> '7') and (Copy(Linha,1,1) <> '1') then

Continue;

com isso carreguei varios arquivos do meu cliente e aparentemente o retorno com as ocorrencias estao ok

[]s.

ACBrBancoBrasil.pas

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Administradores

Bom dia Rafael.

Correções aplicadas, em breve disponíveis no svn.

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 mês depois ...

Oi Juliana,

segue algumas alteracoes que fiz no ACBrBancoBrasil.pas

Onde é assim:

rCedente := trim(copy(ARetorno[0], 73, 30));

rCNPJCPF := OnlyNumber( copy(ARetorno[0], 19, 14) );

with ACBrBanco.ACBrBoleto do

begin

if (not LeCedenteRetorno) and (rCNPJCPF <> Cedente.CNPJCPF) then

raise Exception.create(ACBrStr('CNPJ\CPF do arquivo inválido'));

Poderia ficar assim:

rCedente := trim(copy(ARetorno[0], 73, 30));

rCNPJCPF := OnlyNumber( copy(ARetorno[0], 19, 14) );

with ACBrBanco.ACBrBoleto do

begin

:arrow: if (not LeCedenteRetorno) and (rCNPJCPF <> OnlyNumber(Cedente.CNPJCPF)) then

raise Exception.create(ACBrStr('CNPJ\CPF do arquivo inválido'));

A comparacao de rCNPJCPF com o Cedente.CNPJCPF sempre vai dar raise, pois

no rCNPJCPF vem sem formatações e no Cedente.CNPJCPF tem formatações.

Começou a dar erros de importação e Debuguei o código e vi que era isso.

Desde já agradeço...

:lol::lol:

.

ACBrBancoBrasil_aterado.pas

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde Juliano.

Sua correção foi implementada, em breve estará disponível no svn.

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

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