Carteira 18-019

May 8, 2015 at 3:32 PM
Bom dia,

Eu sei que esse assunto já foi falado, mas não consigo gerar o boleto com a carteira 18-019.

Acessando o endereço abaixo vi que não tem essa carteira.

http://boletonet.codeplex.com/wikipage?title=001%20-%20Banco%20do%20Brasil&referringTitle=Documenta%C3%A7%C3%A3o

Carteiras
11 - Cobrança Simples - Com Registro
11-4 - Cobrança Simples - C/Registro Convênio 4 dígitos
12 - Cobrança Indexada - Com Registro
12-4 - Cobrança Indexada - C/Registro Convênio 4 dígitos
12-7 - Cobrança Indexada - C/Registro Convênio 7 dígitos
15 - Cobrança de Prêmios de Seguro - Com Registro
15-4 - Cob.Prêmios Seguro - C/Registro Convênio 4 dígitos
16 - Cobranca Simples
16-17 - Cobranca Simples - Nosso Número 17 Dígitos
16-4 - Cobranca Simples - Convênio 4 dígitos
17 - Cobranca Direta Especial - Com Registro
17-4 - Cob. Direta Esp. - C/Registro Convênio 4 dígitos
17-7 - Cob. Direta Esp. - C/Registro Convênio 7 dígitos
18 - Cobranca Simples - Nosso Número 11 Dígitos
18-17 - Cobranca Simples - Nosso Número 17 Dígitos
18-4 - Cobranca Simples - Convênio 4 dígitos
18-7 - Cobranca Simples - Convênio 7 dígitos
31 - Cobrança Caucionada/Vinculada - Com Registro
31-4 - Cob.Cauc./Vinc. - C/Registro Convênio 4 dígitos
51 - Cobrança Descontada - Com Registro
51-4 - Cob. Descontada - C/Registro Convênio 4 dígitos

Eu uso uma dll mais antiga e no código tem:
Dim b = New Boleto(vencimento, valor, "18-019", NossoNumeroCom10Posicoes, c)

E funciona.

Porém, se coloco 18-019 na última dll que baixei, não funciona, e gera erro.

Tentei preencher assim:
boleto.Carteira = "18"
boleto.VariacaoCarteira = "019"

E dá o mesmo erro.

No boleto no campo Carteira, no que uso agora (antigo) mostra 18-019, na dll nova mostra 18 (só passando 18 que funciona), porém, nesse caso o código de barras fica diferente do boleto atual que funciona (dll antiga). Reparei que o código do cedente não é mostrado a partir do caracter 12 do código de barras. Comparei os dois boletos e essa é a divergência atual, ou seja, a carteira.

Alguém pode me ajudar?

Obrigado!
May 8, 2015 at 4:45 PM
Prezados,
Já consegui. Mesmo não constando a carteira na documentação, no código existe, então usei o código anterior que funciona. Segue para colaborar com o projeto.
            'Informa os dados do cedente
            Dim c = New Cedente(sCNPJCPFCedente, sNomeCedente, sAgenciaCedente, digAgencia, sContaCedente, digConta)


            'Dependendo da carteira, é necessário informar o código do cedente (o banco que fornece)
'No meu caso tem 7 números.
            c.Convenio = sCodCedenteConta

            'Dados para preenchimento do boleto (data de vencimento, valor, carteira e nosso número)
'No meu caso a carteira aqui é "18-019"
            Dim b = New Boleto(dtBoleto, nValor, sCarteira, sNossoNumero.PadLeft(10, "0"), c) 


            'Dependendo da carteira, é necessário o número do documento
            b.NumeroDocumento = sNumeroDocumento.PadLeft(10, "0") 



            'Informa os dados do sacado
            b.Sacado = New Sacado(sCNPJCPFSacado, sNomeSacado)
            b.Sacado.Endereco.End = sEndereco
            'b.Sacado.Endereco.Logradouro = sEndereco
            'b.Sacado.Endereco.Complemento = sEndereco
            b.Sacado.Endereco.Bairro = sBairroSacado
            b.Sacado.Endereco.Cidade = sCidadeSacado
            b.Sacado.Endereco.CEP = sCepSacado
            b.Sacado.Endereco.UF = sEstadoSacado





            'If Convert.ToDecimal("0" + nMulta) > 0 Then
            ' b.ValorMulta = nMulta
            'End If
            'If Convert.ToDecimal("0" + nMora) > 0 Then
            '    b.JurosMora = nMora
            'End If


            ''Exemplo de instruções de caixa.
            sInstrucoes = "NÃO RECEBER APÓS O VENCIMENTO"
            sInstrucoes += "<br />EMISSÃO DE SEGUNDA VIA DO BOLETO BANCÁRIO"
            sInstrucoes += "<br />VENCIMENTO ORIGINAL: " + dtVencimento.ToString("dd/MM/yyyy")
            sDemonstrativo = sInstrucoes + "<br />" + sDemonstrativo
