BoletoNet / boletonet

Boleto.Net is a library developed for use in Brazil, given it has been programmed with Brazilian retail legislation and business rules for bank registered billing integration.
Apache License 2.0
482 stars 383 forks source link

Erro ao gerar Remessa Itau #219

Open carisoftware opened 8 years ago

carisoftware commented 8 years ago

Pessoal, é a primeira vez que estou usando o boleto .net para gerar uma remessa. Eu tenho o seguinte código (de teste para gerar remessa para o banco itau):

Public Sub GeraDadosItau() Dim vencimento As New DateTime(2007, 9, 10) Dim item1 As New Instrucao_Itau(9, 5) Dim item2 As New Instrucao_Itau(81, 10) Dim c As New Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000") 'Na carteira 198 o código do Cedente é a conta bancária c.Codigo = 13000

    Dim b As New Boleto(vencimento, 164.0, "198", "92082835", c)
    b.NumeroDocumento = "1008073"

    b.DataVencimento = Convert.ToDateTime("12-12-12")

    b.Sacado = New Sacado("000.000.000-00", "Fulano de Silva")
    b.Sacado.Endereco.[End] = "SSS 154 Bloco J Casa 23"
    b.Sacado.Endereco.Bairro = "Testando"
    b.Sacado.Endereco.Cidade = "Testelândia"
    b.Sacado.Endereco.CEP = "70000000"
    b.Sacado.Endereco.UF = "DF"

    item2.Descricao += item2.QuantidadeDias.ToString() & " dias corridos do vencimento."
    b.Instrucoes.Add(item1)
    b.Instrucoes.Add(item2)
    b.Cedente.ContaBancaria.DigitoAgencia = "1"
    b.Cedente.ContaBancaria.DigitoAgencia = "2"

    b.Banco = New Banco(341)

    Dim boletos As New Boletos()
    boletos.Add(b)

    Dim b2 As New Boleto(vencimento, 18.0, "198", "92082836", c)
    b2.NumeroDocumento = "1008074"
    b2.DataVencimento = Convert.ToDateTime("12-12-12")
    b2.Sacado = New Sacado("000.000.000-00", "Fulano de Silva")
    b2.Sacado.Endereco.[End] = "SSS 154 Bloco J Casa 23"
    b2.Sacado.Endereco.Bairro = "Testando"
    b2.Sacado.Endereco.Cidade = "Testelândia"
    b2.Sacado.Endereco.CEP = "70000000"
    b2.Sacado.Endereco.UF = "DF"

    item2.Descricao += item2.QuantidadeDias.ToString() & " dias corridos do vencimento."
    b2.Instrucoes.Add(item1)
    b2.Instrucoes.Add(item2)
    b2.Cedente.ContaBancaria.DigitoAgencia = "1"
    b2.Cedente.ContaBancaria.DigitoAgencia = "2"

    b2.Banco = New Banco(341)

    boletos.Add(b2)

    GeraArquivoCNAB400(b2.Banco, c, boletos)
End Sub

Public Sub GeraArquivoCNAB400(ByVal banco As IBanco, ByVal cedente As Cedente, ByVal boletos As Boletos) saveFileDialog.Filter = "Arquivos de Retorno (.rem)|.rem|Todos Arquivos (.)|." If saveFileDialog.ShowDialog() = DialogResult.OK Then Dim arquivo As New ArquivoRemessa(TipoArquivo.CNAB400) arquivo.GerarArquivoRemessa("0", banco, cedente, boletos, saveFileDialog.OpenFile(), 1)

        MessageBox.Show("Arquivo gerado com sucesso!", "Teste", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End If
End Sub

Porém, ao executar a ação ele me retorna o seguinte erro: {"Erro ao gerar arquivo remessa."} {"Erro durante a geração do registro HEADER do arquivo de REMESSA."} {"Problemas ao Formatar a string. String = "}

Será que é algum dado faltando?

Westfallx commented 8 years ago

cara eu faço um pouco diferente, não sei se é por causa que está em vb using (FileStream arq = new FileStream(diretorio + arquivo, FileMode.Append)) { aRemessa.GerarArquivoRemessa(oBanco.nrcedente.ToString(), new Banco(oBanco.nrbanco), c, lb, arq, oBanco.nrarquivoremessa); }

c= cedente lb = new Boletos(); Espero ter ajudado