MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    walisilva
    walisilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  walisilva em 7/12/2015, 13:24

    Prezados,

    Fiz uma rápida pesquisa no fórum e não encontrei o que estou precisando.

    Preciso gerar a linha digitável e o código de barras (só os números e não as barras) do boleto Santander.

    Hoje estou usando algo assim:

    BolSTD_Linha(CodBanco, AgConta, NossoNumero, Vencimento, Valor)

    Mas quando gero ele não está completando os dados corretos. Segue o código completo para vossa análise. Caso tenham algum que já faça isso e puder me informar, ficarei grato.

    Segue códigos:

    Código:
    Function GeraBoleto()
    linha = BolSTD_Linha("033", "1234123", "4050012345678", "31/08/2015", "0")
    Barra = BolSTD_Barra("033", "1234123", "4050012345678", "31/08/2015", "0")
    MsgBox "Linha: " & linha & vbNewLine & "Barra: " & Barra, , "Teste Boleto"
    End Function

    Public Function BolSTD_Linha(ByVal txtbc As String, ByVal txtAg As String, ByVal txtNosso As String, ByVal txtVcto As String, ByVal txtValor As String)
    Dim lin1 As String
    Dim lin2 As String
    Dim lin3 As String
    Dim dv4 As String
    Dim lin5 As String
    Dim cod_barras As String
    lin1 = txtbc & "99" & Left(txtAg, 4)
    lin1 = lin1 & DV10(lin1)
    lin1 = Left(lin1, 5) & "." & Right(lin1, 5)
    lin2 = Right(txtAg, 3) & Left(txtNosso, 7)
    lin2 = lin2 & DV10(lin2)
    lin2 = Left(lin2, 5) & "." & Right(lin2, 6)
    lin3 = Right(txtNosso, 6) & "0102"
    lin3 = lin3 & DV10(lin3)
    lin3 = Left(lin3, 5) & "." & Right(lin3, 6)
    dv4 = DV11(txtbc & "9" & Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000") & "9" & Left(txtAg, 7) & txtNosso & "0102")
    cod_barras = txtbc & "9" & dv4 & Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000") & "9" & Left(txtAg, 7) & txtNosso & "0102"
    lin5 = Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000")
    BolSTD_Linha = lin1 & " " & lin2 & " " & lin3 & " " & dv4 & " " & lin5
    txtCod_barras = cod_barras
    TXTcOD = StringCodigoBarra(txtCod_barras)
    End Function

    Public Function BolSTD_Barra(ByVal txtbc As String, ByVal txtAg As String, ByVal txtNosso As String, ByVal txtVcto As String, ByVal txtValor As String)
    Dim lin1 As String
    Dim lin2 As String
    Dim lin3 As String
    Dim dv4 As String
    Dim lin5 As String
    Dim cod_barras As String
    lin1 = txtbc & "99" & Left(txtAg, 4)
    lin1 = lin1 & DV10(lin1)
    lin1 = Left(lin1, 5) & "." & Right(lin1, 5)
    lin2 = Right(txtAg, 3) & Left(txtNosso, 7)
    lin2 = lin2 & DV10(lin2)
    lin2 = Left(lin2, 5) & "." & Right(lin2, 6)
    lin3 = Right(txtNosso, 6) & "0102"
    lin3 = lin3 & DV10(lin3)
    lin3 = Left(lin3, 5) & "." & Right(lin3, 6)
    dv4 = DV11(txtbc & "9" & Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000") & "9" & Left(txtAg, 7) & txtNosso & "0102")
    cod_barras = txtbc & "9" & dv4 & Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000") & "9" & Left(txtAg, 7) & txtNosso & "0102"
    lin5 = Format(DateDiff("D", "07/10/1997", txtVcto), "0000") & Format(txtValor * 100, "0000000000")
    'BolSTD_Linha = lin1 & " " & lin2 & " " & lin3 & " " & dv4 & " " & lin5
    BolSTD_Barra = cod_barras
    TXTcOD = StringCodigoBarra(txtCod_barras)
    End Function

    Function DV11(cod_bar As String) As Integer
    Dim n As Integer
    Dim i As Integer
    cod_bar = Replace(cod_bar, "-", "")
    n = 2
    DV11 = 0
    For i = Len(cod_bar) To 1 Step -1
    DV11 = DV11 + Mid(cod_bar, i, 1) * n
    If n = 9 Then
    n = 1
    End If
    n = n + 1
    Next
    DV11 = 11 - IIf((DV11 Mod 11) = 0 Or (DV11 Mod 11) = 1, 10, (DV11 Mod 11))
    End Function


    Function DV10(campo As String) As Integer
    Dim n As Integer
    Dim i As Integer
    campo = Replace(campo, "-", "")
    n = 2
    DV10 = 0
    For i = Len(campo) To 1 Step -1
    DV10 = DV10 + IIf(Mid(campo, i, 1) * n >= 10, CSng(Left(Mid(campo, i, 1) * n, 1)) + CSng(Right(Mid(campo, i, 1) * n, 1)), Mid(campo, i, 1) * n)
    n = IIf(n = 2, 1, 2)
    Next
    DV10 = 10 - (DV10 Mod 10)
    If DV10 = 10 Then
    DV10 = 0
    End If
    End Function


    .................................................................................
    --
    Walison Silva Cool
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3633
    Registrado : 29/06/2012

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  Noobezinho em 7/12/2015, 19:32

    Walison

    O que pode fazer:

    Tente achar um exemplo para o Santander na net, se tiver  sorte. Razz

    Aqui  no fórum tem esse exemplo..

    Foi com ele que aprendi a fazer boletos bancários, no Access 97.

    No site do Avelino (usandoAccess) tem um exemplo, que por sinal é muito bom.

    Dificilmente irá encontrar o bolo pronto,

    vai ter que arregaçar as mangas e botar a mão na massa.

    Pra criar a linha digitável, primeiro terá que criar o código de barras,

    pois é dele também, que pegará dados para criar a linha digitável.

    O  teu cliente que tem conta no banco Santander, deverá avisar o gerente dele

    que você está fazendo os boletos para ele, e que você precisará ter acesso com o pessoal de TI.

    Eles deverão dar  o manual do cnab240 ou 400 bytes do Santander.

    O manual cnab é chato de se ler, mas por outro lado, informa exatamente como o boleto deve ser feito.

    Prepare-se para ter toda a paciência do mundo para confeccionar esse boleto.

    [ ]'s
    walisilva
    walisilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  walisilva em 7/12/2015, 19:39

    Valeu Noobezinho. O caminho é este mesmo. Mas ainda bem que tá tudo pronto, minha dúvida era somente neste detalhe. Hoje já emito boleto dos principais bancos.

    Mas, o código acima ví que está correto. Apenas é necessário fazer uma pequena alteração... Coisa do Access. kkkkk

    De

    Código:
    lin1 = lin1 & DV10(lin1)

    Para

    Código:
    lin1 = lin1 & "" & DV10(lin1)

    Obrigado!


    .................................................................................
    --
    Walison Silva Cool
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3633
    Registrado : 29/06/2012

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  Noobezinho em 7/12/2015, 19:42

    Agora entendi

    Achei, que queria apenas os códigos da linha digitável e código de barras.

    A linha colocava tudo junto, sem espaço, né?

    Mas pelo jeito resolveu, isso?

    Se sim, não esquece do Resolvido Wink

    [ ]'s
    walisilva
    walisilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  walisilva em 7/12/2015, 19:51

    Sim, sim! Resolvido! Razz


    .................................................................................
    --
    Walison Silva Cool
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 434
    Registrado : 30/08/2010

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  NADIRONUNES em 4/7/2019, 18:08

    boa tarde , Walison Silva

    to precisando do codigo de varios bancos tem como vc disponibilizar

    Caixa, Banco Brasil, Bradesco, Hsbc e outros



    Conteúdo patrocinado

    [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander Empty Re: [Resolvido]Geração de Linha Digitável e Código de Barras Boleto Santander

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/7/2019, 13:42