Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Olá boa tarde à todos, sou iniciante com o projeto ACBr, 

Recebi uma demanda onde estava gerando arquivo remessa para o layout CNAB400 e não estava sendo aceito pelo banco caixa, ao dar uma lida na documentação da caixa para geração do arquivo

vi que é  informado que o campos que se referem a agencia, devem ser preenchidos com 3 zero, e posterior mente um espaço. O Código atual do acbr, gera o aquivo com a seguinte formatação

image.png.7f9903497ad5cbeb29d98bca5b7ca15f.png

 

Após analizar a unidade responsável pela linha das duplicatas, 

 

ifthen(Length(ACodCedente) > 6, '000',
  RightStr(OnlyNumber(ACBrBoleto.Cedente.Agencia), 4 )) 

Verifiquei que se o valor do Código do Cedente for > 6 então o valor da agenicia será substituído por zero, do contrário, será preenchido com o valor da agencia, o que causa erro durante  a validação, pois segundo a a documentação, esse campo é desprezado (pelo que entendi) e deve ser preenchido com 3 zeros e um espaço, devendo ficar assim :

 

image.png.f31b7de645f034ce92b805905ceff6cc.png

 

A tratativa no código ficou assim :

 

ifthen(Length(ACodCedente) > 6, '000', '000 ' )     + // 18 até 21  - Código da Agência

O que gerou o arquivo conforme esperado e validado, pelo sistema da caixa (Validados).
Deixo a observação para que seja analisado por quem possuir maior conhecimento que eu. 

Essa foi a solução que encontrei, e não sei se seria exatamente esse ponto, mas foi aí que consegui contornar esse problema.

 

Unit AcbrBancoCaixa

image.thumb.png.446cc0873f5afc4c626879e17aceadb0.png

Postado

sendo que o código do cedente existe, porem é >6 

se não adicionar essa condição, ele preenche com zero

 

image.thumb.png.e3f346a5940173b44ef3f08ea129a2e6.png

o  código do cedente está nesse formato : 555555.
 

image.png

Postado

Segue anexo, unit com a modificação feita.

 

Comentei a linha 1070 e 1070

Essa linha valida se  o código do cedente é >6, 

 ifthen(Length(ACodCedente) > 6, '000',

  RightStr(OnlyNumber(ACBrBoleto.Cedente.Agencia), 4 ))     + // 18 até 21  - Código da Agência

o Código acima, recupera o número da agencia, quando o cedente não obedece a regra.

Porém a documentação da caixa manda preencher esse valor com zero Código da agencia por exemplo 1563 substituir por zeros, que seria assim 0000

image.png.4b4ed697011dc61afa54c2dc424177fe.pngE2500043.REM

porém o validador manda  preencher com tres zeros e um espaço ficando assim '000 '.  NE004.

 

Alinha de código que adicionei foi a linha 1073. que Ficou como abaixo:

  ifthen(Length(ACodCedente) > 6, '000', '000 ' )     + // 18 até 21  - Código da Agência

 

image.thumb.png.f4c7a2500f3c7a1cc96df77f1e2f8fc5.png

 

envio também o arquivo remessa para visualisação, a primeira linha é a linha que está sendo gerada pelo código original.

 

 

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