Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Function GeraRel()
- On Error GoTo erro
- 'Obs 1mm = 56.7 Twip
- IniRel 'Inicia o relatório
- Dim pag As Boolean
- Dim a As Integer
- Dim vComplemento As String
- Dim fVencimento As Single
- Dim vLinhaD As String
- Dim vLinhaD1 As String
- Dim vLinhaD2 As String
- Dim vLinhaD3 As String
- Dim vLinhaD4 As String
- Dim vLinhaD5 As String
- Dim vCodBar As String
- Dim vIVR As Boolean
- Dim vNossoNum As String
- Dim vConta As String
- Dim vDigConta As String
- Dim vAgencia As String
- Dim vDigAgencia As String
- Dim vBanco As String
- Dim vCodConvenio As String
- Dim vCarteira As String
- Dim vCampoLivre As String
- Dim vValorBoleto As Currency
- Dim vServico(1 To 20) As String
- Dim vDiscriminacao(1 To 20) As String
- Dim vQtdServ(1 To 20) As Integer
- Dim vValTotal(1 To 20) As Currency
- Dim vCont As Integer
- Dim vDescTemp As String
- Dim vValTemp As Currency
- Dim vServicoNF(1 To 20) As String
- Dim vDiscriminacaoNF(1 To 20) As String
- Dim vQtdServNF(1 To 20) As Integer
- Dim vValTotalNF(1 To 20) As Currency
- Dim vContNF As Integer
- 'tabela de contas
- Set Rec07 = Arquivo.OpenRecordset("select * from ger007")
- 'comentado essa llinha para teste
- 'Rec16.MoveFirst
- objPrinter.ScaleMode = vbMillimeters
- For a = 0 To ConRec.gridFaturas.SelBookmarks.Count - 1
- vContMA = 0
- vContDesc = 0
- vContSCM = 0
- vContSCM2 = 0
- vContPC = 0
- vValDesc = 0
- vValMA = 0
- vValSCM = 0
- vValSCM2 = 0
- vValPC = 0
- Erase vServico
- Erase vDiscriminacao
- Erase vQtdServ
- Erase vValTotal
- Erase vServicoNF
- Erase vDiscriminacaoNF
- Erase vQtdServNF
- Erase vValTotalNF
- vCont = 0
- vDescTemp = 0
- vValTemp = 0
- vContNF = 0
- 'Do While Not Rec16.EOF ' loop p/ Imprimir todo o conteúdo
- With ConRec
- 'Inicio de Cabeçalho
- pag = False
- NovaPag 'função que inicia a pagina
- Call Conectar_MYSQL
- .dadosFaturas.Recordset.Bookmark = .gridFaturas.SelBookmarks(a)
- Call Conectar_MYSQL
- Set Rec16 = New ADODB.Recordset
- Rec16.Open "SELECT * FROM conrec WHERE controle = " & .dadosFaturas.Recordset!controle, ConMysql, adOpenStatic, adLockReadOnly
- Set Rec15 = New ADODB.Recordset
- Rec15.Open "SELECT * FROM cadcli WHERE codigo = '" & Rec16!credor & "'", ConMysql, adOpenStatic, adLockReadOnly
- Call Conectar_MYSQLServer(DadosConexaoServidores("ipdb"), DadosConexaoServidores("userdb"), DadosConexaoServidores("senhadb"), DadosConexaoServidores("nomedb"))
- Set Rec56 = New ADODB.Recordset
- Rec56.Open "SELECT * FROM planos WHERE codigo = '" & Rec15!plano & "'", ConMysqlServer, adOpenStatic, adLockReadOnly
- ' Carregar a data de vencimento 30/03/2015
- If ConRec.gridFaturas.SelBookmarks.Count >= 1 Then
- If NaoNull(Rec16!novadata) <> "" Then
- vDataVenc = Rec16!novadata
- Else
- vDataVenc = Rec16!Data
- End If
- End If
- If Rec16!pagamento = "P" Then
- vValorBoleto = Rec16!valorpagto
- Else
- vValorBoleto = Format(Int((Rec16!atualizado + Redond(Rec16!multa) + Redond(Rec16!juros)) * 100) / 100, "Currency")
- End If
- If Not IsNull(Rec15!contacob) And Rec15!contacob <> Empty Then
- 'buscando as informações da contacob do cliente
- Rec07.FindFirst "codigo='" & Rec15!contacob & "'"
- Else
- 'buscando as informações da contacob do cliente
- Rec07.FindFirst "codigo='" & DadosEmpresa("codcontacob") & "'"
- End If
- If ConRec.dadosFaturas.Recordset!Banco = Rec07!Banco Then
- vConta = Rec07!conta
- vDigConta = Rec07!digconta
- vAgencia = Format(Rec07!agencia, "0000")
- vDigAgencia = NaoNull(Rec07!digagencia)
- vBanco = Rec07!Banco
- vCodConvenio = Rec07!CodConvenio
- vCarteira = Rec07!carteira
- Else
- vConta = ConRec.dadosFaturas.Recordset!conta
- vDigConta = ConRec.dadosFaturas.Recordset!digconta
- vAgencia = Format(ConRec.dadosFaturas.Recordset!codagencia, "0000")
- vDigAgencia = NaoNull(ConRec.dadosFaturas.Recordset!digagencia)
- vBanco = ConRec.dadosFaturas.Recordset!Banco
- vCodConvenio = ConRec.dadosFaturas.Recordset!CodConvenio
- vCarteira = ConRec.dadosFaturas.Recordset!carteira
- End If
- 'Verifica se é preciso imprimir nota fiscal para o cliente
- If Rec16!NumNota <> Empty Then
- If ConRec.vBoleto = False Then
- Call AumentaItensNF
- Else
- If Existe(LogoEmpresa) Then
- ImprFoto LogoEmpresa, 6, 13, 38, 16.5
- End If
- 'repartições verticais
- Lin vbBlack, 1.2, vbSolid, 10, 10, 35, 10
- Lin vbBlack, 1.2, vbSolid, 10, 140, 35, 140
- Lin vbBlack, 1.2, vbSolid, 10, 200, 35, 200
- Lin vbBlack, 1.2, vbSolid, 36, 10, 63, 10
- Lin vbBlack, 1.2, vbSolid, 36, 200, 63, 200
- Lin vbBlack, 1.2, vbSolid, 64, 10, 113, 10
- Lin vbBlack, 1.2, vbSolid, 64, 125, 113, 125
- Lin vbBlack, 1.2, vbSolid, 64, 200, 113, 200
- Lin vbBlack, 1.2, vbSolid, 115, 10, 123, 10
- Lin vbBlack, 1.2, vbSolid, 115, 73, 123, 73
- Lin vbBlack, 1.2, vbSolid, 115, 98, 123, 98
- Lin vbBlack, 1.2, vbSolid, 115, 135, 123, 135
- Lin vbBlack, 1.2, vbSolid, 115, 200, 123, 200
- Lin vbBlack, 1.2, vbSolid, 125, 10, 133, 10
- Lin vbBlack, 1.2, vbSolid, 125, 90, 133, 90
- 'cabeçalho
- Say "Nota Fiscal de Serviço de Comunicação", "Times New Roman", 10, True, False, False, 2, vbBlack, True, 0, 3
- Say "Modelo 21", "Times New Roman", 10, True, False, False, 2, vbBlack, True, 0, 6
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 10, 10, 10, 200
- Call CabecalhoNF
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 35, 10, 35, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 36, 10, 36, 200
- Say "USUÁRIO: " & Rec15!Nome, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say "ENDEREÇO: " & Rec15!endereco, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say "BAIRRO: " & Rec15!bairro, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 122.5, 39
- Say "", "Times New Roman", 2, False, False, False, 1, vbBlack, True, 0, 0
- Say "MUNICÍPIO: " & Rec15!ciddescr, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say "CEP: " & Format(Rec15!Cep, "@@@@@-@@@"), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 122.5, 43
- Say "UF: " & Rec15!estado, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 162.5, 43
- Say "", "Times New Roman", 2, False, False, False, 1, vbBlack, True, 0, 0
- If Len(Rec15!cgc) = 14 Then
- Say "CNPJ: " & Format(Rec15!cgc, "000 000 000/0000-00"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- If Rec15!ie = Empty Or IsNull(Rec15!ie) Then
- Say "INSCRI. ESTADUAL: ISENTO", "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Else
- Say "INSCRI. ESTADUAL: " & Rec15!ie, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- End If
- Else
- Say "CPF: " & Format(Rec15!cgc, "000 000 000-00"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say "RG: " & Rec15!ie, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- End If
- Say "TELEFONE/FAX: " & Rec15!telefone1 & " / " & Rec15!telefone2, "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 63, 10, 63, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 64, 10, 64, 200
- Say "DESCRIMINAÇÃO DO SERVIÇO", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 40, 0
- Say "VALOR", "Times New Roman", 10, True, False, False, 1, vbBlack, True, 150, 0
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 69, 10, 69, 200
- Call Conectar_MYSQL
- 'descrições de lançamentos
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec WHERE fatura = '" & Rec16!fatura & "'", ConMysql, adOpenStatic, adLockReadOnly
- If Rec57.RecordCount > 0 Then
- Say "SERVIÇO DE PROVEDOR DE ACESSO", "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Do While Not Rec57.EOF
- If Rec57!descricao = "Ref. ao Valor do SCM" Then
- vContSCM2 = vContSCM2 + 1
- vValSCM2 = vValSCM2 + Rec57!valor
- End If
- Rec57.MoveNext
- Loop
- ''''''''''''''''''''''''Exibe as discriminações dos serviços na nota fiscal'''''''''''''''''''
- Call Conectar_MYSQL
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec WHERE fatura = '" & Rec16!fatura & "' ORDER BY valor DESC", ConMysql, adOpenStatic, adLockReadOnly
- vCont = 1
- vServico(1) = Rec57!descricao
- Do While Not Rec57.EOF
- If Rec57!descricao = "Ref. ao Valor do SCM" Then
- Do While Not Rec57.EOF
- If Not Rec57.EOF And Rec57!descricao = "Ref. ao Valor do SCM" Then
- Rec57.MoveNext
- Else
- Exit Do
- End If
- Loop
- End If
- If Rec57.EOF Then Exit Do
- If Rec57!descricao = vServico(vCont) Then
- vQtdServ(vCont) = vQtdServ(vCont) + 1
- vValTotal(vCont) = vValTotal(vCont) + Rec57!valor
- vDiscriminacao(vCont) = NaoNull(Rec57!Discriminacao)
- Else
- vCont = vCont + 1
- vServico(vCont) = Rec57!descricao
- vQtdServ(vCont) = vQtdServ(vCont) + 1
- vValTotal(vCont) = vValTotal(vCont) + Rec57!valor
- vDiscriminacao(vCont) = NaoNull(Rec57!Discriminacao)
- End If
- Rec57.MoveNext
- Loop
- Dim vDesconto As Integer
- Dim b As Integer
- For b = 1 To vCont
- If vValTotal(b) < 0 Then
- vDesconto = b
- If b < vCont Then b = b + 1
- GoTo continue
- End If
- Say vQtdServ(b) & Space(2) & vServico(b), "Times New Roman", 10, True, False, False, 1, vbBlack, False, 12.5, 0
- Say Format(vValTotal(b), "Currency"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 150, 0
- If NaoNull(vDiscriminacao(b)) <> "" Then
- Say Chr(9) & QuebraLinha(vDiscriminacao(b), 55, 1), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say Chr(9) & QuebraLinha(vDiscriminacao(b), 55, 2), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- Say Chr(9) & QuebraLinha(vDiscriminacao(b), 55, 3), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 12.5, 0
- End If
- continue:
- Next
- If vContSCM2 > 0 Then
- Say "SERVIÇO DE COMUNICAÇÃO MULTIMIDIA", "Times New Roman", 10, False, False, False, 1, vbBlack, False, 12.5, 0
- Say Format(vValSCM2, "Currency"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 150, 0
- End If
- If vDesconto > 0 Then
- If vValTotal(vDesconto) <> 0 Then
- Say vServico(vDesconto), "Times New Roman", 10, True, False, False, 1, vbBlack, False, 12.5, 0
- Say Format(vValTotal(vDesconto), "Currency"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 150, 0
- End If
- End If
- End If
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 73, 10, 73, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 77, 10, 77, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 81, 10, 81, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 85, 10, 85, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 89, 10, 89, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 93, 10, 93, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 97, 10, 97, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 101, 10, 101, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 105, 10, 105, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 109, 10, 109, 200
- Say "Valor aproximado dos Tributos Federais: 13,45% e Municipais: 2,00%", "Times New Roman", 10, False, False, False, 1, vbBlack, False, 13, 105
- Say "FONTE: IBPT Chave " & DadosEmpresa("chave_ibpt") & ".", "Times New Roman", 10, False, False, False, 1, vbBlack, False, 13, 109
- Say "TOTAL " & Format(Int(Rec16!valornf * 100) / 100, "Currency"), "Times New Roman", 10, True, False, False, 1, vbBlack, False, 150, 109
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 113, 10, 113, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 115, 10, 115, 200
- Say "BASE DE CÁLCULO DO ICMS", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 12.5, 0
- Say "ALÍQUOTA", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 75, 0
- Say "VALOR DO ICMS", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 100, 0
- Say "DATA OU PERÍODO DA PRESTAÇÃO", "Times New Roman", 10, True, False, False, 1, vbBlack, True, 137, 0
- Say Format(Val(Rec16!basecalcicms) / 100, "Currency"), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 12.5, 0
- If Val(Rec16!valicms) > 0 Then
- Say DadosEmpresa("aliquotaicms") & " %", "Times New Roman", 10, False, False, False, 1, vbBlack, False, 75, 0
- Else
- Say "0 %", "Times New Roman", 10, False, False, False, 1, vbBlack, False, 75, 0
- End If
- Say Format(Val(Rec16!valicms) / 100, "Currency"), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 100, 0
- 'verificando a data de emissao da nota fiscal
- If Rec16!datanf <> Empty Or Not IsNull(Rec16!datanf) Then
- If Rec16!datanf > Rec16!emissao Then
- Say Format(Rec16!datanf, "dd/mm/yyyy"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 137, 0
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 137, 0
- End If
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Times New Roman", 10, False, False, False, 1, vbBlack, True, 137, 0
- End If
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 123, 10, 123, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 125, 10, 125, 90
- If DadosEmpresa("reduzbcicms") = "True" And Rec16!reduz = 1 Then
- Say "RESERVADO AO FISCO", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 12.5, 0
- Say "B.C reduzida de acordo com o artigo 23 do anexo III do RICMS", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- Say Mid(Rec16!md5hash, 1, 4) & "." & Mid(Rec16!md5hash, 5, 4) & "." & Mid(Rec16!md5hash, 9, 4) & "." & Mid(Rec16!md5hash, 13, 4) & "." & Mid(Rec16!md5hash, 17, 4) & "." & Mid(Rec16!md5hash, 21, 4) & "." & Mid(Rec16!md5hash, 25, 4) & "." & Mid(Rec16!md5hash, 29, 4), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 12.5, 0
- Say " (lei 6.374/89 art 112, red. pelo art. 1° do decreto 47.584 de 10/01/2003)", "Times New Roman", 6, False, False, False, 1, vbBlack, True, 91, 0
- Say "Este documento não vale como recibo, só será válido com autenticação ou extrato de conta", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- ElseIf DadosEmpresa("optsimples") Then
- Say "RESERVADO AO FISCO", "Times New Roman", 10, True, False, False, 1, vbBlack, False, 12.5, 0
- Say "I - Documento emitido por ME ou EPP optante do Simples Nacional ", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- Say "II - Não gera direito a crédito fiscal de IPI", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- Say Mid(Rec16!md5hash, 1, 4) & "." & Mid(Rec16!md5hash, 5, 4) & "." & Mid(Rec16!md5hash, 9, 4) & "." & Mid(Rec16!md5hash, 13, 4) & "." & Mid(Rec16!md5hash, 17, 4) & "." & Mid(Rec16!md5hash, 21, 4) & "." & Mid(Rec16!md5hash, 25, 4) & "." & Mid(Rec16!md5hash, 29, 4), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 12.5, 0
- Say "Este documento não vale como recibo, só será válido com autenticação ou extrato de conta", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- Else
- Say "RESERVADO AO FISCO", "Times New Roman", 10, True, False, False, 1, vbBlack, True, 12.5, 0
- Say Mid(Rec16!md5hash, 1, 4) & "." & Mid(Rec16!md5hash, 5, 4) & "." & Mid(Rec16!md5hash, 9, 4) & "." & Mid(Rec16!md5hash, 13, 4) & "." & Mid(Rec16!md5hash, 17, 4) & "." & Mid(Rec16!md5hash, 21, 4) & "." & Mid(Rec16!md5hash, 25, 4) & "." & Mid(Rec16!md5hash, 29, 4), "Times New Roman", 10, False, False, False, 1, vbBlack, False, 12.5, 0
- Say "Este documento não vale como recibo, só será válido com autenticação ou extrato de conta", "Times New Roman", 8, False, False, False, 1, vbBlack, True, 91, 0
- End If
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 133, 10, 133, 90
- 'Say "", "Times New Roman", 8, True, False, False, 1, vbBlack, True, 10, 0
- End If
- Else
- If Existe(LogoEmpresa) Then
- ImprFoto LogoEmpresa, 4, 3, 51, 23
- End If
- objPrinter.PaintPicture LogoBB.Picture, 155, 3, LogoBB.Width / 56.7, LogoBB.Height / 56.7
- 'cabeçalho
- Say DadosEmpresa("nome"), "Times New Roman", 14, True, False, False, 2, vbBlack, True, 0, 3
- Say DadosEmpresa("endereco") & " - " & DadosEmpresa("bairro"), "Times New Roman", 12, True, False, False, 2, vbBlack, True, 0, 0
- Say Format(DadosEmpresa("cep"), "@@@@@-@@@") & " - " & DadosEmpresa("cidade") & " - " & DadosEmpresa("estado"), "Times New Roman", 12, True, False, False, 2, vbBlack, True, 0, 0
- Say "Informações: " & DadosEmpresa("telefone1") & " - " & DadosEmpresa("email"), "Times New Roman", 12, True, False, False, 2, vbBlack, True, 0, 0
- Say DadosEmpresa("site"), "Times New Roman", 12, True, False, False, 2, vbBlack, True, 0, 0
- Justifica Rec07!msgconta, "Arial", 8, True, False, False, 1, vbBlack, 11, 50
- Dim vMsgJuros As String
- If SCAOption("Multa") = 1 And Val(DadosEmpresa("ValMulta")) > 0 Then
- vMsgJuros = "Após vencimento, cobrar " & DadosEmpresa("ValMulta") & "% de multa"
- End If
- If SCAOption("Atualiza") = 1 And Val(DadosEmpresa("taxa")) > 0 Then
- vMsgJuros = vMsgJuros & " e " & DadosEmpresa("taxa") & "% de juros ao mês."
- Else
- vMsgJuros = vMsgJuros & "."
- End If
- If vMsgJuros <> "" Then
- Justifica vMsgJuros, "Arial", 8, True, False, False, 1, vbBlack, 11, 100
- End If
- If Rec16!juros > 0 And Rec16!multa > 0 Then
- Justifica " Valor de Juros e Multa: " & "R$" & Redond(Rec16!juros + Rec16!multa), "Arial", 8, True, False, False, 1, vbBlack, 11, 119
- End If
- Call Conectar_MYSQL
- Set RecATZ = New ADODB.Recordset
- RecATZ.Open "SELECT * FROM conrec WHERE credor = '" & Rec16!credor & "' AND data < '" & Format(Date, "YYYY-MM-DD") & "' AND ISNULL(pagamento) ORDER BY data", ConMysql, adOpenStatic, adLockReadOnly
- Dim vImpMens As Boolean
- vImpMens = False
- If RecATZ.RecordCount > 0 Then
- Do While Not RecATZ.EOF
- If RecATZ!fatura <> Rec16!fatura And (RecATZ!Data - Date) > 15 Then
- vImpMens = True
- End If
- RecATZ.MoveNext
- Loop
- End If
- If vImpMens Then
- Justifica DadosEmpresa("msgAtrazo"), "Arial", 10, True, False, False, 1, vbBlack, 11, 80
- End If
- End If
- If SCAOption("Multa") = 1 And Val(DadosEmpresa("ValMulta")) > 0 Then
- vMsgJuros = "Após vencimento, cobrar " & DadosEmpresa("ValMulta") & "% de multa"
- End If
- If SCAOption("Atualiza") = 1 And Val(DadosEmpresa("taxa")) > 0 Then
- vMsgJuros = vMsgJuros & " e " & DadosEmpresa("taxa") & "% de juros ao mês."
- Else
- vMsgJuros = vMsgJuros & "."
- End If
- If vMsgJuros <> "" Then
- Justifica vMsgJuros, "Arial", 8, True, False, False, 1, vbBlack, 13, 235
- End If
- Justifica "Após vencimento, sujeito à suspensão dos serviços e posterior envio aos ", "Arial", 8, True, False, False, 1, vbBlack, 13, 238
- Justifica "órgãos de cobrança, conforme prazos contratuais.", "Arial", 8, True, False, False, 1, vbBlack, 13, 243
- Justifica DadosEmpresa("msgivr"), "Arial", 8, True, False, False, 1, vbBlack, 13, 248
- Justifica "Central de Atendimento da Anatel - 1331", "Arial", 8, True, False, False, 1, vbBlack, 13, 252
- 'verificando se é necessário imprimir o boleto
- If ConRec.vBoleto = True Then
- Lin vbBlack, 1.2, vbSolid, 138, 10, 138, 200
- Say "Demonstrativo de Cobrança", "Arial", 8, True, False, False, 1, vbBlack, False, 10, 139.5
- Say "Recibo do Sacado", "Arial", 12, True, False, False, 3, vbBlack, False, 10, 138.5
- Lin vbBlack, 1.2, vbSolid, 144, 10, 144, 200
- Lin vbBlack, 1.2, vbSolid, 144, 10, 171.5, 10
- Lin vbBlack, 1.2, vbSolid, 144, 200, 171.5, 200
- Lin vbBlack, 1.2, vbSolid, 171.5, 10, 171.5, 200
- Lin vbBlack, 1.2, vbSolid, 148, 10, 148, 105
- Lin vbBlack, 1.2, vbSolid, 144, 105, 171.5, 105
- Lin vbBlack, 1.2, vbSolid, 151, 105, 151, 200
- Lin vbBlack, 1.2, vbSolid, 158, 105, 158, 200
- Lin vbBlack, 1.2, vbSolid, 165, 105, 165, 200
- 'repartições menores em vertical
- Lin vbBlack, 1.2, vbSolid, 144, 170, 151, 170
- Lin vbBlack, 1.2, vbSolid, 158, 124, 165, 124
- Lin vbBlack, 1.2, vbSolid, 158, 151, 165, 151
- Lin vbBlack, 1.2, vbSolid, 158, 179, 165, 179
- Lin vbBlack, 1.2, vbSolid, 165, 151, 171.5, 151
- If Rec16!NumNota = Empty Then Say "Instruções :", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 108
- Say "Descrição", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 144
- Say "Cedente", "Arial", 8, False, False, False, 1, vbBlack, False, 105.5, 144
- Say "Agência / Cód.Cedente", "Arial", 8, False, False, False, 1, vbBlack, False, 170.5, 144
- Say "Cliente", "Arial", 8, False, False, False, 1, vbBlack, False, 105.5, 151
- Say "Data Emissão", "Arial", 8, False, False, False, 1, vbBlack, False, 105.5, 158
- Say "Nosso Número", "Arial", 8, False, False, False, 1, vbBlack, False, 124.5, 158
- Say "Número Documento", "Arial", 8, False, False, False, 1, vbBlack, False, 151.5, 158
- Say "Mês de Fatura", "Arial", 8, False, False, False, 1, vbBlack, False, 179.5, 158
- Say "Vencimento", "Arial", 8, False, False, False, 1, vbBlack, False, 105.5, 165
- Say "Valor", "Arial", 8, False, False, False, 1, vbBlack, False, 151.5, 165
- Say "Autenticação Mecânica", "Arial", 8, False, False, False, 1, vbBlack, False, 135, 172
- 'picote
- Lin vbBlack, 1.2, vbDot, 183, 10, 183, 200
- 'segunda parte
- 'objPrinter.PaintPicture LogoBB2.Picture, 3, 185.88, LogoBB2.Width / 56.7, LogoBB2.Height / 56.7
- objPrinter.PaintPicture LogoBB2.Picture, 5, 183.88, LogoBB2.Width / 56.7, LogoBB2.Height / 56.7
- Lin vbBlack, 1.2, vbSolid, 188, 64, 195.14, 64
- Lin vbBlack, 1.2, vbSolid, 188, 80, 195.14, 80
- Say "237-2", "Arial", 14, True, False, False, 1, vbBlack, False, 65, 189
- 'quadrado
- Lin vbBlack, 1.2, vbSolid, 195.14, 10, 195.14, 200
- Lin vbBlack, 1.2, vbSolid, 195.14, 10, 269.14, 10
- Lin vbBlack, 1.2, vbSolid, 195.14, 200, 269.14, 200
- Lin vbBlack, 1.2, vbSolid, 269.14, 10, 269.14, 200
- 'repartições horizontais
- Lin vbBlack, 1.2, vbSolid, 203.14, 10, 203.14, 200
- Lin vbBlack, 1.2, vbSolid, 210.14, 10, 210.14, 200
- Lin vbBlack, 1.2, vbSolid, 217.14, 10, 217.14, 200
- Lin vbBlack, 1.2, vbSolid, 224.14, 10, 224.14, 200
- Lin vbBlack, 1.2, vbSolid, 231.14, 121, 231.14, 200
- Lin vbBlack, 1.2, vbSolid, 237.14, 121, 237.14, 200
- Lin vbBlack, 1.2, vbSolid, 244.14, 121, 244.14, 200
- Lin vbBlack, 1.2, vbSolid, 250.64, 121, 250.64, 200
- Lin vbBlack, 1.2, vbSolid, 256.5, 10, 256.5, 200
- 'repartições verticais
- Lin vbBlack, 1.2, vbSolid, 210.14, 36.5, 217.14, 36.5
- Lin vbBlack, 1.2, vbSolid, 210.14, 64, 217.14, 64
- Lin vbBlack, 1.2, vbSolid, 210.14, 83.5, 217.14, 83.5
- Lin vbBlack, 1.2, vbSolid, 210.14, 93, 217.14, 93
- Lin vbBlack, 1.2, vbSolid, 195.14, 121, 256.5, 121
- 'Lin vbBlack, 1.2, vbSolid, 217.14, 36, 224.14, 36
- Lin vbBlack, 1.2, vbSolid, 217.14, 36.5, 224.14, 36.5
- Lin vbBlack, 1.2, vbSolid, 217.14, 29.5, 224.14, 29.5
- Lin vbBlack, 1.2, vbSolid, 217.14, 53, 224.14, 53
- Lin vbBlack, 1.2, vbSolid, 217.14, 64, 224.14, 64
- Lin vbBlack, 1.2, vbSolid, 217.14, 93, 224.14, 93
- 'Say "X", "Arial", 10, False, False, False, 1, vbBlack, False, 93, 219
- Lin vbBlack, 1.2, vbSolid, 273.5, 125, 273.5, 200
- Say "Local de Pagamento", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 195.14
- Say "Vencimento", "Arial", 8, False, False, False, 1, vbBlack, False, 121.5, 195.14
- Say "Cedente", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 203.14
- Say "Agência / Código do Cedente", "Arial", 8, False, False, False, 1, vbBlack, False, 121.5, 203.14
- Say "Data de Emissão", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 210.14
- Say "Número Documento", "Arial", 8, False, False, False, 1, vbBlack, False, 37.5, 210.14
- Say "Espécie Doc.", "Arial", 8, False, False, False, 1, vbBlack, False, 64.5, 210.14
- Say "Aceite", "Arial", 8, False, False, False, 1, vbBlack, False, 84.3, 210.14
- Say "Data Processamento", "Arial", 8, False, False, False, 1, vbBlack, False, 94, 210.14
- Say "Carteira / Nosso Número", "Arial", 8, False, False, False, 1, vbBlack, False, 121.5, 210.14
- 'Say "Nº da Conta/Respo.", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 217.34
- 'Say "Carteira", "Arial", 8, False, False, False, 1, vbBlack, False, 36.5, 217.34
- Say "Uso do Banco", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 217.34
- Say "CIP", "Arial", 8, False, False, False, 1, vbBlack, False, 30.5, 217.34
- Say "Carteira", "Arial", 8, False, False, False, 1, vbBlack, False, 37.5, 217.34
- Say "Moeda", "Arial", 8, False, False, False, 1, vbBlack, False, 54.5, 217.34
- Say "Quantidade", "Arial", 8, False, False, False, 1, vbBlack, False, 64.5, 217.34
- Say "Valor", "Arial", 8, False, False, False, 1, vbBlack, False, 94, 217.34
- Say "Valor do Documento", "Arial", 8, False, False, False, 1, vbBlack, False, 121.5, 217.34
- Say "Instruções", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 224.77
- Say "(-)Desconto", "Arial", 8, False, False, False, 1, vbBlack, True, 121.5, 224.34
- Say "(-)Outras Deduções", "Arial", 8, False, False, False, 1, vbBlack, True, 121.5, 231.34
- Say "(+)Mora/Multa", "Arial", 8, False, False, False, 1, vbBlack, True, 121.5, 238.34
- Say "(+)Outros Acréscimos", "Arial", 8, False, False, False, 1, vbBlack, True, 121.5, 245.34
- Say "(=)Valor Cobrado", "Arial", 8, False, False, False, 1, vbBlack, False, 121.5, 251.14
- Say "Sacado :", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 256.64
- If Rec16!NumNota = Empty Then Say "CNPJ/CPF :", "Arial", 8, False, False, False, 1, vbBlack, False, 140, 256.64
- If Rec16!NumNota = Empty Then Say "Inscrição/RG :", "Arial", 8, False, False, False, 1, vbBlack, False, 140, 260
- Say "Sacador/Avalista", "Arial", 8, False, False, False, 1, vbBlack, False, 10.5, 265.74
- Say "Ficha de Compensação", "Arial", 12, True, False, False, 3, vbBlack, False, 10, 268.96
- Say "Autenticação Mecânica", "Arial", 8, True, False, False, 1, vbBlack, False, 149.05, 274
- '< ===================================== JUROS / MULTAS =========================================>
- If Rec16!pagamento = "P" And Rec16!juros > 0 And Rec16!multa > 0 Then
- Say Format(Redond(Rec16!juros) + Redond(Rec16!multa), "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 13, 238.34
- End If
- 'Preencher Campos
- 'Verifica se é preciso imprimir nota fiscal para o cliente
- If Rec16!NumNota <> Empty Then
- 'montar nosso numero com um numero a esquerda para completar a quantidade de digitos
- vNossoNum = Rec16!fatura & "-" & NossoNumero(Rec16!fatura, Rec07!carteira)
- 'Say Rec16!descricao, "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 148
- Say "", "Arial", 8, True, False, False, 1, vbBlack, True, 10.5, 0
- Say "", "Arial", 8, True, False, False, 1, vbBlack, True, 10.5, 145
- Call Conectar_MYSQL
- 'descrições de lançamentos
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec where fatura = '" & Rec16!fatura & "' ORDER BY valor DESC", ConMysql, adOpenStatic, adLockReadOnly
- vContNF = 1
- vServicoNF(1) = Rec57!descricao
- Do While Not Rec57.EOF
- If Rec57!descricao = "Ref. ao Valor do SCM" Then
- Do While Not Rec57.EOF
- If Not Rec57.EOF And Rec57!descricao = "Ref. ao Valor do SCM" Then
- Rec57.MoveNext
- Else
- Exit Do
- End If
- Loop
- End If
- If Rec57.EOF Then Exit Do
- If Rec57!descricao = vServicoNF(vContNF) Then
- vQtdServNF(vContNF) = vQtdServNF(vContNF) + 1
- vValTotalNF(vContNF) = vValTotalNF(vContNF) + Rec57!valor
- vDiscriminacaoNF(vContNF) = NaoNull(Rec57!Discriminacao)
- Else
- vContNF = vContNF + 1
- vServicoNF(vContNF) = Rec57!descricao
- vQtdServNF(vContNF) = vQtdServNF(vContNF) + 1
- vValTotalNF(vContNF) = vValTotalNF(vContNF) + Rec57!valor
- vDiscriminacaoNF(vContNF) = NaoNull(Rec57!Discriminacao)
- End If
- Rec57.MoveNext
- Loop
- '< ===========================================================||=========================================================>
- Dim vDescontoNF As Integer
- Dim c As Integer
- Say Rec16!descricao, "Arial", 8, True, False, False, 1, vbBlack, True, 12.5, 0
- For c = 1 To vContNF
- If vValTotalNF(c) < 0 Then
- vDescontoNF = c
- If c < vContNF Then c = c + 1
- GoTo continue2
- End If
- 'If Rec57!descricao <> "Desconto" And Rec57!descricao <> "Micros Adicionais na rede do cliente" And Rec57!descricao <> "Ref. ao Valor do SCM" And Rec57!descricao <> "Ref. ao Suporte do Plano Corp." Then
- Say vQtdServNF(c) & Space(2) & vServicoNF(c), "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValTotalNF(c), "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- 'End If
- continue2:
- Next
- Call Conectar_MYSQL
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec WHERE fatura = '" & Rec16!fatura & "'", ConMysql, adOpenStatic, adLockReadOnly
- If Rec57.RecordCount > 0 Then
- Do While Not Rec57.EOF
- If Rec57!descricao = "Ref. ao Valor do SCM" Then
- vContSCM = vContSCM + 1
- vValSCM = vValSCM + Rec57!valor
- End If
- Rec57.MoveNext
- Loop
- If vContSCM > 0 Then
- Say vContSCM & " Ref. ao Valor do SCM", "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValSCM, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- End If
- If vDescontoNF > 0 Then
- If vValTotalNF(vDescontoNF) <> 0 Then
- Say vServicoNF(vDescontoNF), "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValTotalNF(vDescontoNF), "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- End If
- '< ===========================================================||=========================================================>
- Say DadosEmpresa("razao"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 147
- Say vAgencia & "-" & vDigAgencia & " / " & vConta & "-" & vDigConta, "Arial", 8, True, False, False, 1, vbBlack, False, 171, 147
- Say Rec15!Codigo & "-" & Rec15!razao, "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 154
- 'verificando a data de emissao da nota fiscal
- If Rec16!datanf <> Empty Or Not IsNull(Rec16!datanf) Then
- If Rec16!datanf > Rec16!emissao Then
- Say Format(Rec16!datanf, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- End If
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- End If
- Say vNossoNum, "Arial", 8, True, False, False, 1, vbBlack, False, 124.5, 161
- Say Rec16!fatura, "Arial", 8, True, False, False, 1, vbBlack, False, 151.5, 161
- ' Say Format(Rec16!Data, "mm/yy"), "Arial", 8, True, False, False, 1, vbBlack, False, 180, 161
- ' Say Format(Rec16!Data, "dd/mm/yyyy"), "Arial", 14, True, False, False, 1, vbBlack, False, 122, 165.5
- Say Format(vDataVenc, "mm/yy"), "Arial", 8, True, False, False, 1, vbBlack, False, 180, 161
- Say Format(vDataVenc, "dd/mm/yyyy"), "Arial", 14, True, False, False, 1, vbBlack, False, 122, 165.5
- '<================================== VALOR DO DOCUMENTO (SUPERIOR) ============================= >
- If Rec16!pagamento = "P" Then
- Say Format(Int((Rec16!atualizado) * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 13, 165.5
- Else
- Say Format(Int((Rec16!atualizado + Redond(Rec16!multa) + Redond(Rec16!juros)) * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 13, 165.5
- End If
- Else
- 'primeira parte
- Justifica DadosEmpresa("instrucoes") & Rec16!mes_fatura, "Arial", 8, True, False, False, 1, vbBlack, 11, 113
- Call Conectar_MYSQL
- 'mensagem IVR
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec WHERE fatura = '" & Rec16!fatura & "' AND ivr = 1", ConMysql, adOpenStatic, adLockReadOnly
- If Rec57.RecordCount > 0 Then
- Justifica DadosEmpresa("msgivr"), "Arial", 8, True, False, False, 1, vbBlack, 11, 126
- vIVR = True
- Else
- 'If Rec56!IVR Then
- Justifica DadosEmpresa("msgivr"), "Arial", 8, True, False, False, 1, vbBlack, 11, 126
- 'End If
- End If
- 'montar nosso numero com um numero a esquerda para completar a quantidade de digitos
- vNossoNum = Rec16!fatura & "-" & NossoNumero(Rec16!fatura, Rec07!carteira)
- 'Say Rec16!descricao, "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 148
- 'Say "", "Arial", 8, True, False, False, 1, vbBlack, True, 10.5, 0
- Say "", "Arial", 8, True, False, False, 1, vbBlack, True, 10.5, 145
- Call Conectar_MYSQL
- 'descrições de lançamentos
- Set Rec57 = New ADODB.Recordset
- Rec57.Open "SELECT * FROM mjconrec WHERE fatura = '" & Rec16!fatura & "'", ConMysql, adOpenStatic, adLockReadOnly
- If Rec57.RecordCount > 0 Then
- Say Rec16!descricao, "Arial", 8, True, False, False, 1, vbBlack, True, 10.5, 0
- Do While Not Rec57.EOF
- If Rec57!descricao = "Micros Adicionais na rede do cliente" Then
- vContMA = vContMA + 1
- vValMA = vValMA + Rec57!valor
- End If
- If Rec57!descricao = "Desconto" Then
- vContDesc = vContDesc + 1
- vValDesc = vValDesc + Rec57!valor
- End If
- If Rec57!descricao = "Ref. ao Valor do SCM" Then
- vContSCM = vContSCM + 1
- vValSCM = vValSCM + Rec57!valor
- End If
- If Rec57!descricao = "Ref. ao Suporte do Plano Corp." Then
- vContPC = vContPC + 1
- vValPC = vValPC + Rec57!valor
- End If
- If Rec57!descricao <> "Desconto" And Rec57!descricao <> "Micros Adicionais na rede do cliente" And Rec57!descricao <> "Ref. ao Valor do SCM" And Rec57!descricao <> "Ref. ao Suporte do Plano Corp." Then
- Say Rec57!descricao, "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(Rec57!valor, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- Rec57.MoveNext
- Loop
- If vContMA > 0 Then
- Say vContMA & " Micros Adicionais na rede do cliente", "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValMA, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- If vContDesc > 0 Then
- Say vContDesc & " Desconto(s)", "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValDesc, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- If vContSCM > 0 Then
- Say vContSCM & " Ref. ao Valor do SCM", "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValSCM, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- If vContPC > 0 Then
- Say vContPC & " Ref. ao Suporte do Plano Corp.", "Arial", 8, True, False, False, 1, vbBlack, False, 13, 0
- Say Format(vValPC, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- Else
- Say Rec16!descricao, "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 0
- Say Format(Rec16!valor, "Currency"), "Arial", 8, True, False, False, 3, vbBlack, True, 110, 0
- End If
- Say DadosEmpresa("razao"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 147
- Say vAgencia & "-" & vDigAgencia & " / " & vConta & "-" & vDigConta, "Arial", 8, True, False, False, 1, vbBlack, False, 171, 147
- Say Rec15!Codigo & "-" & Rec15!razao, "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 154
- 'verificando a data de emissao da nota fiscal
- If Rec16!datanf <> Empty Or Not IsNull(Rec16!datanf) Then
- If Rec16!datanf > Rec16!emissao Then
- Say Format(Rec16!datanf, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- End If
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 105.5, 161
- End If
- Say vNossoNum, "Arial", 8, True, False, False, 1, vbBlack, False, 124.5, 161
- Say Rec16!fatura, "Arial", 8, True, False, False, 1, vbBlack, False, 151.5, 161
- ' Say Format(Rec16!Data, "mm/yy"), "Arial", 8, True, False, False, 1, vbBlack, False, 180, 161
- ' Say Format(Rec16!Data, "dd/mm/yyyy"), "Arial", 14, True, False, False, 1, vbBlack, False, 122, 165.5
- Say Format(vDataVenc, "mm/yy"), "Arial", 8, True, False, False, 1, vbBlack, False, 180, 161
- Say Format(vDataVenc, "dd/mm/yyyy"), "Arial", 14, True, False, False, 1, vbBlack, False, 122, 165.5
- If Rec16!pagamento = "P" Then
- Say Format(Int(Rec16!atualizado * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 165.5
- Else
- Say Format(Int((Rec16!atualizado + Redond(Rec16!multa) + Redond(Rec16!juros)) * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 165.5
- End If
- End If
- 'segunda parte
- Say "Pagável Preferencialmente em qualquer Agência Bradesco", "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 198.14
- ' Say Format(Rec16!Data, "dd/mm/yyyy"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 195.7
- Say Format(vDataVenc, "dd/mm/yyyy"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 195.7
- Say DadosEmpresa("razao"), "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 206.14
- Say vAgencia & "-" & vDigAgencia & " / " & vConta & "-" & vDigConta, "Arial", 8, True, False, False, 3, vbBlack, False, 11, 206.14
- 'verificando a data de emissao da nota fiscal
- If Rec16!datanf <> Empty Or Not IsNull(Rec16!datanf) Then
- If Rec16!datanf > Rec16!emissao Then
- Say Format(Rec16!datanf, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 213.14
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 213.14
- End If
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 10.5, 213.14
- End If
- Say Rec16!fatura, "Arial", 8, True, False, False, 1, vbBlack, False, 37, 213.14
- Say "N", "Arial", 8, True, False, False, 1, vbBlack, False, 87.3, 213.14
- 'verificando a data de emissao da nota fiscal
- If Rec16!datanf <> Empty Or Not IsNull(Rec16!datanf) Then
- If Rec16!datanf > Rec16!emissao Then
- Say Format(Rec16!datanf, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 94, 213.14
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 94, 213.14
- End If
- Else
- Say Format(Rec16!emissao, "dd/mm/yyyy"), "Arial", 8, True, False, False, 1, vbBlack, False, 94, 213.14
- End If
- Say vCarteira & " / " & vNossoNum, "Arial", 8, True, False, False, 3, vbBlack, False, 10, 213.14
- Say vCarteira, "Arial", 8, True, False, False, 1, vbBlack, False, 37.5, 220.34
- Say "", "Arial", 8, True, False, False, 1, vbBlack, False, 30.5, 220.34
- Say "R$", "Arial", 8, True, False, False, 1, vbBlack, False, 56.5, 220.34
- '<================================================== VALOR ( PARTE INFERIOR DO BOLETO ) ==============================================>
- If Rec16!pagamento = "P" Then
- Say Format(Int(Rec16!atualizado * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 217.84
- Else
- Say Format(Int((Rec16!atualizado + Redond(Rec16!multa) + Redond(Rec16!juros)) * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 13, 217.84
- End If
- Justifica DadosEmpresa("instrucoes") & Rec16!mes_fatura, "Arial", 8, True, False, False, 1, vbBlack, 13, 230
- 'mensagem IVR
- If vIVR Then
- Justifica DadosEmpresa("msgivr"), "Arial", 8, True, False, False, 1, vbBlack, 13, 248
- Else
- 'If Rec56!IVR Then
- If Rec16!NumNota = Empty Then Justifica DadosEmpresa("msgivr"), "Arial", 8, True, False, False, 1, vbBlack, 11, 126
- 'End If
- End If
- '<=========================================== VALOR COBRADO =========================================>
- If Rec16!pagamento = "P" Then
- Say Format(Int(Rec16!valorpagto * 100) / 100, "Currency"), "Arial", 14, True, False, False, 3, vbBlack, False, 11, 251.14
- Else
- Say "", "Arial", 14, True, False, False, 3, vbBlack, False, 11, 251.14
- End If
- 'Verifica se é preciso imprimir nota fiscal para o cliente
- If Rec16!NumNota <> Empty Then
- Say Rec15!Codigo & "-" & Rec15!razao, "Arial", 8, True, False, False, 1, vbBlack, False, 22, 256.64
- Else
- Say Rec15!Codigo & "-" & Rec15!razao, "Arial", 8, True, False, False, 1, vbBlack, False, 22, 256.64
- If Len(Rec15!cgc) = 11 Then
- Say Format(Rec15!cgc, "000 000 000-00"), "Arial", 8, True, False, False, 3, vbBlack, False, 11, 256.64
- Else
- Say Format(Rec15!cgc, "000 000 000/0000-00"), "Arial", 8, True, False, False, 3, vbBlack, False, 11, 256.64
- End If
- Say Rec15!ie, "Arial", 8, True, False, False, 3, vbBlack, False, 11, 260
- Say Rec15!endereco & " - " & Rec15!bairro, "Arial", 8, True, False, False, 1, vbBlack, False, 22, 259.64
- Say Rec15!ciddescr & " - " & Rec15!estado, "Arial", 8, True, False, False, 1, vbBlack, False, 22, 262.64
- End If
- 'campo livre
- vCampoLivre = vAgencia
- vCampoLivre = vCampoLivre & vCarteira
- vCampoLivre = vCampoLivre & Rec16!fatura
- vCampoLivre = vCampoLivre & Format(vConta, "0000000")
- vCampoLivre = vCampoLivre & "0"
- 'linha digitavel
- 'fator de vencimento
- ' fVencimento = Rec16!Data - CDate("07/10/1997")
- fVencimento = vDataVenc - CDate("07/10/1997")
- If fVencimento > 9999 Or fVencimento < 1000 Then
- MsgBox "Data Inválida ! ", vbCritical, App.ProductName
- Unload Me
- Exit Function
- End If
- 'codigo do banco
- If IsNull(vBanco) Then
- vLinhaD1 = Mid(DadosEmpresa("banco"), 2, 3)
- Else
- vLinhaD1 = Mid(vBanco, 2, 3)
- End If
- 'Moeda
- vLinhaD1 = vLinhaD1 & "9"
- '5 Primeiras Posições do Campo Livre
- vLinhaD1 = vLinhaD1 & Mid(vCampoLivre, 1, 5)
- 'calcula o digito do primeiro campo
- vLinhaD1 = vLinhaD1 & Trim(Calculo_DV10(vLinhaD1))
- 'colocando primeiro campo na linha digitavel
- vLinhaD = Mid(vLinhaD1, 1, 5) & "." & Mid(vLinhaD1, 6, 5)
- 'da 6ª até a 15ª Posição do Campo Livre
- vLinhaD2 = Mid(vCampoLivre, 6, 10)
- 'calcula o digito do segundo campo
- vLinhaD2 = vLinhaD2 & Calculo_DV10(vLinhaD2)
- 'colocando segundo campo na linha digitavel
- vLinhaD = vLinhaD & " " & Mid(vLinhaD2, 1, 5) & "." & Mid(vLinhaD2, 6, 6)
- 'da 16ª até a 25ª Posição do Campo Livre
- vLinhaD3 = Mid(vCampoLivre, 16, 10)
- 'calcula o digito do terceiro campo
- vLinhaD3 = vLinhaD3 & Calculo_DV10(vLinhaD3)
- 'colocando terceiro campo na linha digitavel
- vLinhaD = vLinhaD & " " & Mid(vLinhaD3, 1, 5) & "." & Mid(vLinhaD3, 6, 6)
- 'quarto campo ( digito do codigo de barras )
- 'montando digitos do codigo de barras
- If IsNull(vBanco) Then
- vCodBar = Mid(DadosEmpresa("banco"), 2, 3)
- Else
- vCodBar = Mid(vBanco, 2, 3)
- End If
- vCodBar = vCodBar & "9"
- vCodBar = vCodBar & Trim(str(fVencimento))
- vCodBar = vCodBar & Format(Int(vValorBoleto * 100), "0000000000")
- vCodBar = vCodBar & vCampoLivre
- vLinhaD4 = calcula_DV_CodBarras(vCodBar)
- 'colocando quarto campo na linha digitavel
- vLinhaD = vLinhaD & " " & vLinhaD4
- 'quinto campo
- vLinhaD5 = Trim(str(fVencimento))
- 'formatando valor
- vLinhaD5 = vLinhaD5 & Format(Int(vValorBoleto * 100), "0000000000")
- 'colocando quinto campo na linha digitavel
- vLinhaD = vLinhaD & " " & vLinhaD5
- If Rec16!pagamento = "P" Then
- Say "FATURA PAGA.", "Arial", 10, True, False, False, 3, vbBlack, False, 12, 190
- Else
- Say vLinhaD, "Arial", 10, True, False, False, 3, vbBlack, False, 12, 190
- End If
- 'barra Mid(vLinhaD1, 1, 5), Mid(vLinhaD1, 6, 5), Mid(vLinhaD2, 1, 5), Mid(vLinhaD2, 6, 6), Mid(vLinhaD3, 1, 5), Mid(vLinhaD3, 6, 6), vLinhaD4, vLinhaD5, 270, 10
- 'montando o codigo de barras
- If IsNull(vBanco) Then
- vCodBar = Mid(DadosEmpresa("banco"), 2, 3)
- Else
- vCodBar = Mid(vBanco, 2, 3)
- End If
- vCodBar = vCodBar & "9"
- vCodBar = vCodBar & Trim(vLinhaD4) 'digito verificador do codigo de barras
- vCodBar = vCodBar & Trim(str(fVencimento))
- vCodBar = vCodBar & Format(Int(vValorBoleto * 100), "0000000000")
- vCodBar = vCodBar & vCampoLivre
- If Rec16!pagamento = "P" Then
- Say "FATURA PAGA.", "Arial", 14, True, False, False, 3, vbBlack, False, 162, 270
- Else
- Barra vCodBar, 270, 10
- End If
- End If
- End With
- If vVersoContas Then
- ImprimirVerso
- End If
- Next
- 'Loop
- Exit Function
- erro:
- MsgBox "Erro gerando boleto !" & vbNewLine & "Por favor entre em contato com o suporte informando o codigo abaixo:" & vbNewLine & err.Description, vbCritical, App.ProductName
- GravaErro err.Description, "impres. boletos"
- Resume Next 'retirar
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement