Jump to content

dev botao

Arquivo remessa CNAB400 do banco Itaú está com o nosso número sendo preenchido como zero


DeveloperATS
Go to solution Solved by antonio.carlos,
  • Este tópico foi criado há 547 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde;

Estamos tendo problemas com a geração do arquivo de remessa do banco Itaú: estamos enviando o nosso número com um valor não-zero, mas o arquivo de remessa gerado está tendo o seu valor preenchido como zero.

Título:

[Titulo1] 
NumeroDocumento=00977701-A
NossoNumero=10151
Carteira=109
ValorDocumento=525,00
Vencimento=05/08/2022
DataDocumento=06/07/2022
DataProcessamento=19/08/2022
DataAbatimento=19/08/2022
DataDesconto=19/08/2022
DataMoraJuros=19/08/2022
DiasDeProtesto=0
DiasDeNegativacao=null
DataProtesto=20/08/2022
DataNegativacao=19/08/2022
DataMulta=19/08/2022
DataBaixa=19/08/2022
ValorAbatimento=null
ValorDesconto=0,00
ValorMoraJuros=0,27
ValorIOF=null
ValorOutrasDespesas=0,00
MultaValorFixo=null
PercentualMulta=2,00
LocalPagamento=Pegar no lugar X
Especie=NF
EspecieMod=R$
DataLimitePagto=19/08/2022
Sacado.NomeSacado=UNIDAS SA
Sacado.CNPJCPF=04437534000130
Sacado.Pessoa=JURIDICA
Sacado.Logradouro=AVENIDA RAJA GABAGLIA
Sacado.Numero=1781
Sacado.Bairro=LUXEMBURGO
Sacado.Complemento=12 ANDAR
Sacado.Cidade=BELO HORIZONTE
Sacado.UF=MG
Sacado.CEP=30380457
Sacado.Email=nfe@locamerica.com.br
Sacado.SacadoAvalista.Pessoa=3
Sacado.SacadoAvalista.NomeAvalista=
Sacado.SacadoAvalista.CNPJCPF=
Sacado.SacadoAvalista.Logradouro=
Sacado.SacadoAvalista.Numero=
Sacado.SacadoAvalista.Complemento=
Sacado.SacadoAvalista.Bairro=
Sacado.SacadoAvalista.Cidade=
Sacado.SacadoAvalista.UF=
Sacado.SacadoAvalista.CEP=
Sacado.SacadoAvalista.Email=
Sacado.SacadoAvalista.Fone=
Sacado.SacadoAvalista.InscricaoNr=
Mensagem=null
Informativo=null
Detalhamento=null
Competencia=null
ArquivoLogoEmp=null
Verso=null
Instrucao1=
Instrucao2=
Aceite=1
OcorrenciaOriginal.TipoOcorrencia=null
Parcela=1
TotalParcelas=1
SeuNumero=0000009483
TipoDiasProtesto=null
CodigoNegativacao=0
TipoDiasNegativacao=null
TipoImpressao=null
TipoDesconto=0
TipoDesconto2=0
CarteiraEnvio=null

Seguem anexos o boleto e o arquivo de remessa gerados.

boleto-ITAU-10151.pdf remessa-ITAU-0000009483.rem

Link to comment
Share on other sites

  • Consultores

Boa tarde,

passe mais informações:

1) Isso é componente, monitor, lib ?

2) Isso começou a ocorrer ou você está implementando o banco agora ?

3) informe em anexo o arquivo de configuração e titulos

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

  • Consultores
24 minutos atrás, DeveloperATS disse:

Bom dia, tudo bem?

No caso, é a biblioteca, estou usando o "ACBrLibBoleto" para Java; o arquivo de configuração é em memória, e o título está no primeiro post.

Persista o ini da configuração e envie a configuração por favor.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

  • Membros Pro
1 hora atrás, lucimauro disse:

O certo não seria ?

acbrBoleto.configGravar("D:\Temp\configBoleto.ini");

