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

The popup will be closed in 10 seconds...