Dúvida na geração de vários boletos Bradesco

Nov 22, 2011 at 7:14 PM

Boa Tarde Pessoal

Esta é a minha primeira mensagem a este grupo. Recentemente descobri o Boleto.net através de pesquisas na internet e baixei alguns exemplos e códigos que encontrei no grupo.

Trabalho com o Microsoft Visual Studio .NET 2008 Professional + SQL Server 2008 R2 Express e estou desenvolvendo em VB.NET.

Nos testes que realizei para gerar um boleto Bradesco com dados fixos, ele funcionou sem problemas e me baseei neste link http://boletonet.codeplex.com/discussions/265286

Agora desejo ler uma tabela, pegar os dados para compor o boleto, exibir em PDF e em seguida imprimir. Me baseando no código de teste que fiz, estou enfrentando alguns erros o qual não consigo entender para encontrar uma solução.

O problema é que no programa de teste eu tenho que colocar a sub GeraBoletoBradesco2 em form1_Load para que o boleto em PDF seja gerado. Se eu retirar do Load e colocar em um botão por exemplo e depois chamar a rotina seguinte que gera a imagem do boleto, eu tenho o seguinte erro: Referência de objeto não definida para uma instância de um objeto na linha que contém Dim address As String = webBrowser1.Url.ToString

Pelo que eu pude apurar quando a rotina está no Load esta linha webBrowser1.Url = New Uri(boletoPath) gera um arquivo TMP e na rotina que monta a imagem consegue abrir.

Quando eu incluo a rotina no botão esta linha  webBrowser1.Url = New Uri(boletoPath) fica como Nothing e a rotina de imagem diz que o arquivo está fechado.

Alguém pode ajudar-me com esta questão?

 

Private Sub GeraBoletoBradesco2()

        '-- cedente
        Dim txtCPFCNPJ As String = "00.000.000/0000-00"
        Dim txtNomeCedente As String = "AAAAAAAAAAAAAAAAAAAAAAAA
        Dim txtAgenciaCendente As String = "0000"
        Dim txtDigitoAgenciaCendente As String = "0"
        Dim txtCodigoCedente As String = "0000-0"
        Dim txtContaCedente As String = "00000"
        Dim txtDigitoContaCedente As String = "0"

        '-- boleto
        Dim txtValorBoleto As String = strValorDocumento
        Dim txtvencimento As DateTime = strVencimento
        Dim txtCarteira As String = strCarteira
        Dim txtNossoNumeroBoleto As String = strNotaFiscal
        Dim txtNumeroDocumentoBoleto As String = strPedido
        Dim txtCPFCNPJSacado As String = strCPFCNPJSacado
        Dim txtNomeSacado As String = strNomeSacado
        Dim txtEnderecoSacado As String = strEnderecoSacado
        Dim txtNumeroEnderecoSacado As String = strNumeroEnderecoSacado
        Dim txtBairroSacado As String = strBairroSacado
        Dim txtCidadeSacado As String = strCidadeSacado
        Dim txtCEPSacado As String = strCEPSacado
        Dim txtUFSacado As String = strUFSacado

        Dim bb As New BoletoBancario()
        bb.CodigoBanco = "237"

        Dim vencimento As DateTime = New DateTime(2011, 11, 29)
        Dim c As Cedente = New Cedente(txtCPFCNPJ, txtNomeCedente, txtAgenciaCendente, txtDigitoAgenciaCendente, txtCodigoCedente)
        c.Codigo = 13000

        Dim Ender As Endereco = New Endereco
        Ender.Bairro = txtBairroSacado
        Ender.CEP = txtCEPSacado
        Ender.Cidade = txtCidadeSacado
        Ender.Complemento = ""
        Ender.End = txtEnderecoSacado & " " & txtNumeroEnderecoSacado
        Ender.Logradouro = ""
        'Ender.Numero = txtNumeroEnderecoSacado
        Ender.UF = txtUFSacado

        Dim b As Boleto = New Boleto(vencimento, txtValorBoleto, txtCarteira, txtNossoNumeroBoleto, c)
        b.NumeroDocumento = txtNumeroDocumentoBoleto
        b.Sacado = New Sacado(txtCPFCNPJSacado, txtNomeSacado)
        b.Sacado.Endereco = Ender

        Dim item As Instrucao_Bradesco = New Instrucao_Bradesco(999, 5)
        item.Descricao = strInstrucao1.ToUpper
        b.Instrucoes.Add(item)

        Dim item2 As Instrucao_Bradesco = New Instrucao_Bradesco(999, 10)
        item2.Descricao = strInstrucao2.ToUpper & " " & strNotaFiscal
        b.Instrucoes.Add(item2)

        Dim item3 As Instrucao_Bradesco = New Instrucao_Bradesco(999, 1)
        item3.Descricao = strInstrucao3.ToUpper
        b.Instrucoes.Add(item3)

        bb.Boleto = b
        bb.Boleto.Valida()
        'Boletos.Add(bb)

        Dim html As StringBuilder = New StringBuilder
        html.Append(bb.MontaHtml)
        html.Append("</br></br></br></br></br></br></br></br></br></br>")
        Dim boletoPath As String = System.IO.Path.GetTempFileName
        Dim f As FileStream = New FileStream(boletoPath, FileMode.Create)
        Dim w As StreamWriter = New StreamWriter(f, System.Text.Encoding.Default)
        w.Write(html.ToString)
        w.Close()
        f.Close()

        webBrowser1.Url = New Uri(boletoPath)

    End Sub

Atenciosamente,

José Roberto Siqueira

MSN: jrsiqueira@hotmail.com // SkypeID: jrsiqueira // Gtalk: jrsiqueira@gmail.com // Twitter: @jrsiqueira