Não, porque, na linguagem Java, a barra invertida tem um significado especial, dentro de uma constante String; assim:

  • \b é backspace;
  • \t é TAB;
  • \n é quebra de linha;
  • \r é retorno de carro;
  • \" é uma aspa dupla;
  • \' é uma aspa simples;
  • \f é avanço de página;
  • \\ é uma contrabarra, ou seja, \;
  • \xxx é a definição octal de um caractere ASCII;
  • \uxxxx é a definição hexadecimal de um caractere unicode.

Vide: https://www.dca.fee.unicamp.br/cursos/PooJava/sintaxe/seqesc.html

Assim, para representar uma única barra invertida dentro de uma constante string da linguagem é necessário informar duas barras invertidas. De fato, essa sintaxe também é usada pelas linguagens JS, C#, C++, Go, C e, de fato, é utilizada pela maioria das linguagens inspiradas na linguagem C.

 

Link to comment
Share on other sites

  • Consultores
2 horas atrás, DeveloperATS disse:

Interessante: tentei chamar o método "configGravar()", passando como parâmetro o caminho do INI, mas ele não está gerando o arquivo no local especificado.

acbrBoleto.configGravar("D:\\Temp\\configBoleto.ini");

 

Programa exemplo ocorre o mesmo comportamento ?

Link to comment
Share on other sites

  • Membros Pro
2 horas atrás, antonio.carlos disse:

Programa exemplo ocorre o mesmo comportamento ?

Yep. Se não for modificado nada, ele não salva nada, já se modificar para salvar na unidade D, ele continua não  salva:
 

acbrBoleto.configGravar("D:\\Temp\\configBoletoExemplo.ini"); 

De fato, mesmo modificando para salvar na pasta da aplicação, ele também não salva:

acbrBoleto.configGravar("configBoletoExemplo.ini");

Parece que o salvamento da configuração não está funcionando.

Mas de qualquer forma, isso é um detalhe de menor importância.

O problema principal é que, mesmo passando o nosso número para o ACBr, o sistema está jogando "0" no campo correspondente do arquivo CNAB400 do Itaú.

Edited by DeveloperATS
Link to comment
Share on other sites

  • Membros Pro
9 minutos atrás, DeveloperATS disse:

Yep. Se não for modificado nada, ele não salva nada, já se modificar para salvar na unidade D, ele continua não  salva:
 

acbrBoleto.configGravar("D:\\Temp\\configBoletoExemplo.ini"); 

De fato, mesmo modificando para salvar na pasta da aplicação, ele também não salva:

acbrBoleto.configGravar("configBoletoExemplo.ini");

Parece que o salvamento da configuração não está funcionando.

Mas de qualquer forma, isso é um detalhe de menor importância.

O problema principal é que, mesmo passando o nosso número para o ACBr, o sistema está jogando "0" no campo correspondente do arquivo CNAB400 do Itaú.

Adendo: consegui obter a configuração usando o:

acbrBoleto.ConfigExportar()

Com o trecho de código acima, a configuração retornada é a seguinte:
 

[Principal]
TipoResposta=0
CodificacaoResposta=0
LogNivel=4
LogPath=D:\Java\BoletoAPI\Boleto\..\logs

[Versao]
ACBrLib=0.0.2
ACBrLibBoleto=0.2.0.168

[Sistema]
Nome=
Versao=
Data=30/12/1899
Descricao=

[Email]
Nome=
Servidor=
Conta=
Usuario=
Senha=
Codificacao=27
Porta=0
SSL=0
TLS=0
Timeout=0
Confirmacao=0
ConfirmacaoEntrega=0
SegundoPlano=0
Tentativas=1
IsHTML=0
Priority=1

[PosPrinter]
ArqLog=
Modelo=0
Porta=
PaginaDeCodigo=2
ColunasFonteNormal=48
EspacoEntreLinhas=0
LinhasEntreCupons=21
CortaPapel=1
TraduzirTags=1
IgnorarTags=0
LinhasBuffer=0
ControlePorta=0
VerificarImpressora=0
TipoCorte=0

[PosPrinter_Barras]
MostrarCodigo=0
LarguraLinha=0
Altura=0
Margem=0

[PosPrinter_QRCode]
Tipo=2
LarguraModulo=4
ErrorLevel=0

[PosPrinter_Logo]
IgnorarLogo=0
KeyCode1=32
KeyCode2=32
FatorX=1
FatorY=1

[PosPrinter_Gaveta]
SinalInvertido=0
TempoON=50
TempoOFF=200

[PosPrinter_MPagina]
Largura=0
Altura=0
Esquerda=0
Topo=0
Direcao=0
EspacoEntreLinhas=0

[PosPrinter_Device]
Baud=9600
Data=8
Timeout=3
Parity=0
Stop=0
MaxBandwidth=0
SendBytesCount=0
SendBytesInterval=0
HandShake=0
SoftFlow=0
HardFlow=0

[Proxy]
Servidor=
Porta=
Usuario=
Senha=

[SoftwareHouse]
CNPJ=
RazaoSocial=
NomeFantasia=
WebSite=
Email=
Telefone=
Responsavel=

[Emissor]
CNPJ=
RazaoSocial=
NomeFantasia=
WebSite=
Email=
Telefone=
Responsavel=

[BoletoDiretorioConfig]
DataArquivo=30/12/1899
DataCreditoLanc=30/12/1899
DirArqRemessa=
DirArqRetorno=
DirHomologacao=0
ImprimirMensagemPadrao=0
LayoutRemessa=0
LeCedenteRetorno=0
NomeArqRemessa=
NomeArqRetorno=
NumeroArquivo=0
RemoveAcentosArqRemessa=0
PrefixArqRemessa=

[BoletoBancoConfig]
Digito=0
LayoutVersaoArquivo=2
LayoutVersaoLote=1
LocalPagamento=Pegar no lugar X
Numero=0
NumeroCorrespondente=0
OrientacaoBanco=
TipoCobranca=6
CasasDecimaisMoraJuros=0
CIP=

[BoletoCedenteConfig]
Agencia=0443
AgenciaDigito=0
Bairro=PAU MIUDO
CaracTitulo=0
CEP=40310010
Cidade=SALVADOR
CNPJCPF=29203140000149
CodigoCedente=123
CodigoTransmissao=789
Complemento=
Conta=36896
ContaDigito=4
Convenio=123
Logradouro=AVENIDA BARROS REIS
Modalidade=741
Nome=AUTO VIDROS PEIXOTO LTDA - EPP
NumeroRes=438
ResponEmissao=0
Telefone=(71) 3018-1172
TipoCarteira=0
TipoDocumento=0
TipoInscricao=1
UF=BA
DigitoVerificadorAgenciaConta=
IdentDistribuicao=1
Operacao=

[BoletoBancoFCFortesConfig]
DirLogo=D:\Java\BoletoAPI\Boleto\target\classes\Logos
Filtro=0
Layout=0
MostrarPreview=0
MostrarProgresso=0
MostrarSetup=0
NomeArquivo=C:\Users\HAROLD~1\AppData\Local\Temp\Boleto3126164253930370758.pdf
NumeroCopias=1
PrinterName=
SoftwareHouse=
AlterarEscalaPadrao=0
NovaEscala=96

[BoletoConfig]
emailAssuntoBoleto=
emailMensagemBoleto=

[BoletoCedenteWS]
ClientID=
ClientSecret=
KeyUser=
Scope=
IndicadorPix=0

[BoletoWebSevice]
LogRegistro=1
PathGravarRegistro=
Ambiente=1
Operacao=0
VersaoDF=1.2
UseCertificateHTTP=0

[DFe]
SSLCryptLib=0
SSLHttpLib=0
SSLXmlSignLib=0
UF=SP
TimeZone.Modo=0
TimeZone.Str=
URLPFX=
ArquivoPFX=
DadosPFX=
Senha=
NumeroSerie=
VerificarValidade=1

 

