Gerar Remessa Bradesco

Feb 24, 2012 at 8:31 PM

Pessoal,

Como faço para gerar arquivo de remessa do bradesco?

Conseguir gerar o boleto mas não sei com gerar esse arquivo.

Estou usando ASP.NET, mas se tiverem para Windows Form eu agradeço.

Abraço.

Developer
Feb 26, 2012 at 3:17 PM

Olá joandreiy.

Existe um exemplo no projeto.  De qualquer forma, é "quase" igual a gerar o boleto, porém você chama o método para gerar o arquivo remessa.  Eu estou implementando em Winforms.  Se vc seguir o exemplo vai entender sem nenhum problema.  Se vc quiser posso te passar uma idéia de como fiz.  É claro que vai depender de como seu projeto lida com os boletos.  Basicamente, o meu projeto faz:

1-O cliente imprime tantos boletos qtos forem necessários e cada boleto tem um registro com os dados necessários gravados em tabela de BD;

2-De tempos em tempos, o cliente decide se vai enviar a remessa (lote) e em outro programa, seleciona todos os boletos que não foram enviados ainda;

3-Clica no botão "Gerar remessa" e o programa monta o arquivo, em arquivo CNAB400;

4-O cliente entra no site do banco e faz o UPLOAD desse arquivo;

5-É só esperar a disponibilização do RETORNO pelo banco.

Abraços,

Feb 28, 2012 at 11:19 AM

Bom Dia joandreiy

Fiz criando um arquivo texto simples formatado conforme consta no manual.

Não há segredo!

Não trabalho com ASP.NET se desejar posso passar uma idéia de como criar o TXT no VB.NET

Atenciosamente,

José Roberto Siqueira
RMGR Soluções e Serviços em Softwares
+55 11 7612-1268 Claro / +55 11 8612-8287 Tim / +55 11 7119-1634 Vivo

Gtalk..: jrsiqueira[@]gmail[.]com
MSN....: jrsiqueira[@]hotmail[.]com
SkypeID: jrsiqueira
Twitter: [@]jrsiqueira
---

Feb 28, 2012 at 5:09 PM
Edited Feb 28, 2012 at 5:09 PM

Boa Tarde.

Sim. Me envia a sua ideia de como gerar o txt.

Feb 28, 2012 at 5:12 PM

Boa tarde.

Estranho não encontrei esse exemplo, qual o link dele?

Abraço.

Developer
Feb 28, 2012 at 9:57 PM

Olá, joandreiy.

Imagino que este último post seja sobre minha explicação.

Quando vc baixa o projeto Boleto.NET, dentro dele existem as pastas: Boleto.Net, Boleto.Net.Arquivo e Boleto.Net.Site.

Os exemplos que me refiro estão em Boleto.Net.Arquivo.

É só editar pelo VS e vc poderá ver como funciona.

Abraços,

Mar 21, 2012 at 4:15 PM

Pessoal.

Não consegui ainda gerar o arquivo de remessa para o bradesco já tentei via ASP.net e Windows Form e o arquivo continua saindo em branco.

Segue abaixo o um exemplo que encontrei na pasta Boleto.Net.Arquivo no arquivo Main.cs e converti para vb.net, só mudei o banco de 33 (Santander) para

237 (Bradesco). Se eu voltar a usar o banco 33 (Santander) ou outro, fora o bradesco o arquivo é gerado nomalmente.

 

Imports BoletoNet

