tiagoadvir Postado Domingo as 17:43 Postado Domingo as 17:43 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 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 : 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
Moderadores Juliomar Marchetti Postado Há 22 horas Moderadores Postado Há 22 horas veja se isso lhe ajuda https://acbr.sourceforge.io/ACBrMonitor/Particularidades.html Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
tiagoadvir Postado Há 22 horas Autor Postado Há 22 horas Bom dia, Juliomar! Obrigado pela resposta, não sei se me expressei bem, mas veja o que retorna no validados quando preencho na forma que o validador recusa https://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_de_Leiaute_de_Arquivo_Eletronico_CNAB_400.pdf
tiagoadvir Postado Há 22 horas Autor Postado Há 22 horas sendo que o código do cedente existe, porem é >6 se não adicionar essa condição, ele preenche com zero o código do cedente está nesse formato : 555555.
tiagoadvir Postado Há 18 horas Autor Postado Há 18 horas 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 E2500043.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 envio também o arquivo remessa para visualisação, a primeira linha é a linha que está sendo gerada pelo código original.
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora