USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Impressão de Boleto
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/03/2006 15:30 hs            
Alguem tem a rotina de impressão do Boleto do Bradesco e Banco doBrasil?

dsmn
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 14/03/2006 16:42 hs            
Para cada tipo de Boleto tem uma idenfificação diferente, estou quase terminando pelo bradesco, voce pede que eles te dão todo layout da impressão até com a identificação do cliente, a fonte usada para o código de leitura tem que ser interlevead 2of5.
vlu//
   
Valmirmg
UBERLANDIA
MG - BRASIL
ENUNCIADA !
Postada em 16/03/2006 09:41 hs            
Caro amigo Daniel, qual o e-mail q posso te passar o layout do bradesco.. Assim vc tera todas as informações para criar as rotinas do boleto..
Abaixo estarei lhe adiantando alguns procedimentos..
Vc tera q criar rotinas como.
*Fator Vencimento
*Calculo de Modulo 11
*NossoNumero
*Linha Digitavel
*Codigo de barra.

Abaixo esta a rotina do banco da CAIXA ECONOMICA, os procedimentos não são tão diferentes de banco pra banco, é por isso q tem de ter o layout do Bradesco.

=======>ROTINA DO FATOR VENCIMENTO
Function iFatorVencimento(dDataVencimento As String) As String

    Dim dDataBase As String
    
    dDataBase = "7/10/1997"
    iFatorVencimento = DateDiff("d", dDataBase, dDataVencimento)
    iFatorVencimento = Right(iFatorVencimento, 4)
    iFatorVencimento = Format(iFatorVencimento, "0000")
End Function

=========>CALCULO DO MODULO 11
Function iDigitoM11(nCode As String) As Integer
    
    Dim iSoma As Integer
    Dim I As Integer
    Dim iAux As Double
    Dim iMultiplicador As Integer
    
    iSoma = 0
    iAux = 0
    iMultiplicador = 2
    
    For I = Len(nCode) To 1 Step -1
        
        iAux = Val(Trim(Mid(nCode, I, 1)))
        iAux = iAux * iMultiplicador
        iMultiplicador = iMultiplicador + 1
        
        If iMultiplicador = 10 Then
            iMultiplicador = 2
        End If
        
        iSoma = iSoma + iAux
    Next
    
    iAux = Int(iSoma / 11)
    iDigitoM11 = iSoma - (iAux * 11)
    iDigitoM11 = 11 - iDigitoM11
    
    If Len(nCode) <> 43 Then
        If iDigitoM11 > 9 Then
            iDigitoM11 = 0
        End If
    Else
        If iDigitoM11 = 0 Or iDigitoM11 = 1 Or iDigitoM11 > 9 Then
            iDigitoM11 = 1
        End If
    End If
End Function

=====> ROTINA DO NOSSO NUMERO
Function sNossoNumSICOB(sNossoNumero As String, pModo As Integer) As String

    ' Modo 1 - Cobrança sem Registro
    ' Modo 2 - Cobrança Rápida

    sNossoNumSICOB = ""
    
    Select Case pModo
    
        Case 1
            sNossoNumSICOB = Format(sNossoNumero, "00000000")
            sNossoNumSICOB = "82" & sNossoNumSICOB
            sNossoNumSICOB = sNossoNumSICOB & "-" & iDigitoM11(sNossoNumSICOB)
        Case 2
            sNossoNumSICOB = Format(sNossoNumero, "000000000")
            sNossoNumSICOB = "9" & sNossoNumSICOB
            sNossoNumSICOB = sNossoNumSICOB & "-" & iDigitoM11(sNossoNumSICOB)
    End Select
End Function

========> ROTINA DO CODIGO DE BARRAS
Function sCodigoBarra(nCode As String) As String

    Dim cBarra As String
    Dim cSoma1 As Integer
    Dim cSoma2 As Integer
    
    Dim nNumero(10) As String
    
    Dim aux As String
    Dim aux1 As String
    Dim aux2 As String
    Dim par As Integer
    Dim I As Integer
    Dim J As Integer
    
    nNumero(0) = "00110"
    nNumero(1) = "10001"
    nNumero(2) = "01001"
    nNumero(3) = "11000"
    nNumero(4) = "00101"
    nNumero(5) = "10100"
    nNumero(6) = "01100"
    nNumero(7) = "00011"
    nNumero(8) = "10010"
    nNumero(9) = "01010"
    
    If Not bPar(Len(nCode)) Then
        nCode = "0" & nCode
    End If
    
    For I = 2 To Len(nCode) Step 2
        cSoma1 = Val(Mid(nCode, I - 1, 1))
        cSoma2 = Val(Mid(nCode, I, 1))
        
        aux1 = nNumero(cSoma1)
        aux2 = nNumero(cSoma2)
        
        aux = ""
        
        For J = 1 To 5
            aux = aux & Mid(aux1, J, 1) & Mid(aux2, J, 1)
        Next
        
        For J = 1 To 10 Step 2
            If Mid(aux, J, 2) = "00" Then
                cBarra = cBarra & "A"
            ElseIf Mid(aux, J, 2) = "01" Then
                cBarra = cBarra & "B"
            ElseIf Mid(aux, J, 2) = "10" Then
                cBarra = cBarra & "C"
            ElseIf Mid(aux, J, 2) = "11" Then
                cBarra = cBarra & "D"
            End If
        Next
    Next
    cBarra = "<" & cBarra & ">"
    sCodigoBarra = cBarra
End Function

=======>ROTINA DA LINHA DIGITAVEL
Function sLinhaDigitavel(nCode As String) As String

    Dim sCampo1 As String
    Dim sCampo2 As String
    Dim sCampo3 As String
    Dim sCampo4 As String
    Dim sCampo5 As String
    
    sCampo1 = Mid(nCode, 1, 4) & Mid(nCode, 20, 5)
    sCampo1 = sCampo1 & iDigitoM10(sCampo1)
    
    sCampo2 = Mid(nCode, 25, 10)
    sCampo2 = sCampo2 & iDigitoM10(sCampo2)
    
    sCampo3 = Mid(nCode, 35, 10)
    sCampo3 = sCampo3 & iDigitoM10(sCampo3)
    
    sCampo4 = Mid(nCode, 5, 1)
    sCampo5 = Mid(nCode, 6, 4) & Mid(nCode, 10, 10)
    
    sLinhaDigitavel = Left(sCampo1, 5) & "." & Right(sCampo1, 5)
    sLinhaDigitavel = sLinhaDigitavel & " " & Left(sCampo2, 5) & "." & Right(sCampo2, 6)
    sLinhaDigitavel = sLinhaDigitavel & " " & Left(sCampo3, 5) & "." & Right(sCampo3, 6)
    sLinhaDigitavel = sLinhaDigitavel & " " & sCampo4 & " " & sCampo5
End Function


Talvez seja meio complicado vc entender dessa forma, mas se vc olhar no layout vai começar a entender as rotinas..

---------------------------------
Valmir Ferreira Rocha
Sistemas de Informação
---------------------------------
   
UGS
SÃO CARLOS
SP - BRASIL
ENUNCIADA !
Postada em 16/03/2006 11:31 hs            
Olá amigo eu tenho um arquivo com dicas sobre boleto bancário, só que o arquivo tem 25MB se quiser que te mando me avise, abraços....
   
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 16/03/2006 12:03 hs            
pode me enviar pelo meu e-mail, dsmn@terra.com.br

dsmn
   
PASCOAL-PG
PRAIA GRANDE
SP - BRASIL
ENUNCIADA !
Postada em 17/03/2006 03:12 hs            
POR FAVOR SE POSSIVEL ME ENVIE TB....: flowsys@flowsys.com.br
 
AGRADEÇO DESDE JÁ...
 
OBRIGADO
   
Página(s): 1/3      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2021   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página