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.

 

 

  • 5 meses depois ...
  • Moderadores
Postado
2 horas atrás, Nlfo disse:

Essa alteração foi incluida no acbrmonitor, a partir de qual versão? obrigado

deve estar na última.

se tu é PRO só entrar e baixar ou se tu sabe pascal é só baixar do svn e compilar

mas se tu usar o monitor quer dizer que não programa em delphi ou lazarus e usa com outra linguagem

então sugiro assinar o PRO e ter semanal a compilação. o valor é simbolico ao projeto mas ajuda muito e tu vai ter forum privado, discord, sla de duvidas, cursos

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

sim, uso outra linguagem, já assinei o pro até final de 2024, por isso perguntei da versão, testei com o demo, que creio ser ultima compilação, mas mesmo assim não deu certo, por isso a pergunta se isso foi corrigido e a partir de qual compilação, obrigado.

  • Moderadores
Postado
23 minutos atrás, Nlfo disse:

sim, uso outra linguagem, já assinei o pro até final de 2024, por isso perguntei da versão, testei com o demo, que creio ser ultima compilação, mas mesmo assim não deu certo, por isso a pergunta se isso foi corrigido e a partir de qual compilação, obrigado.

primeiro se tu é PRO use seu usuário para ter acesso ao fórum privativo e SLA

sobre o problema creio que sim já esteja na versão por conta da data acima ser antiga a menos que tenha voltado código e retornou o probelma

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado
Em 25/11/2024 at 12:15, tiagoadvir disse:

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.png E2500043.REM 2.75 kB · 0 downloads

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.

 

 

notei que ele não anexou a unit de mudanças.

e olhando não tem mesmo modificações.

caso ele queira anexar para validar

Em 30/04/2025 at 07:19, Nlfo disse:

Essa alteração foi incluida no acbrmonitor, a partir de qual versão? obrigado

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Ok, obrigado pela resposta, então resumindo, o acbrmonitor ou libs, para quem não usa delphi lazarus (e não tem a unit acima), não está funcional para cnab 400 com cedente de 7 digitos acima de 1100000.

  • Moderadores
Postado
50 minutos atrás, Nlfo disse:

Ok, obrigado pela resposta, então resumindo, o acbrmonitor ou libs, para quem não usa delphi lazarus (e não tem a unit acima), não está funcional para cnab 400 com cedente de 7 digitos acima de 1100000.

ou pode estar funcionando devido a alguma informação a mais, ou até mesmo não estar sendo usado CNAB por conta das API e Webservices.

mas vale o teste. gera a remessas validando as configurações e envia a caixa

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)

fiz o teste, a remessa, comparando com o layout, não corresponde os campos alterados.

mas para cedentes de 6 digitos, funciona perfeitamente.

obrigado pela atenção.

Editado por Nlfo
Postado

com essas alterações funciona cnab 400 cedente acima 1100000? metodo remessa/retorno?

está já consolidado no ultimo build do acbr?

obrigado

7 minutos atrás, tiagoadvir disse:

Bom dia, a unit que foi feita a alteração foi a dacaixa, segue. Visto que há outras modificações, atentar-se para a linha onde originalmente mensionei as alterações.ACBrBancoCaixa.pas

ACBrBancoCaixa.pas 106.37 kB · 1 download

essas alterações já estão no build? ou no demo? obrigado

Postado

sim, informado layout 107 e versão 67, conforme post no forum, mas o layout atual é 126.

obrigado

Postado

Faz tempo essa modificação. Pelo que me lembro a caixa, passou a recusar o arquivo remessa que foi o que me levou abrir esse tópico. Feito as alterações aceitou.

Postado

obrigado, mas pelo que vi, voce alterou no seu build, no acbr build está funcionando? ou necessita das suas correções? obrigado

  • Consultores
Postado
23 minutos atrás, Nlfo disse:

sim, informado layout 107 e versão 67, conforme post no forum, mas o layout atual é 126.

mas deu certo envio com estas configurações?
desculpe-me mas não ficou claro se alterando o layout passou registrou o boleto.

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado
1 hora atrás, Juliomar Marchetti disse:

foi informado essa parte

image.png

tem casas decimais

tem layout versao

tem versao lote

e tem local pagamento tem isso no seu ini

sim, tem tudo, mas a remessa sai incorreta, basta ver o arquivo gerado esta com 6 digitos cedente.

55 minutos atrás, Daniel InfoCotidiano disse:

mas deu certo envio com estas configurações?
desculpe-me mas não ficou claro se alterando o layout passou registrou o boleto.

sim, usando todas as configuraçoes citadas, a remessa não aparece o 7 digitos com cedente acima de 1100000

Postado

então, para testar, basta gerar 1 boleto, gerar remessa, verificar no header, que não sai os 7 digitos esperados. alguem poderia fazer esse teste e postar aqui o header da remessa?

Postado

Para tentar "isolar" o problema, criei uma VM do zero, instalei o acbrmonitor ultima versão, com todos os parametros acima, o boleto na tela sai ok, a remessa não respeita o layout atual, não gera com os 7 digitos, apenas 6. notei tambem que no formato "carne" sai apenas 2 por pagina na ultima versão.

não e necessario validar basta ver a remessa em formato txt, e localizar o local dos campos, não está respeitando, mesmo colocando 107 e 067.

obrigado

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