Funções VbScript - Financeiro

AgenciaSemDigito()


Retorna um número inteiro contendo o código da agência sem o dígito verificador.

Sintaxe: HBK.AgenciaSemDigito(String da Agência)

Dim Agencia 
Agencia = HBK.AgenciaSemDigito("0328-P")  'Retorna 328
Agencia = HBK.AgenciaSemDigito("0092-0")  'Retorna 92
Agencia = HBK.AgenciaSemDigito("Teste")     'Retorna erro: Problemas na definição do número da agência!


ApenasAlfa()


Filtra os caracteres especiais, os caracteres em minúsculo e os acentos da string informada.

Sintaxe: HBK.ApenasAlfa(String a ser filtrada)

Dim CaracterFiltrado 
CaracterFiltrado = HBK.ApenasAlfa("#MEGA!")  'Retorna MEGA
CaracterFiltrado = HBK.ApenasAlfa("#Mega!")     'Retorna M
CaracterFiltrado = HBK.ApenasAlfa("ITAÚ")        'Retorna ITA


ApenasNumeros()


Filtra todos os caracteres que não sejam números da string informada.

Sintaxe: HBK.ApenasNumeros(String a ser filtrada)

Dim CaracterFiltrado 
CaracterFiltrado = HBK.ApenasNumeros("45.043-8")    'Retorna 450438
CaracterFiltrado = HBK.ApenasNumeros("Mega2000")  'Retorna 2000
CaracterFiltrado = HBK.ApenasNumeros("ITAÚ")          'Retorna NULL


CalculaDV_Modulo10()


Calcula o dígito verificador do número informado, baseado no Módulo 10.

Sintaxe: HBK.CalculaDv_Modulo10(Número)

Dim Digito 
Digito = HBK.CalculaDv_Modulo10(0879)   'Retorna 7
Digito = HBK.CalculaDv_Modulo10(0092)   'Retorna 7
Digito = HBK.CalculaDv_Modulo10(5134)   'Retorna 2


O algoritmo de cálculo do dígito verificador baseado no Módulo 10 segue um padrão proposto pela FEBRABAN, que é o seguinte:
Multiplica-se o 1o termo dos pesos (2,1) pelo último caractere do número passado à função, partindo da direita para a esquerda sucessivamente, somando-os até que seja obtido apenas um dígito. A soma dos algarismos é dividida por 10 e o resto da divisão é subtraído também do número 10. O resultado obtido desta conta será o dígito verificador.


Exemplo: Cálculo do dígito verificador para o número 0879-7.
 

Operações

Dígito Verificador – Módulo 10

Número Original

0

8

7

9


Multiplicação pelos pesos

X1

X2

X1

X2


Resultado da Multiplicação

0

16

7

18


Soma-se os dígitos dos números

0

1+6

7

1+8


Resultado da Soma

0

7

7

9


Soma-se todos os resultados

      0+      7+      7+     9

23

A partir do novo resultado, divide-se por 10

23 / 10

Divisão = 2

Resto = 3

Subtrai-se 10 – o Resto

10 - 3

7

Digito Verificador


7


CalculaDV_Modulo11_Base2a9()


Calcula o dígito verificador do número informado, baseado no Módulo 11.

Sintaxe: HBK.CalculaDv_Modulo11_Base2a9(Número, Digito10, Digito11)

Dim Digito 
Digito = HBK.CalculaDv_Modulo11_Base2a9(0879,3,4)   'Retorna 6
Digito = HBK.CalculaDv_Modulo11_Base2a9(0092,0,0)   'Retorna 2
Digito = HBK.CalculaDv_Modulo11_Base2a9(5134,1,2)   'Retorna 9


O algoritmo de cálculo do dígito verificador baseado no Módulo 11 segue um padrão proposto pela FEBRABAN, que é o seguinte:
Multiplica-se o 1o termo dos pesos (2,3,4,5,6,7,8,9) pelo último caractere do número passado à função, partindo da direita para a esquerda sucessivamente, somando os resultados. A soma dos algarismos é dividida por 11, e verifica-se se o quociente da divisão for 10, o digito será o valor informado no parâmetro Digito10, se for o quociente da divisão for 11, o dígito será o valor informado no parâmetro Dígito 11, caso contrário o dígito verificador será a subtração do número 11 com o resto da divisão.


Exemplo: Cálculo do dígito verificador para o número 0879-6.

Operações

Dígito Verificador – Módulo 11

Número Original

0

8

7

9


Multiplicação pelos pesos

X5

X4

X3

X2


Resultado da Multiplicação

0

32

21

18


Soma-se todos os resultados

      0+    32+    21+   18

71

A partir do novo resultado, divide-se por 11

71 / 11

Divisão = 6

Resto = 5

Verifica-se se o quociente é 10 ou 11. Caso contrário o dígito será o número 11 – o resto.

