Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde 

Gerei um arquivo de remessa para o banco Bradesco e eles me retornaram informando que o arquivo possui erro. 

Segue abaixo o que o banco me enviou: 

O ARQUIVO FOI CONSIDERADO: COM NECESSIDADE DE AJUSTES.

Seguem dados da empresa identificados no arquivo: Realizar os ajustes apontados abaixo.

Linha 01 - Posição 027 à 046 - Código da Empresa: 00000000000000000000 (código do cedente/acessório escritural - Informado pela Agência); 
Linha 01 - Posições 027 à 046 - Acessório escritural inválido, deverá ser diferente de zeros. 
Linha 01 - Posição 047 à 076 - Nome da Empresa: JS LABORATóRIO DE ANALISES CLI
Linha 01 - Posição 095 à 100 - Data de Gravação de Arquivo: 24/04/17
Linha 01 - Posição 111 à 117 - Sequencial de Remessa: 0000001 (sempre maior do que último enviado para o banco)
Linha 02 - Posição 022 à 024 - Número da Carteira: 006
Linha 02 - Posição 025 à 029 - Número da Agencia: 00336
Linha 02 - Posição 030 à 037 - Número da Conta: 0000610 - 6

Estrutura do Arquivo: Sem ajustes a serem realizados.
HEADER : Sem ajustes a serem realizados.
DETALHE: Sem ajustes a serem realizados.
TRAILER : Sem ajustes a serem realizados.

Em anexo está o arquivo que foi gerado.

Aguardo o retorno de alguém que possa me ajudar.

cb240401.rem

  • Moderadores
Postado

@marcos.gandin

Vi que seu arquivo está sendo gerado com 401 colunas.

Eu uso a remessa do Bradesco e até agora o componente está gerando com as 400 colunas como deve ser.

Vou fazer uns testes para ver se o problema está no componente se for o caso a gente envia uma correção.

  • Moderadores
Postado

@marcos.gandin

Desconsidere o numero de colunas, meu editor de texto acabou me confundindo.

Sobre o seu problema.

Veja se está informando os valores nesses campos abaixo:

Citar

  Cedente.CodigoCedente := ATit.codcedente;
   Cedente.Convenio := ATit.numconvenio;

 

Postado
Em 2017-5-2 at 11:16, Waldir Paim disse:

@marcos.gandin

Desconsidere o numero de colunas, meu editor de texto acabou me confundindo.

Sobre o seu problema.

Veja se está informando os valores nesses campos abaixo:

 

Waldir, observei aqui e estes campos não estavam indo com valores.

Fiz uma alteração aqui e agora gerou valores no arquivo de remessa aonde o banco reclamou. 

Vou enviar o arquivo novamente para o banco e ver o que eles me retornam. 

Muito obrigado pela ajuda e assim que o banco dar um retorno eu posto aqui o que eles mandaram. 

Vlw.

Postado (editado)

Sempre configurei o Bradesco sem erros há anos na carteira 9, sempre com o cliente emitindo o boleto, agora tive um problema com um cliente onde ele envia a remessa mas o banco é quem envia o boleto.

Eu coloco a opção abaixo deixando o nosso numero com zeros, como manda o manual mas banco retorna erro falando que o nosso numero está invalido.
    AcbrBoleto1.Cedente.ResponEmissao := tbBancoEmite;

O Acbr sabiamente zera o nosso numero ao setar esta opção(tbBancoEmite), na procedure TACBrBancoBradesco.GerarRegistroTransacao400

      ANossoNumero := ACBrTitulo.NossoNumero;      
      wTamNossoNum := CalcularTamMaximoNossoNumero(ACBrTitulo.Carteira,
                                                   ACBrTitulo.NossoNumero);

      if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then
      begin
        ANossoNumero      := StringOfChar('0', wTamNossoNum);
        DigitoNossoNumero := '0';
      end

      else
      begin
        ANossoNumero      := ACBrTitulo.NossoNumero;
      DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo);
      end;

 

Eu tive que comentar o texto em negrito para funcionar, estando com a opção tbBancoEmite e Preenchendo o Nosso Numero, dessa forma o banco validou OK o arquivo, porque no manual também fala que quando o banco emite, o cedente também pode numerar.

Então, fica minha dúvida aqui para ver se aconteceu com mais pessoas para registro e envio do banco, se sim, para alterar na base do Acbr.

Editado por jaidomini
  • Administradores
Postado

Boa tarde.

Quais são as regras para definir se o cliente vai ou não numerar?

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
Em 2017-5-4 at 10:18, jaidomini disse:

Sempre configurei o Bradesco sem erros há anos na carteira 9, sempre com o cliente emitindo o boleto, agora tive um problema com um cliente onde ele envia a remessa mas o banco é quem envia o boleto.

Eu coloco a opção abaixo deixando o nosso numero com zeros, como manda o manual mas banco retorna erro falando que o nosso numero está invalido.
    AcbrBoleto1.Cedente.ResponEmissao := tbBancoEmite;

