Exemplos de Fórmulas

Nosso Número


01     function NOSSONUMERO()
02        Dim Soma, Digito, Resultado, Reduzido_Empresa, Numero_Seq, NossoNumero
  
03        Reduzido_Empresa = "12345"
04       Numero_Seq = "123"

05       Soma = HBK.SomaParaCalculoDV_ComPesos(Reduzido_Empresa &
          HBK.StrZero(Numero_Seq,5),Array(2,3,4,5,6,7))
06       Resultado = (Soma mod 11)
07       Digito = 11 - Resultado
  
08        if Resultado = 1  then
09           Digito = 0
10        end if

11        NossoNumero = Reduzido_Empresa & HBK.StrZero(Numero_Seq,5) & Digito
12    end function

Veja a seguir a explanação desta função linha a linha:

Linha

Explicação

01

Declara o nome da função (ou o nome da fórmula). Observe que ao entrar no Editor de Fórmulas o sistema já coloca essa informação automaticamente, não sendo necessário alterá-la. Caso necessite mudar o nome, saia da fórmula e altere o nome dela, pois caso contrário esta não funcionará corretamente.

02

Declara todas as variáveis que serão utilizadas nas fórmulas. No nosso exemplo, os nomes das variáveis são: Soma, Digito, Resultado, Reduzido_Empresa, Numero_Seq, NossoNumero

03

Atribui a constante "12345" à variável Reduzido_Empresa

04

Atribui a constante "123" à variável Numero_Seq

05

Na variável Soma será atribuído o resultado obtido através da função HBK.SomaParaCalculoDV_ComPesos. Observe que os parâmetros passados para essa função foram a variável Reduzido_Empresa "12345" concatenada (&) com a o resultado da função HBK.StrZero, onde na função HBK.StrZero foi solicitado a formatação de zeros a esquerda da variável Numero_Seq "123" com 5 posições, o que retornará "00123".

Sendo assim, o 1o parâmetro a ser passado na função HBK.SomaParaCalculoDV_ComPesos será a string "1234500123" e o segundo parâmetro será o Array(2,3,4,5,6,7), o que resultará no valor 81. (Maiores informações consulte a documentação das funções)

06

Atribui o resto da divisão entre a variável Soma e o número 11 à variável Resultado

07

Atribui a subtração entre o número 11 e a variável Resultado à variável Digito

08

Compara se a variável Resultado é igual a 1

09

Caso a variável Resultado seja igual a 1, atribui a constante "0" à variável Digito

10

Finaliza a comparação

11

Atribui à variável Nosso_Numero o conteúdo da variável Reduzido_Empresa concatenado com o resultado da função HBK.StrZero concatenado com o conteúdo da variável Digito.



 Os números exibidos no código da fórmula não devem ser digitados. Eles foram colocados no exemplo somente para facilitar a explanação de cada linha de código. A fórmula citada acima é somente um exemplo a fim de auxiliar a montagem do Nosso Número em outros bancos. Verifique no Manual de cada Banco qual o procedimento a ser adotado.


Código de Barras


function CODIGOBARRAS()
 '  AGENCIA = "1234"
 '  CONTA_CORRENTE  ="12345-67"
 '  DATA_VENCTO  = cdate("01/01/01")
 '  NUMERO_SEQ  = 1234
 '  VALOR  = 123.45

  Dim Banco,Moeda,sValor,po,FtVencto,sAgencia,sCCorrente
  Dim sNNumero,CampoFixo,CampoLivre,CodigoBarras,DAC_CodigoBarras


  sValor             = HBK.FormataValor(VALOR,10)
  FtVencto           = HBK.FatorVencto(DATA_VENCTO)

  sAgencia           = HBK.LeftPadCh(HBK.ApenasNumeros(AGENCIA),"0",4)
  sCCorrente         = HBK.LeftPadCh(HBK.ApenasNumeros(CONTA_CORRENTE),"0",7)

  sNNumero           = FUNC.NOSSONUMERO()

  CampoFixo            = "3999" & FtVencto & sValor
  CampoLivre           = sNNumero & sAgencia & sCCorrente  & "001"
  CodigoBarras         = CampoFixo & CampoLivre
  DAC_CodigoBarras     = HBK.CalculaDV_Modulo11_Base2a9(CodigoBarras,"1","1")

CODIGOBARRAS         = HBK.Copia(CodigoBarras,1,4) & DAC_CodigoBarras &
  HBK.Copia(CodigoBarras,5,HBK.Tamanho(CodigoBarras)-4)

end function


 A fórmula citada acima é somente um exemplo a fim de auxiliar a montagem do Código de Barras em outros bancos. Verifique no Manual de cada banco qual o procedimento a ser adotado.


Conta para pagamento/depósito da Caixa Econômica Federal


Nos pagamentos e depósitos feitos para contas da Caixa Econômica Federal, o campo "conta do favorecido" possui a seguinte regra de composição:

No campo "Conta para crédito", informe primeiro o Código da Operação, composto por 3 dígitos e, em seguida, o número da Conta, composto por 8 dígitos. Caso a conta informada não possua 8 dígitos, inclua zeros entre o código da operação e a conta até completar os 8 dígitos da conta informada. 

Exemplo:

Banco: 104 - CAIXA ECONÔMICA FEDERAL
Agência: 9999
Operação: 001
Conta: 8888-8

Exemplo de preenchimento de conta da Caixa Econômica Federal

Fonte consultada: Receita Federal do Brasil - Clientes Caixa Econômica Federal

No Office Banking, essa particularidade das contas da Caixa Econômica Federal pode ser tratada através de uma fórmula criada no Gerador de Formatos conforme o exemplo a seguir:

function CONTA_CEF()

 Dim vCONTA_CEF, vOperacao, vBanco, vConta, vTipoConta

 vBanco = T_Contas_a_Pagar.Field("CAID_BAN_IN_NUMERO").AsInteger

 vConta = HBK.CCorrenteSemDigito(T_Contas_a_Pagar.Field("CAID_ST_CONTACORR").AsString)

 vTipoConta = T_Contas_a_Pagar.Field("CAID_CH_TIPOCONTA").AsString

 if vBanco = 104 then

   if vTipoConta = "C" then

     vOperacao = "001"

   else

     vOperacao = "013"

   end if

   vCONTA_CEF = vOperacao + HBK.LeftPadCh(vConta, "0", 8)

 else

   vCONTA_CEF = HBK.LeftPadCh(vConta, "0", 11)

 end if

 return vCONTA_CEF

end function


 A fórmula citada acima é somente um exemplo a fim de auxiliar na configuração do Formato de Office Banking.