11 – 5 = 6


Digito Verificador


6


CCorrenteSemDigito()


Retorna um número inteiro contendo o código da conta corrente sem o dígito verificador.

Sintaxe: HBK.CCorrenteSemDigito(String da Conta Corrente)

Dim CCorrente 
CCorrente = HBK.CCorrenteSemDigito("47612-9")        'Retorna 47612
CCorrente = HBK.CCorrenteSemDigito("5203-0")          'Retorna 5203
CCorrente = HBK.CCorrenteSemDigito("9.874.998-5")  'Retorna Erro: Is not a valid integer value

No exemplo anterior, o erro ocorre porque o número da conta corrente foi informado com os pontos. Mais adiante veremos o uso da função HBK.Tira, no qual esta poderia ser utilizada, evitando o erro acima citado. Veja como ficaria a utilização da função sem dar o erro acima citado:

Dim CCorrente 
CCorrente = HBK.CCorrenteSemDigito(HBK.Tira("9.874.998-5", "."))  'Retorna 9874998


Copia()


Retorna parte da string informada, sendo que é possível determinar a partir de qual caractere e qual o tamanho da string será copiado.

Sintaxe: HBK.Copia(String a ser copiada, posição do caractere inicial, tamanho total a ser copiado)

Dim StringCopiado 
StringCopiado = HBK.Copia("Unibanco",1,3)   'Retorna Uni
StringCopiado = HBK.Copia("Unibanco",4,5)   'Retorna banco
StringCopiado = HBK.Copia("Santander",5,3)  'Retorna and


DataAtual()


Retorna um Variant (Date) contendo a data atual do sistema.

Sintaxe: HBK.DataAtual()

Dim Hoje 
Hoje = HBK.DataAtual()  'A variável Hoje contém a data atual do sistema operacional


 A função DataAtual() retorna o número de dias corridos desde 01/01/1900. Para visualizar a data no formato Juliano, é necessário a utilização da função HBK.FormataData().


DVAgencia()


Retorna um número inteiro contendo somente o dígito verificador da agência.

Sintaxe: HBK.DVAgencia (String da Agência)

Dim Agencia 
Agencia = HBK.DVAgencia ("0328-P")  'Retorna P
Agencia = HBK.DVAgencia ("0092-0")  'Retorna 0


DVCCorrente()


Retorna um número inteiro contendo somente o dígito verificador da conta corrente.

Sintaxe: HBK.DVCCorrente (String da Conta Corrente)

Dim CCorrente 
CCorrente = HBK.DVCCorrente("9874992-4")  'Retorna 4
CCorrente = HBK.DVCCorrente("47612-9")      'Retorna 9


FatorVencto()


A partir da data informada, retorna um número inteiro contendo o fator de vencimento. (O cálculo do fator de vencimento é definido pelo Banco Central e é utilizado no código de barras)

Sintaxe: HBK.FatorVencto(Data Vencimento)

Dim Fator, Vencto
Vencto = cdate("08/10/01")              'Corresponde a 08/10/2001 
Fator = HBK.FatorVencto(Vencto)  'Retorna 1462


 No código de barras o Fator de Vencimento foi destacado em negrito: 34191146200000659591730136422980054068713000


FormataData()


Retorna a data formatada de acordo com a máscara informada. 

Sintaxe: HBK.FormataData(Data, Máscara)

A sintaxe da função FormataData apresenta os argumentos a seguir:    

Parte

Descrição

Data

Informe a data que deverá ser formatada

Máscara

Informe a máscara da data. Esta pode ser:
YYYY = Ano
MM = Mês
DD = Dia


Dim DataFormatada, Data
Data = cDate("31/12/01")
DataFormatada = Hbk.FormataData(Data, "YYYYMMDD")  'Retorna 20011231
DataFormatada = Hbk.FormataData(Data, "DDMMYYYY")  'Retorna 31122001
DataFormatada = Hbk.FormataData(Data, "DD-MM-YY")     'Retorna 31-12-01


FormataValor()


Retorna o valor formatado e arredondado com 2 casas decimais no formato String, preenchendo-o com zeros a esquerda de acordo com o que foi especificado no tamanho. 

Sintaxe: HBK.FormataValor(Valor, Tamanho)

A sintaxe da função FormataValor apresenta os argumentos a seguir:    

Parte

Descrição

Valor

Informe o valor que deverá ser formatado

Tamanho

Informe o tamanho total da string


Dim ValorFormatado
ValorFormatado = Hbk.FormataValor(3040.50,10)      'Retorna 0000304050
ValorFormatado = Hbk.FormataValor(3040.5060,10)  'Retorna 0000304050
ValorFormatado = Hbk.FormataValor(3040.569,11)    'Retorna 00000304057


HoraAtual()


Retorna um Variant (Time) contendo a hora atual do sistema.