O Acbr sabiamente zera o nosso numero ao setar esta opção(tbBancoEmite), na procedure TACBrBancoBradesco.GerarRegistroTransacao400

      ANossoNumero := ACBrTitulo.NossoNumero;      
      wTamNossoNum := CalcularTamMaximoNossoNumero(ACBrTitulo.Carteira,
                                                   ACBrTitulo.NossoNumero);

      if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then
      begin
        ANossoNumero      := StringOfChar('0', wTamNossoNum);
        DigitoNossoNumero := '0';
      end

      else
      begin
        ANossoNumero      := ACBrTitulo.NossoNumero;
      DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo);
      end;

 

Eu tive que comentar o texto em negrito para funcionar, estando com a opção tbBancoEmite e Preenchendo o Nosso Numero, dessa forma o banco validou OK o arquivo, porque no manual também fala que quando o banco emite, o cedente também pode numerar.

Então, fica minha dúvida aqui para ver se aconteceu com mais pessoas para registro e envio do banco, se sim, para alterar na base do Acbr.

Tive o mesmo problema com clientes bradesco que o Banco Emite os boletos.

  • 2 semanas depois ...
Postado (editado)
Em 04/05/2017 at 17:37, Juliana Tamizou disse:

Boa tarde.

Quais são as regras para definir se o cliente vai ou não numerar?

Att.

Apesar de no manual dizer que permite duas maneiras(numerar o nosso numero ou esperar que o banco numera enviando Zeros), apenas quando o cliente numera é que funciona, do contrario vem no arquivo de retorno falando que o nosso número é inválido.

Att

Jaisson

Em 04/05/2017 at 17:37, Juliana Tamizou disse:

Boa tarde.

Quais são as regras para definir se o cliente vai ou não numerar?

Att.

Respondendo mais precisamente sobre regras, depende do contrato com o banco, o Bradesco usa a mesma carteira 9 para o cliente emitir ou o banco.

No acbr teria que comentar o código abaixo, pois o sistema do bradesco não está repeitando manual quando envia Zeros, dando o retorno nosso numero invalido:

      if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then
      begin
        ANossoNumero      := StringOfChar('0', wTamNossoNum);
        DigitoNossoNumero := '0';
      end

      else

Editado por jaidomini
  • Administradores
Postado

Boa tarde @jaidomini.

O que parece fazer mais sentido neste caso é se respeitar o valor 0 quando mesmo for passado ao componente, uma vez que o mesmo não tem como saber quando é desta forma e quando não é.

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
Em 18/05/2017 at 17:51, Juliana Tamizou disse:

Boa tarde @jaidomini.

O que parece fazer mais sentido neste caso é se respeitar o valor 0 quando mesmo for passado ao componente, uma vez que o mesmo não tem como saber quando é desta forma e quando não é.

Att,

 

Isso mesmo, porque o dia que o Bradesco corrigir o receptor de arquivos, ele irá numerar, o único problema é que o ACBr, mesmo informando o nosso numero, ele zera no codigo:

 if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then

Att

Jaisson

  • 1 mês depois ...
  • 6 meses depois ...
Postado

Estou tendo um problema com um cliente onde o responsável pela emissão do boleto é o banco.

Neste cliente eu usava uma versão anterior do acbr onde mesmo o banco sendo o responsável pela emissão do boleto, eu informava o nosso número e ele aceitava normalmente.

Depois de atualizar o acbr, percebi que o campo nosso número está sendo zerado quando o responsável pela emissão do boleto é o banco.

O problema maior é que parece haver uma incoerência no manual do bradesco onde ele fala que se:

Citar

071 a 082 - Identificações do Título no Banco (Nosso Número) 
Campo reservado para o Nosso Número do Título (Número Bancário), cujo procedimento a ser 
adotado deve obedecer aos itens a seguir:  
 
EMISSÃO DO BOLETO PELO BANCO  
Cobrança com Registro: Neste caso, esse campo deverá ser enviado com "Zeros", pois o sistema informará o Nosso Número no Arquivo Retorno, quando da confirmação de entrada.  

Citar

093 a 093 - Condições para Emissão do Boleto de Cobrança

Se for igual a 1 = o Banco emite o Boleto e processa o registro 

   - Se o Nosso Número for informado na posição 71 a 82 do registro de transação, o Banco assume. 
   - Se o Nosso Número não for informado, o Banco criará automaticamente. 

Perceberam a incoerência, uma hora ele diz que deve ser zerado, mas se você informar o nosso número o banco assume.

O acbr esta seguindo a primeira regra.

Porem o nosso cliente sempre usou com a configuração:" O banco emite o boleto e informando o nosso número ( inclusive em sistemas anteriores ao nosso )".

Eu resolvi o problema aqui da seguinte maneira:

Código original:

if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then
begin
  ANossoNumero      := StringOfChar('0', wTamNossoNum);
  DigitoNossoNumero := '0';
end
else
begin
  ANossoNumero      := ACBrTitulo.NossoNumero;
  DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo);
end;       

Alterado para:

if Trim(ACBrTitulo.NossoNumero) = EmptyStr then
begin
  ANossoNumero      := StringOfChar('0', wTamNossoNum);
  DigitoNossoNumero := '0';
end
else
begin
   ANossoNumero      := ACBrTitulo.NossoNumero;
   DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo);
end;          

Alguém também já teve esse problema?

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