ARQUIVO DE REMESSA BANCO SICREDI.
Estou tentando gerar o arquivo de remessa para cobrança registra do Banco sicredi
Recebi a seguinte inconsistência [Ô][txt-color=#0000f0]Arquivo não contém caracter finalizador (CR/LF)[/txt-color][Ô]
Não estou conseguindo inserir no final da linha esse comando que sei que fica invisÃvel ao gerar o arquivo
O KERPLUNK disse que era só inserir chr(3338), só que o vb não reconhece.
Alguém já gerou remessa para o sicredi? como fez com esse caracter finilizador?
Comandos que uso resumidamente:
Dim strm As New IO.StreamWriter(RaizSistema + [Ô]\Remessa\[Ô] + NomeArquivoBanco + [Ô].crm[Ô])
Try
strm.WriteLine(MeuTextoHeader & [txt-color=#e80000]???[/txt-color])
strm.WriteLine(MeuTextoDetalhe & [txt-color=#e80000] ???[/txt-color])
strm.Write(MeuTextoTrailer & [txt-color=#e80000]???[/txt-color])
Finally
strm.Close()
End Try
Chegou a verificar se realmente não existem estes caracteres CR/LF?
Use um editor tipo ultraedit para verificar ou até mesmo tente importar este arquivo via SQL management studio, la existe uma opção que vc deve informar
o tipo de quebra de linha CR/LF, CR ou LF. Coloque CR/LF se ele quebrar a linha significa que o caracteres de quebra estão la.
No seu exemplo vc usou o WriteLine e Write.
O correto é WriteLine que gera o famoso CR/LF
Abrs
Write usei só na última linha nas demais WriteLine,
Se eu abrir o aquivo texto no bloco de notas, está tudo lá, 400 caracteres por linha tudo alinhado, mas o banco diz que falta o final (CR/LF) e não sei como incorporar ele no final da linha.
Se eu abrir o arquivo no word, lá tb mostra que tem quebra de linha na posição 400.
So que o banco não está homologando por causa da falta do CR/LF.
Não consigo falar com a area técnica do sicredi.
Alguém já gerou arquivo de remessa para o sicredi?
Então se você abrir o arquivo de remessa no bloco de notas a ultima linha na verdade deve ser uma linha em branco sem nada nela
Precisa ser witeline pois ele que coloca CR/LF
Citação::
Você tem que terminar todas as linhas com uma quebra de linha, inclusive a ultima do trailer, na prática o arquivo vai ter 402 caracteres por linha, só que dizem ser 400 pois os 2 caracteres extras são da quebra de linha que eles não contam.
Então se você abrir o arquivo de remessa no bloco de notas a ultima linha na verdade deve ser uma linha em branco sem nada nela
Sim, mas o que coloco no final da linha para indicar quebra?
[Ô]Minha Linha[Ô] & [txt-color=#e80000]???[/txt-color]
Citação::
Não use o write pq senão ele não gera o CR/LF
Precisa ser witeline pois ele que coloca CR/LF
Ok, isso eu sei, só não sei pq o banco não aceita.
Até onde sei a ultima linha não precisa ter quebra. Ao menos é assim nos outros bancos
O comando writeline faz isso para vc.
Provavelmente, o sistema que esta lendo seu arquivo esta processando ele totalmente mas quando chega no trailer, verifica que não tem o cr lf pois vc não usou writeline e ai emite o erro.
sempre a mesma coisa, faltando CR/LF em cada linha do aquivo
O que poderia ser outro problema é o conteúdo de sua variável [Ô]MeuTextoDetalhe[Ô], pois para cada registro tem que ter uma quebra de linha, então se tiverem vários registros dentro desta variável eles precisam já ter as quebras de linha entre eles
Depois de salvo o arquivo se você abrir ele no bloco de notas todas as linhas deveriam ter o mesmo tamanho terminando com uma linha em branco
Citação::
Como você está usando o StreamWriter é como o ICHIHARA já falou, é só usar o WriteLine, ele já adiciona o CR e LF
O que poderia ser outro problema é o conteúdo de sua variável [Ô]MeuTextoDetalhe[Ô], pois para cada registro tem que ter uma quebra de linha, então se tiverem vários registros dentro desta variável eles precisam já ter as quebras de linha entre eles
Depois de salvo o arquivo se você abrir ele no bloco de notas todas as linhas deveriam ter o mesmo tamanho terminando com uma linha em branco
Todas as linhas tem o mesmo tamanho, 400 caracteres (CNAB 400).
Por ex. de tem 20 boletos, terá 22 linhas + uma em branco
Eu ja fiz outras remessas com StreamWriter e estão homologadas, mas o Sicredi insiste em dizer que não estou usando quebra de linhas
Uma coisa que notei é que o gerente do banco usa um link que faz uma pré homologação antes de ir para a central do sicredi para homologação final
será que esse link não está reconhecendo o comando de final de linha que o StreamWriter criou?