Sintaxe: HBK.HoraAtual()

Dim TimeNow 
TimeNow = HBK.HoraAtual()  'A variável TimeNow contém a hora atual do sistema operacional


 A função HoraAtual retorna uma string sem nenhuma formatação. Por exemplo, a hora 09:29:42 é retornada pela função como 092942.


LeftPadCh()


Esta função preenche a esquerda da string, de acordo com o tamanho especificado, um determinado caractere.

Sintaxe: HBK.LeftPadCh(String, Caracter a ser preenchido, Tamanho da String)

Dim StringPreenchida 
StringPreenchida = HBK.LeftPadCh("Real", "#", 10)  'Retorna ######Real
StringPreenchida = HBK.LeftPadCh("Real", "*", 5)    'Retorna *Real


PadCh()


Esta função preenche a direita da string, de acordo com o tamanho especificado, um determinado caractere.

Sintaxe: HBK.PadCh(String, Caracter a ser preenchido, Tamanho da String)

Dim StringPreenchida 
StringPreenchida = HBK.PadCh("Real", "#", 10)  'Retorna Real######
StringPreenchida = HBK.PadCh("Real", "*", 5)    'Retorna Real*


SomaParaCalculoDV_ComPesos()


Esta função calcula a soma que será utilizada como base para o cálculo do digito verificador, de acordo com os pesos informados.

Sintaxe: HBK.SomaParaCalculoDV_ComPesos(Valor, Matriz com os Pesos)



 Essa função somente deve ser utilizada quando o cálculo do dígito verificador for diferente do Módulo 10 ou do Módulo 11. 
 Para passar a matriz (conjunto de números) dos pesos, utilize a função Array() do VbScript.


Dim Soma
Soma = HBK.SomaParaCalculoDV_ComPesos(8432, Array(2,4,6,8))  'Retorna 104

Nesse exemplo, o cálculo feito internamente pelo sistema será o seguinte:

Operações

Soma para Cálculo do Dígito

Número Original

8

4

3

2


Multiplicação pelos pesos

X8

X6

X4

X2


Resultado da Multiplicação

64

24

12

4


Soma-se todos os resultados

    64+   24 +    12+     4

104


StrZero()


Esta função preenche zeros à esquerda da string, de acordo com o tamanho especificado, arredondando o número para inteiro.

Sintaxe: HBK.StrZero(Valor, Tamanho da String)

Dim ValorPreenchido 
ValorPreenchido = HBK.StrZero(5134.38,10)  'Retorna 0000005134
ValorPreenchido = HBK.StrZero(5134.88,10)  'Retorna 0000005135


Tamanho()


Esta função retorna o número de caracteres existentes na string informada.

Sintaxe: HBK.Tamanho(String)

Dim Qtde_Caracteres 
Qtde_Caracteres = HBK.Tamanho("Mega")     'Retorna 4
Qtde_Caracteres = HBK.Tamanho("Itu - SP")  'Retorna 8, pois os espaços em branco também são considerados


Tira()


Esta função tira/filtra o caractere especificado da string informada.

Sintaxe: HBK.Tira (String)

Dim String_Filtrada 
String_Filtrada = HBK.Tira("Banco Mercantil", "a")  'Retorna Bnco Mercntil
String_Filtrada = HBK.Tira("Banco Rural", "r")         'Retorna Banco Rual


 Conforme o exemplo acima, observe que é feita a distinção entre caracteres maiúsculos e minúsculos.


Trim()


Esta função filtra o caractere de espaço em branco antes e após a string informada.

Sintaxe: HBK.Trim(String)

Dim String_Filtrada 
String_Filtrada = HBK.Trim("    Mercantil")          'Retorna Mercantil
String_Filtrada = HBK.Trim("  Rural   ")               'Retorna Rural
String_Filtrada = HBK.Trim(" Banco do Brasil ")  'Retorna Banco do Brasil


 Conforme o exemplo acima, observe que a função filtra apenas os espaços em branco antes e após a string informada, os espaços dentro da string não são eliminados.


TrocaCH()


Esta função troca o caractere especificado na origem pelo caractere especificado no destino dentro da string informada.

Sintaxe: HBK.TrocaCH(String, Caractere Origem, Caractere Destino)

Dim String_Trocada 
String_Trocada = HBK.TrocaCH("Itaú", "ú", "u")  'Retorna Itau


ValidaCodigoBarras()


Esta função valida a partir das regras impostas pelo Banco Central, se a string informada é um código de barras válido, retornando Verdadeiro ou Falso.

Sintaxe: HBK.ValidaCodigoBarras(String)

Dim CodigoBarras 
CodigoBarras = HBK.ValidaCodigoBarras("34191146200000659591730136422980054068713000")  'Retorna Verdadeiro
CodigoBarras = HBK.ValidaCodigoBarras("1234")   'Retorna Falso