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: |
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