Ir para conteúdo
  • Cadastre-se

dev botao

Retorno Caixa CNAB 400 - LeCedenteRetorno Não está atualizado


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

Recommended Posts

  • Membros Pro

Olá pessoal, bom dia. Já vi este erro em alguns tópicos que foi dado como resolvido, mas o problema persiste.

No Arquivo ACBrBoletoCaixa.pas, Linha 1759:

   rCedente := trim(Copy(ARetorno[0],47,30));
   rAgencia := Copy(ARetorno[0],27,4);
   rConta   := Copy(ARetorno[0],34,8);

O "rConta" não está pegando o valor correto ( e nem teria como pegar, vou explicar por que). Vi um relato da própria Juliana Tamizou (em um tópico semelhante, mas sobre o CNAB240).

Citação do tópico referente ao CNAB240:

Citar

Bom dia Rodrigo.

Você chegou a conferir a informação que está vindo nas posições lidas pela rotina?

No caso do Sicob o código do cedente também contém os dados da conta, conforme orientações extraídas do manual disponibilizado pelo banco:

Código do Convênio no Banco (Código do Cedente)

Código fornecido pela CAIXA, através da agência de relacionamento do cliente, específico para
identificar determinados tipos de serviços / produtos.
O campo CÓDIGO DO CEDENTE deverá ser preenchido da seguinte forma:
AAAAOOOCCCCCCCCD, onde:
AAAA = código da Agência CAIXA de relacionamento do cliente / cedente
OOO = Operação
CCCCCCCC = Número da Conta Corrente ou seqüencial
D = Dígito Verificador

 

Favor anexar o arquivo com problema para que possamos analisar.

Acontece que no novo layout da caixa (página que disponibiliza, link direto para o manual ) , deixa claro que no retorno vem apenas código do beneficiário (código do cedente):

Trecho da pág. 19:

image.png.55ef37fffd7257422650b16923f1ee56.png

NE004, pág 34:

image.thumb.png.16f5694fc379d9701e20bd8c5aef8c30.png

 

Na versão atual do layout, o código do beneficiário não contém o código da conta corrente. Tenho provas em um cliente que possui Conta Corrente e Código de Beneficiário totalmente diferentes.

Teria que modificar esse trecho,  não estou conseguindo processar meus retornos neste novo cliente.

O trecho na linha 1772 do arquivo ACBrBoletoCaixa.pas tem que ser modificado:

   with ACBrBanco.ACBrBoleto do
   begin
      //(Por Maicon Saraiva) Esta validação não pode ser feita (motivo abaixo)
      if (not LeCedenteRetorno) and
         ((rAgencia <> OnlyNumber(Cedente.Agencia)) or
          (rConta <> OnlyNumber(Cedente.Conta))) then
         raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));

      if LeCedenteRetorno then
      begin
        Cedente.Nome         := rCedente;
        Cedente.Agencia      := rAgencia;
        Cedente.Conta        := rConta; //(Por Maicon Saraiva) Esta leitura não é segura, já que o Número da Conta não está contido no arquivo de retorno ( e nem no código do beneficiário) da CEF (e possívelmente passará a ser assim em outros bancos).
      end;

      ACBrBanco.ACBrBoleto.ListadeBoletos.Clear;
   end;

Em anexo, envio o arquivo de retorno, e mais uma imagem do Tradutor de Arquivo de retorno disponibilizado pela caixa (Nota: o código da Conta Corrente é 222-3 e do Beneficiário é 551835):

image.thumb.png.10117367b1754700cc1bc23b632111cb.png

Não se se estou errado, mas se não estiver precisamos modificar este trecho do código no SVN do ACBr.

Desde já agradeço.

GCB_MZ_BEC2_RTC400_B1N7U9_D170918_H042123_NT0345931381.ret

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde @maiconsaraiva, tentou ler o retorno setando o campo "LerRetornoCedente" como false, para layouts onde o retorno não informa todos os dados de cedente normalmente é utilizado esta opção.

Consultor SAC ACBr

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

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
1 hora atrás, José M. S. Junior disse:

Boa tarde @maiconsaraiva, tentou ler o retorno setando o campo "LerRetornoCedente" como false, para layouts onde o retorno não informa todos os dados de cedente normalmente é utilizado esta opção.

Já sim, mas aí é que tá. Se seto para False ele gera o excepcional (como no trecho de código acima), se seto para "True" ele passa, mas atribui à propriedade Cedente.Conta um valor errado, este é o problema.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
2 horas atrás, José M. S. Junior disse:

Ok, se está setado para não ler cedente retorno, não deveria validar agencia e conta mesmo... Vamos verificar este caso para ajustes.

Na verdade a ideia de validar até é boa (poderia ter até uma outra propriedade para escolhermos validar ou não). O problema é que no caso da Caixa (e possívelmente outros bancos) não é retornado o número da Conta então a validação poderia ser feita usando o código do beneficiário por exemplo.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores

Boa tarde, este ajuste está na lista para análise. Se tiver alguma sugestão de alteração, por favor realize o ajuste e poste o fonte alterados, para que possamos atualizar... 

Consultor SAC ACBr

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

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

Link para o comentário
Compartilhar em outros sites

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