'no meu caso abaixo só usei BB.
            'Instrução.
            Select Case sNumeroBanco
                Case "001" 'Banco do Brasil.
                    Dim i1 As New Instrucao_BancoBrasil(CInt(sNumeroBanco))
                    i1.Descricao = sInstrucoes ' "Não Receber após o vencimento"
                    b.Instrucoes.Add(i1)
                    'Case "033" 'Santander.
                    '    Dim i2 As New Instrucao_Santander(CInt(txtBanco.Text))
                    '    i2.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i2)
                    'Case "070" 'Banco BRB.
                    '    Dim i3 As New Instrucao(CInt(txtBanco.Text))
                    '    i3.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i3)
                    'Case "104" 'Caixa Econômica Federal.
                    '    Dim i4 As New Instrucao_Caixa(CInt(txtBanco.Text))
                    '    i4.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i4)
                    'Case "237" 'Banco Bradesco.
                    '    Dim i5 As New Instrucao_Bradesco(CInt(txtBanco.Text))
                    '    i5.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i5)
                    'Case "275" 'Banco Real.
                    '    Dim i6 As New Instrucao(CInt(txtBanco.Text))
                    '    i6.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i6)
                    'Case "291" 'Banco BCN.
                    '    Dim i7 As New Instrucao(CInt(txtBanco.Text))
                    '    i7.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i7)
                    'Case "341" 'Banco Itaú.
                    '    Dim i8 As New Instrucao_Itau(CInt(txtBanco.Text))
                    '    i8.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i8)
                    'Case "347" 'Banco Sudameris.
                    '    Dim i9 As New Instrucao(CInt(txtBanco.Text))
                    '    i9.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i9)
                    'Case "356" 'Banco Real.
                    '    'Dim i10 As New Instrucao(CInt(txtBanco.Text))
                    '    Dim i10 As New Instrucao(1)
                    '    i10.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i10)
                    'Case "409" 'Banco Unibanco.
                    '    Dim i11 As New Instrucao(CInt(txtBanco.Text))
                    '    i11.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i11)
                    'Case "422" 'Banco Safra.
                    '    Dim i12 As New Instrucao(CInt(txtBanco.Text))
                    '    i12.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i12)
                    'Case Else
                    '    'Instrução de teste Santander.
                    '    Dim i13 As New Instrucao_Santander(CInt(txtBanco.Text))
                    '    i13.Descricao = txtInstrucoes.Text '"Não Receber após o vencimento"
                    '    b.Instrucoes.Add(i13)
            End Select


'no meu caso abaixo só usei BB.
            'Espécie do Documento - [R] Recibo
            Select Case sNumeroBanco
                Case "001" 'Banco do Brasil.
                    b.EspecieDocumento = New EspecieDocumento_BancoBrasil(2)
                    'Espécie.
                    'Cheque = 1, //CH – CHEQUE
                    'DuplicataMercantil = 2, //DM – DUPLICATA MERCANTIL
                    'DuplicataMercantilIndicacao = 3, //DMI – DUPLICATA MERCANTIL P/ INDICAÇÃO
                    'DuplicataServico = 4, //DS –  DUPLICATA DE SERVIÇO
                    'DuplicataServicoIndicacao = 5, //DSI –  DUPLICATA DE SERVIÇO P/ INDICAÇÃO
                    'DuplicataRural = 6, //DR – DUPLICATA RURAL
                    'LetraCambio = 7, //LC – LETRA DE CAMBIO
                    'NotaCreditoComercial = 8, //NCC – NOTA DE CRÉDITO COMERCIAL
                    'NotaCreditoExportacao = 9, //NCE – NOTA DE CRÉDITO A EXPORTAÇÃO
                    'NotaCreditoIndustrial = 10, //NCI – NOTA DE CRÉDITO INDUSTRIAL
                    'NotaCreditoRural = 11, //NCR – NOTA DE CRÉDITO RURAL
                    'NotaPromissoria = 12, //NP – NOTA PROMISSÓRIA
                    'NotaPromissoriaRural = 13, //NPR –NOTA PROMISSÓRIA RURAL
                    'TriplicataMercantil = 14, //TM – TRIPLICATA MERCANTIL
                    'TriplicataServico = 15, //TS –  TRIPLICATA DE SERVIÇO
                    'NotaSeguro = 16, //NS – NOTA DE SEGURO
                    'Recibo = 17, //RC – RECIBO
                    'Fatura = 18, //FAT – FATURA
                    'NotaDebito = 19, //ND –  NOTA DE DÉBITO
                    'ApoliceSeguro = 20, //AP –  APÓLICE DE SEGURO
                    'MensalidadeEscolar = 21, //ME – MENSALIDADE ESCOLAR
                    'ParcelaConsorcio = 22, //PC –  PARCELA DE CONSÓRCIO
                    'Outros = 23 //OUTROS

                    'Case "033" 'Santander.
                    '    b.EspecieDocumento = New EspecieDocumento_Santander(17)
                    'Case "070" 'Banco BRB.
                    '    b.EspecieDocumento = New EspecieDocumento(17)
                    'Case "104" 'Caixa Econômica Federal.
                    '    b.EspecieDocumento = New EspecieDocumento_Caixa(17)
                    'Case "237" 'Banco Bradesco.
                    '    'b.EspecieDocumento = New EspecieDocumento(17)
                    'Case "275" 'Banco Real.
                    '    b.EspecieDocumento = New EspecieDocumento(17)
                    'Case "291" 'Banco BCN.
                    '    b.EspecieDocumento = New EspecieDocumento(17)
                    'Case "341" 'Banco Itaú.
Dim bb As New BoletoBancario()
            bb.CodigoBanco = sNumeroBanco '001 Banco do Brasil e 33 do Santander

bb.FormatoCarne = False
            bb.GerarArquivoRemessa = False
            bb.MostrarCodigoCarteira = False
            bb.MostrarComprovanteEntrega = False
            bb.MostrarComprovanteEntregaLivre = False
            bb.MostrarContraApresentacaoNaDataVencimento = False
            bb.OcultarEnderecoSacado = False
            bb.OcultarInstrucoes = False
            bb.OcultarReciboSacado = False



            bb.Boleto = b
            bb.Boleto.Valida()
            bb.MostrarComprovanteEntrega = False

            Return bb