Link to comment
Share on other sites

  • Consultores
16 horas atrás, DeveloperATS disse:

Pergunta adicional, relacionada a essa: se a carteira for inválida/desconhecida, o ACBr vai lançar uma exceção avisando que está errada, ou vai jogar zero silenciosamente?

Bom dia,

Para alguns bancos pode lançar exceção, mas isso não é para todos,

o 0 no nosso número acredito que está mais ligado a forma de emissão (boleto emitido por responsabilidade do banco).

vou analisar seus ini

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link to comment
Share on other sites

  • Consultores
  • Solution
48 minutos atrás, DeveloperATS disse:

OK, olhando pelos fontes da DLL, parece que, dependendo da carteira utilizada, a biblioteca zera o valor silenciosamente, sem dar mensagem de erro, nem alerta, nem log.

Porque a DLL não avisa ao cliente se ocorrer essa situação?

@DeveloperATS se possível atualize versão ACBrLibBoleto, eu e o @Victor H. Gonzales - Panda realizamos testes com ultima versão, vou anexar em privado para você os arquivos de remessa que geramos utilizando sua configuração .ini
Geramos remessa com a Carteira 109 e Carteira 99 (simulando preenchimento carteira errada).
Observação, utilizamos o CNAB 400.. seu arquivo de configuração esta com o CNAB240.

Veja: 

LayoutRemessa=0

image.png

Link to comment
Share on other sites

  • Membros Pro
14 minutos atrás, antonio.carlos disse:

@DeveloperATS se possível atualize versão ACBrLibBoleto, eu e o @Victor H. Gonzales - Panda realizamos testes com ultima versão, vou anexar em privado para você os arquivos de remessa que geramos utilizando sua configuração .ini
Geramos remessa com a Carteira 109 e Carteira 99 (simulando preenchimento carteira errada).
Observação, utilizamos o CNAB 400.. seu arquivo de configuração esta com o CNAB240.

Veja: 

LayoutRemessa=0

image.png

Quanto ao LayoutRemessa, pode ser que, nas várias tentativas de obter um ini e o outro, tenha sido enviado o ini errado.

De qualquer forma, parece que o problema é a carteira; existe alguma forma de perguntar, de antemão ao ACBr se uma determinada carteira vai causar zeramento do nosso número?

Link to comment
Share on other sites

  • Membros Pro

Um outro detalhe: porque o ACBr silenciosamente zera o valor, ao invés de dar erro? Existiria alguma situação onde o banco aceitaria um arquivo de remessa com esse valor zerado, mesmo que se tenha optado por "Cliente Emite"? Qual seria o comportamento correto do ponto de vista da aplicação que consome a DLL quando ocorrerem estes casos?

Link to comment
Share on other sites

  • Consultores
22 horas atrás, DeveloperATS disse:

Quanto ao LayoutRemessa, pode ser que, nas várias tentativas de obter um ini e o outro, tenha sido enviado o ini errado.

De qualquer forma, parece que o problema é a carteira; existe alguma forma de perguntar, de antemão ao ACBr se uma determinada carteira vai causar zeramento do nosso número?

sim pode ter acontecido de deixar cnab errado, mas utilize o 400 mesmo, 
você viu os anexo que te mandei ? você atualizou versão acbrlib ? ultima versão não ocorre erro ao preencher carteira errada.

21 horas atrás, DeveloperATS disse:

Um outro detalhe: porque o ACBr silenciosamente zera o valor, ao invés de dar erro? Existiria alguma situação onde o banco aceitaria um arquivo de remessa com esse valor zerado, mesmo que se tenha optado por "Cliente Emite"? Qual seria o comportamento correto do ponto de vista da aplicação que consome a DLL quando ocorrerem estes casos?

você precisa conferir remessa que esta sendo gerada, se for diferente do que o banco esta pedindo, precisa corrigir..
utilizando ultima versão não vai ter problema de campos zerados.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.