Public Class Form1

      Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim boletos As New Boletos()

        Dim vencimento As New DateTime(2003, 5, 15)

        Dim c As New Cedente("00.000.000/0000-00", "Empresa de Atacado", "2269", "130000946")
        c.Codigo = 1795082

        Dim b As New Boleto(vencimento, 0.2, "09", "12345678901", c)

        b.NumeroDocumento = "0282033"

        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"

        b.EspecieDocumento = New EspecieDocumento_BancoBrasil(2)

        boletos.Add(b)
       
       'GeraArquivoCNAB400(New Banco(33), c, boletos)

 

        GeraArquivoCNAB400(New Banco(237), c, boletos)

 

    End Sub

    Public Sub GeraArquivoCNAB400(banco As IBanco, cedente As Cedente, 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
End Class

 

 

Developer
Mar 21, 2012 at 6:53 PM
Edited Mar 21, 2012 at 7:27 PM

Olá, estou implementando o Bradesco neste momento e me deparei com a mensagem "Imput String was a Incorrect Format". Estou debugando para ver aonde está o creck.

Abraço

Pessoal, achei o que eu estava fazendo de errado. Meu método MontaBoleto, estava retornando um BoletoBancario, e ele estava fazendo o " bb.Boleto.Valida();", que neste caso o código de NossoNumero ao invés de 99999999999 estava no formato 09/99999999999-9, daí quando eu mandava o objeto boleto, dava erro na montagem do arquivo de remessa. Resumindo, agora somente devolvo o objeto Boleto, sem chamar o Valida, daí funcionou 100%.

Valeu!

Developer
Mar 23, 2012 at 12:53 AM
Edited Mar 23, 2012 at 12:59 AM

Olá, joandrey.

Eu passei por algo semelhante, mas não me lembro direito.  Pode ser que, no caso do BRADESCO, falta preencher alguma propriedade.  Você fez o DEBUG?  Você tem colocado o "Try...Catch...End Try".  O BOLETO.NET, muitas vezes, não avisa se falta algum campo ou campos com dados inconsistentes e o programa simplesmente pára de rodar e vc "fica a ver navios"...rs

Veja o meu exemplo.  Todos os bancos geram o arquivo, porém, Santander e BB ainda não estão definitivamente prontos.  Mas no seu caso é o BRADESCO, certo?

 

	Private Sub MontaArquivoParaRemessa()

	'Banco e Nome   = arrCONTA(0)
        'Agencia        = arrCONTA(1)
        'Agencia D�gito = arrCONTA(2)
        'Conta          = arrCONTA(3)
        'Conta D�gito   = arrCONTA(4)
        'Carteira       = arrCONTA(5)
        'Conv�nio       = arrCONTA(6)
        
	'Inst�ncia da lista de boletos a serem gerados
        Dim objBOLETOS As New Boletos()
        'Inst�ncia de Cedente
        Dim objCEDENTE As New Cedente(My.Settings.Cnpj, My.Settings.Cedente, arrCONTA(1), arrCONTA(2), arrCONTA(3), arrCONTA(4))
        objCEDENTE.Convenio = CInt(arrCONTA(6))

        Dim clsSACADO As New TranswagenMain.Boletos()
        clsSACADO.ConnectionString = My.Settings.BDConex
        Dim objDR As SqlDataReader = Nothing

	'Ler todos os registros do DataGridView
        For Each objROW As DataGridViewRow In DataGridView1.Rows
            lngNROBOL = CLng(objROW.Cells("nrbol").Value)
            datDTVCTO = CDate(objROW.Cells("dtvencto").Value)
            datDTEMIS = CDate(objROW.Cells("dtemissao").Value)
            dblVLBOL = CDbl(objROW.Cells("vlboleto").Value)
            dblTOTJUR = CDbl(FormatNumber(dblVLBOL * udtPARM.jurosdia / 100, 2))
            dblTOTMULTA = CDbl(FormatNumber(dblVLBOL * udtPARM.multa / 100, 2))

            'Consulta dados do sacado
            objDR = clsSACADO.ConsultaSacado(CStr(objROW.Cells("sacado").Value))

            If objDR.Read Then
                If objDR("tppessoa").ToString.ToUpper = "J" Then
                    udtSACADO.cpfcnpj = Format(objDR("cnpjcpf"), "00000000000000")
                Else
                    udtSACADO.cpfcnpj = Format(objDR("cnpjcpf"), "00000000000")
                End If
                udtSACADO.nomerazao = objDR("nomerazao").ToString.Trim
                udtSACADO.endereco = objDR("endertipo").ToString.Trim & " " & objDR("logradouro").ToString.Trim & ", " & objDR("numero").ToString.Trim
                udtSACADO.bairro = objDR("bairro").ToString.Trim
                udtSACADO.localidade = objDR("localidade").ToString.Trim
                udtSACADO.cep = Replace(objDR("cep").ToString.Trim, "-", "")
                udtSACADO.uf = objDR("uf").ToString
            End If

            'Inst�ncia de Boleto
            Dim objBOLETO As New Boleto()

	    Select Case Format(intBANCO, "000")
                Case "001" 'B.Brasil
                    'O nosso-numero deve ser de 10 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "0000000000")
		    lblnomearquivo.Text = "BB" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(1, 4)
                Case "033" 'Santander
                    'O nosso-numero deve ser de 12 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "000000000000")
		    lblnomearquivo.Text = "SA" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(33, 12)
                Case "237" 'Bradesco 
                    'O nosso-numero deve ser de 11 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "00000000000")
		    lblnomearquivo.Text = "CB" & Format(Date.Now, "ddMM")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(237, 12)
                Case "341" 'Ita�
                    'O nosso-numero deve ser de 8 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "00000000")
		    lblnomearquivo.Text = "IT" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(341, 8)
            End Select

            objBOLETO.DataVencimento = datDTVCTO
            objBOLETO.ValorBoleto = dblVLBOL
            objBOLETO.Carteira = arrCONTA(5)
            objBOLETO.NossoNumero = strNOSSONUMERO
            objBOLETO.Cedente = objCEDENTE

            'O n� do documento deve ser de 10 posi��es
            objBOLETO.NumeroDocumento = Format(lngNROBOL, "0000000000")
            'A data do documento � a data de emiss�o do boleto
            objBOLETO.DataDocumento = datDTEMIS
            'A data de processamento � a data em que foi processado o documento, portanto � da data de emiss�o do boleto
            objBOLETO.DataProcessamento = datDTEMIS
            objBOLETO.JurosMora = dblTOTJUR

            objBOLETO.Sacado = New Sacado(udtSACADO.cpfcnpj, udtSACADO.nomerazao)
            objBOLETO.Sacado.Endereco.End = udtSACADO.endereco
            objBOLETO.Sacado.Endereco.Bairro = udtSACADO.bairro
            objBOLETO.Sacado.Endereco.Cidade = udtSACADO.localidade
            objBOLETO.Sacado.Endereco.CEP = udtSACADO.cep
            objBOLETO.Sacado.Endereco.UF = udtSACADO.uf

            objBOLETOS.Add(objBOLETO)
            objBOLETO = Nothing
        Next

        objDR.Close()
        clsSACADO = Nothing

        'Cria objeto STREAM
        Dim objFILESTREAM As FileStream
        'Cria objeto do arquivo remessa
        Dim objREMESSA As ArquivoRemessa
        Select Case Format(intBANCO, "000")
            Case "001" 'B.Brasil
                objREMESSA = New ArquivoRemessa(TipoArquivo.CNAB240)
            Case Else 'Santander, Bradesco e Ita�
                objREMESSA = New ArquivoRemessa(TipoArquivo.CNAB400)
        End Select

        Try
            'Abre arquivo STREAM
            objFILESTREAM = File.Create("D:\REMESSA\" & lblnomearquivo.Text.Trim & ".rem")
            'Gera o arquivo REMESSA
            objREMESSA.GerarArquivoRemessa(arrCONTA(6), New Banco(intBANCO), objCEDENTE, objBOLETOS, objFILESTREAM, intSEQUENCIA)

        Catch ex As Exception
            strMSG = "Houve um problema na gera��o do arquivo REMESSA." & vbCrLf & vbCrLf
            strMSG &= "Erro: " & ex.Message
            MsgBox(strMSG, MsgBoxStyle.Critical)
            Exit Sub
        End Try

        objREMESSA = Nothing
        objFILESTREAM = Nothing
        objCEDENTE = Nothing
        objBOLETOS = Nothing

        strMSG = "Arquivo de REMESSA [ " & lblnomearquivo.Text & ".rem ] foi gerado com sucesso !" & vbCrLf
        MsgBox(strMSG, MsgBoxStyle.Information)

    End Sub

Abraços,

Mar 23, 2012 at 11:51 AM

Bom dia jsoda.

Peguei se exemplo e adaptei para testar, mas também gerou o arquivo em branco. Estou desconfiado que seja

a dll que estou usando que esteja com algum bug, estou usando a mesma dll daqui do site. Até baixei os fontes compilei e continua gerando o arquivo

em branco o estranho que comigo é só o bradesco que gera o arquivo em branco, na verdade com 4 linhas em branco. Você poderia me enviar a dll que você usa para mim testar?

 

Abraço.

Developer
Mar 23, 2012 at 6:57 PM

Ola, joandrey.

Qual a versão que vc está usando? É a 85966 ?

Pois é, a minha versão é essa, mas fiz muitas alterações para serem disponibilizadas depois.  Só não sei se o Stiven vai acatar as minhas ou de outras pessoas que fizeram antes.  De qualquer forma, fiz ao meu modo, seguindo as explicações de cada um.

São muitas alterações, de diversos bancos.  Posso enviar o roteiro se quiser...ou as alterações que eu estou fazendo (lembre-se, a minha versão não é oficial e caso haja novas modificações pelo site, pode ser que não estejam inseridas).

Abraços,

Mar 23, 2012 at 8:16 PM
jsoda.

Obrigado pela ajuda como sou novo Boletonet não reparei na versão, a minha ainda era a verão 59790 de 2010, foi
a primeira coisa que baixei na primeira vez que acessei o site. Procurei no site encontrei uma versão nova a 89592
que baixei e funcionou certinho a geração da remessa.

Obrigado,
Joandreiy




Em 23 de março de 2012 14:57, jsoda <notifications@codeplex.com> escreveu:

From: jsoda

Ola, joandrey.

Qual a versão que vc está usando? É a 85966 ?

Pois é, a minha versão é essa, mas fiz muitas alterações para serem disponibilizadas depois. Só não sei se o Stiven vai acatar as minhas ou de outras pessoas que fizeram antes. De qualquer forma, fiz ao meu modo, seguindo as explicações de cada um.

São muitas alterações, de diversos bancos. Posso enviar o roteiro se quiser...ou as alterações que eu estou fazendo (lembre-se, a minha versão não é oficial e caso haja novas modificações pelo site, pode ser que não estejam inseridas).

Abraços,

Read the full discussion online.

To add a post to this discussion, reply to this email (boletonet@discussions.codeplex.com)

To start a new discussion for this project, email boletonet@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


Apr 26, 2014 at 5:56 PM
Ola , bom dia.
Existe algum exemplo de codigo em asp.net vb para gerar apenas boleto do ITAU?
Obrigado!
Jul 22, 2014 at 8:05 PM
Edited Jul 22, 2014 at 8:07 PM
Olá jsoda,

Sou novo aqui no boletonet e também no VB.NET.
Estou tentando adaptar seu código para ler uma tabela SQL e gerar o arquivo de remessa de boletos do Bradesco.

Mas nessa linha:
Dim clsSACADO As New TranswagenMain.Boletos()

Estou recebendo o seguinte erro:
Type 'TranswagenMain.Boletos' is not defined

Pode me dar uma força? Tks!

Abaixo segue o código completo:

Imports BoletoNet
Imports System.Data.SqlClient
Imports System.IO

Public Class Form1

    Private Property strNOSSONUMERO As String

    Private Property lngNROBOL As Long

    Private Property datDTVCTO As Date

    Private Property dblVLBOL As Double

    Private Property datDTEMIS As Date

    Private Property dblTOTJUR As String

    Private Property dblTOTMULTA As String

    Private Property udtPARM As Object

    Private Property udtSACADO As Object

    Private Property intBANCO As Object

    Private Property lblnomearquivo As Object

    Private Property strMSG As String

    Private Property intSEQUENCIA As Integer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'EURO_DEVDataSet.titulos_2014_aberto_doadores' table. You can move, or remove it, as needed.
        Me.Titulos_2014_aberto_doadoresTableAdapter.Fill(Me.EURO_DEVDataSet.titulos_2014_aberto_doadores)

    End Sub

    Private Sub MontaArquivoParaRemessa()

        'Banco e Nome   = arrCONTA(0)
        'Agencia        = arrCONTA(1)
        'Agencia D�gito = arrCONTA(2)
        'Conta          = arrCONTA(3)
        'Conta D�gito   = arrCONTA(4)
        'Carteira       = arrCONTA(5)
        'Conv�nio       = arrCONTA(6)

        'Inst�ncia da lista de boletos a serem gerados
        Dim objBOLETOS As New Boletos()
        'Inst�ncia de Cedente
        'Dim objCEDENTE As New Cedente(My.Settings.Cnpj, My.Settings.Cedente, arrCONTA(1), arrCONTA(2), arrCONTA(3), arrCONTA(4)) --ORIGINAL
        Dim objCEDENTE As New Cedente("35.797.364/0001-29", "ALDEIAS INFANTIS SOS BRASIL", "03114", "3", "0181300", "5")
        objCEDENTE.Convenio = CInt("00000000000000312307") 'INSERIR NUMERO DO CONVENIO!!!


        Dim clsSACADO As New TranswagenMain.Boletos()
        ''clsSACADO.ConnectionString = My.Settings.BDConex --ORIGINAL
        clsSACADO.ConnectionString = My.Settings.EURO_DEVConnectionString
        Dim objDR As SqlDataReader = Nothing



        'Ler todos os registros do DataGridView
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        For Each objROW As DataGridViewRow In DataGridView1.Rows
            lngNROBOL = CLng(objROW.Cells("nrbol").Value)
            datDTVCTO = CDate(objROW.Cells("dtvencto").Value)
            datDTEMIS = CDate(objROW.Cells("dtemissao").Value)
            dblVLBOL = CDbl(objROW.Cells("vlboleto").Value)
            dblTOTJUR = CDbl(FormatNumber(dblVLBOL * udtPARM.jurosdia / 100, 2))
            dblTOTMULTA = CDbl(FormatNumber(dblVLBOL * udtPARM.multa / 100, 2))

            'Consulta dados do sacado
            objDR = clsSACADO.ConsultaSacado(CStr(objROW.Cells("sacado").Value))

            If objDR.Read Then
                If objDR("tppessoa").ToString.ToUpper = "J" Then
                    udtSACADO.cpfcnpj = Format(objDR("cnpjcpf"), "00000000000000")
                Else
                    udtSACADO.cpfcnpj = Format(objDR("cnpjcpf"), "00000000000")
                End If
                udtSACADO.nomerazao = objDR("nomerazao").ToString.Trim
                udtSACADO.endereco = objDR("endertipo").ToString.Trim & " " & objDR("logradouro").ToString.Trim & ", " & objDR("numero").ToString.Trim
                udtSACADO.bairro = objDR("bairro").ToString.Trim
                udtSACADO.localidade = objDR("localidade").ToString.Trim
                udtSACADO.cep = Replace(objDR("cep").ToString.Trim, "-", "")
                udtSACADO.uf = objDR("uf").ToString
            End If

            'Inst�ncia de Boleto
            Dim objBOLETO As New Boleto()

            Select Case Format(intBANCO, "000")
                Case "001" 'B.Brasil
                    'O nosso-numero deve ser de 10 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "0000000000")
                    lblnomearquivo.Text = "BB" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(1, 4)
                Case "033" 'Santander
                    'O nosso-numero deve ser de 12 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "000000000000")
                    lblnomearquivo.Text = "SA" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(33, 12)
                Case "237" 'Bradesco 
                    'O nosso-numero deve ser de 11 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "00000000000")
                    lblnomearquivo.Text = "CB" & Format(Date.Now, "ddMM")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(237, 12)
                Case "341" 'Ita�
                    'O nosso-numero deve ser de 8 posi��es
                    strNOSSONUMERO = Format(lngNROBOL, "00000000")
                    lblnomearquivo.Text = "IT" & Format(Date.Now, "MMdd")
                    objBOLETO.EspecieDocumento = New EspecieDocumento(341, 8)
            End Select

            objBOLETO.DataVencimento = datDTVCTO
            objBOLETO.ValorBoleto = dblVLBOL
            objBOLETO.Carteira = "06"
            objBOLETO.NossoNumero = strNOSSONUMERO
            objBOLETO.Cedente = objCEDENTE

            'O n� do documento deve ser de 10 posi��es
            objBOLETO.NumeroDocumento = Format(lngNROBOL, "0000000000")
            'A data do documento � a data de emiss�o do boleto
            objBOLETO.DataDocumento = datDTEMIS
            'A data de processamento � a data em que foi processado o documento, portanto � da data de emiss�o do boleto
            objBOLETO.DataProcessamento = datDTEMIS
            objBOLETO.JurosMora = dblTOTJUR

            objBOLETO.Sacado = New Sacado(udtSACADO.cpfcnpj, udtSACADO.nomerazao)
            objBOLETO.Sacado.Endereco.End = udtSACADO.endereco
            objBOLETO.Sacado.Endereco.Bairro = udtSACADO.bairro
            objBOLETO.Sacado.Endereco.Cidade = udtSACADO.localidade
            objBOLETO.Sacado.Endereco.CEP = udtSACADO.cep
            objBOLETO.Sacado.Endereco.UF = udtSACADO.uf

            objBOLETOS.Add(objBOLETO)
            objBOLETO = Nothing
        Next
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        objDR.Close()
        clsSACADO = Nothing

        'Cria objeto STREAM
        Dim objFILESTREAM As FileStream
        'Cria objeto do arquivo remessa
        Dim objREMESSA As ArquivoRemessa
        Select Case Format(intBANCO, "000")
            Case "001" 'B.Brasil
                objREMESSA = New ArquivoRemessa(TipoArquivo.CNAB240)
            Case Else 'Santander, Bradesco e Ita�
                objREMESSA = New ArquivoRemessa(TipoArquivo.CNAB400)
        End Select

        Try
            'Abre arquivo STREAM
            objFILESTREAM = File.Create("C:\REMESSA\" & lblnomearquivo.Text.Trim & ".rem")
            'Gera o arquivo REMESSA
            'CInt("00000000000000312307") 'INSERIR NUMERO DO CONVENIO!!!
            objREMESSA.GerarArquivoRemessa("000000000", New Banco(intBANCO), objCEDENTE, objBOLETOS, objFILESTREAM, intSEQUENCIA)

        Catch ex As Exception
            strMSG = "Houve um problema na gera��o do arquivo REMESSA." & vbCrLf & vbCrLf
            strMSG &= "Erro: " & ex.Message
            MsgBox(strMSG, MsgBoxStyle.Critical)
            Exit Sub
        End Try

        objREMESSA = Nothing
        objFILESTREAM = Nothing
        objCEDENTE = Nothing
        objBOLETOS = Nothing

        strMSG = "Arquivo de REMESSA [ " & lblnomearquivo.Text & ".rem ] foi gerado com sucesso !" & vbCrLf
        MsgBox(strMSG, MsgBoxStyle.Information)

    End Sub
End Class
Developer
Jul 22, 2014 at 11:52 PM
Edited Jul 22, 2014 at 11:53 PM
Olá, nelsonmoura.

Essa classe é um componente proprietário. Faz a consulta no BD SQL para buscar informações do SACADO.
Desculpe no e-mail. Fiquei apreensivo ao ver o código "voando" por aí...rs.

Abraços,
Aug 11, 2014 at 6:56 PM
Boa tarde,

Tentei de varias formas e só recebo a seguinte mensagem de erro:

System.Exception: Erro durante a geração do DETALHE arquivo de REMESSA


Alguem poderia me ajudar ?

string vencimento = "10/10/2014";
            String valorBoleto = "1,00";
            String numeroDocumento = "B20005446";

            string carteira = "09";

            //cedente
            String cedente_codigo = "1111111";

            String cedente_nossoNumeroBoleto = ContratoID;
            String cedente_cpfCnpj = "00000000000";
            String cedente_nome = "teste";
            String cedente_agencia = "6666";
            String cedente_conta = "665987";
            String cedente_digitoConta = "4";
            String cedente_digitoagencia = "9";

            //sacado         
            String sacado_cpfCnpj = "000.000.000-00";
            String sacado_nome = "sacado";
            String sacado_endereco = "endereco";
            String sacado_bairro = "bairro";
            String sacado_cidade = "teste";
            String sacado_cep = "0000987";
            String sacado_uf = "PR";

            #region Bradesco

            Cedente cedente = new Cedente(cedente_cpfCnpj, cedente_nome, cedente_agencia, cedente_digitoagencia, cedente_conta, cedente_digitoConta);


            Boleto boleto = new Boleto(Convert.ToDateTime(vencimento),
                Convert.ToDecimal(valorBoleto), carteira, cedente_nossoNumeroBoleto, cedente);


            Boletos _Boletos = new Boletos();

            boleto.NumeroDocumento = numeroDocumento;

            Sacado sacado = new Sacado(sacado_cpfCnpj, sacado_nome);
            boleto.Sacado = sacado;
            boleto.Sacado.Endereco.End = sacado_endereco;
            boleto.Sacado.Endereco.Bairro = sacado_bairro;
            boleto.Sacado.Endereco.Cidade = sacado_cidade;
            boleto.Sacado.Endereco.CEP = sacado_cep;
            boleto.Sacado.Endereco.UF = sacado_uf;


            Instrucao_Bradesco _Instrucao = new Instrucao_Bradesco();
            _Instrucao.Descricao += "TESTE OBS";
            boleto.Instrucoes.Add(_Instrucao);

            BoletoBancario boleto_bancario = new BoletoBancario();

            boleto_bancario.CodigoBanco = 237;
            boleto_bancario.Boleto = boleto;
            boleto_bancario.MostrarCodigoCarteira = false;
            boleto_bancario.Boleto.Valida();

            boleto_bancario.MostrarComprovanteEntrega = true;

            _Boletos.Add(boleto);

            string nameShipping = "CB" + DateTime.Now.ToString("ddMM");
            FileStream objFileStream; // = default(FileStream); //new FileStream("C:\\" + nameShipping + ".rem", FileMode.Create);
            ArquivoRemessa objRemessa = default(ArquivoRemessa);
            objRemessa = new ArquivoRemessa(TipoArquivo.CNAB400);

            objFileStream = File.Create(("D:\\Teste" + ("\\"
                                + ("teste02" + ".rem"))));

            IBanco _Banco = new Banco(237);

            objRemessa.GerarArquivoRemessa("0", _Banco, cedente, _Boletos, objFileStream, 2);

            #endregion
Aug 12, 2014 at 3:31 PM
Cara, eu desisti desse e fiz em PHP.


Aug 12, 2014 at 3:34 PM
Complicado,

Vamos ver se alguem consegue me ajudar.
Feb 10, 2015 at 4:54 PM
nelsonmoura,

vc conseguiu fazer em php? você pode disponibilizar os fontes?