As fórmulas servem para dar maior flexibilidade ao sistema, e através delas podem ser feitos vários ajustes e automatizações.

A sintaxe da fórmula foi desenvolvida da forma mais simples possível, afim de possibilitar que usuários menos experientes consigam desenvolver suas fórmulas.

Sintaxe


Declaração

As variáveis são declaradas automaticamente pelo compilador, que assume como tipo de dados o primeiro valor atribuído à mesma.

Estrutura condicional:

se expressão lógica
  bloco de código executado se a expressão lógica for verdadeira
senao
  bloco de código executado se a expressão lógica for falsa
fimse

Estrutura de laço:

percorra objeto
  bloco de código executado enquanto houver objetos
fimpercorra 

Nota: A estrutura de laço atualmente só funciona para o objeto dependente e para formulas da folha.

Operadores aritméticos:

+ Adição
- Subtração
* Multiplicação
/ Divisão

Operadores lógicos:

>  Maior
<  Menor
>= Maior ou igual
<= Menor ou igual
<> Diferente

Agrupadores lógicos:

e  => Exemplo: a = b e c > d
ou => Exemplo: a > b ou c <= d

Tipos de dados:

Numérico => Exemplos: 3 ; 45.08
Carácter => Exemplo: 'abc'
Lógico   => Exemplos: verdadeiro ; falso
Data ( Formatos: {dd/mm/aaaa} ou {d/m/aaaa} ) => Exemplos: {25/04/2008} ; {1/1/2008}

Variáveis


Fórmulas gerais

Nome Tipo Descrição
resultado lógico/numérico Resultado da fórmula
dataAtual Data Data atual

Fórmulas específicas para o layout

Nome Tipo Descrição
registroAtual carácter Linha atual do layout
valorAtual carácter valor que está sendo processado ( apenas retorno do layout )

Fórmulas específicas para a folha

Nome Tipo Descrição
pisoSalarial numérico Piso salarial do colaborador
valorInformado numérico Valor informado no evento
salarioMinimo numérico Salário mínimo vigente
salarioMes numérico Salário contratual mês do funcionário
salarioDia numérico Salário contratual dia do funcionário
salarioHora numérico Salário contratual hora do funcionário
salarioBaseMes numérico Salário base mês do funcionário
salarioBaseDia numérico Salário base dia do funcionário
salarioBaseHora numérico Salário base hora do funcionário
horasMes numérico Carga horária mensal
horasSemana numérico Carga horária semanal
horasDsr numérico Carga horária de descanso remunerado
NumFeriados numérico Quantidade de feriados no mes
numDsr numérico Quantidade de dsr no mês
valorSemana1 numérico Quantidade de dsr da primeira semana
feriadoSemana1 numérico Quantidade de feriado da primeira semana
valorSemana2 numérico Quantidade de dsr da segunda semana
feriadoSemana2 numérico Quantidade de feriado da segunda semana
valorSemana3 numérico Quantidade de dsr da terceira semana
feriadoSemana3 numérico Quantidade de feriado da terceira semana
valorSemana4 numérico Quantidade de dsr da quarta semana
feriadoSemana4 numérico Quantidade de feriado da quarta semana
valorSemana5 numérico Quantidade de dsr da quinta semana
feriadoSemana5 numérico Quantidade de feriado da quinta semana
totalVantagens numérico Total de vantagens
totalDescontos numérico Total de descontos
totalLiquido numérico Total líquido
baseInssNormal numérico Base de cálculo de INSS
BaseInssFerias numérico Base de cálculo de INSS sobre férias
baseInssDecimo numérico Base de cálculo de INSS sobre 13º salário
basePrevEspecialNormal numérico Base de cálculo de Previdência especial
basePrevEspecialFerias numérico Base de cálculo de Previdência especial sobre férias
basePrevEspecialDecimo numérico Base de cálculo de Previdência especial sobre 13º salário
baseIrrfNormal numérico Base de cálculo de IRRF
baseIrrfFerias numérico Base de cálculo de IRRF sobre férias
baseIrrfDecimo numérico Base de cálculo de IRRF sobre 13º salário
baseFgtsNormal numérico Base de cálculo de FGTS
baseFgtsDecimo numérico Base de cálculo de FGTS sobre 13º salário
baseSalarioFamilia numérico Base de cálculo do salário família
baseRais numérico Remuneração base para a RAIS
dtProcInicio data Data início do período de processamento
dtProcFim data Data final do período de processamento
qtdDependenteIR numérico Quantidade de dependentes de IRRF
qtdDependenteSF numérico Quantidade de dependentes de salário família
quotasPensao Numérico Quantidade de quotas para cálculo de pensão
competenciaMes numérico Mês da competência atual
competenciaAno numérico Ano da competência atual
diasUteis numérico Variável leva em consideração data de admissão no período ou data de demissão e no final é subtraída da variável diasNaoUteis
diasNaoUteis numérico Variável que retorna o número de dias não úteis levando em consideração os feriados inclusive
diasCalculo numérico Número de dias para cálculo da folha, dependendo dos parâmetros pode ser o número de dias do mês ou 30 (trinta dias)
diasMes numérico Número de dias do mês
diasAfastado numérico Número de dias afastado no período
diasTrabalhados numérico Número de dias trabalhados no período
diasLicencaMaternidade numérico Dias em licença maternidade no período
diasAtestado numérico Dias de atestado médico no período
diasFerias numérico Dias em gozo de férias no período processado
diasGozo numérico Número de dias de gozo das férias
retornoDeFerias lógico Indica se o colaborador está retornando de férias no período processado
abonoPecuniario lógico Indica se o colaborador de férias vendeu 1/3 de suas férias
processamento carácter Código do processamento atual:

fer – Férias;
res – Rescisão;
adt – Adiantamento;
sem – Folha semanal;
qui – Folha quinzenal;
a13 – Adiantamento de 13° salário;
f13 – Folha de 13° salário;
c13 – Folha complemento de 13° salário;
fol – Folha mensal; \\cfo – Folha complementar

Fórmulas específicas para integrações

Nome Tipo Descrição
competenciaMes numérico Mês da competência de geração
competenciaAno numérico Ano da competência de geração
dataPgtoMes numérico Mês da competência do processo
dataPgtoAno numérico Ano da competência do processo
codigoHierarquia carácter Código da hierarquia
codigoCentroCusto carácter Código do centro de custo

Funções


Fórmulas gerais

Nome Parâmetros Tipo de retorno Descrição
maximo valor1 numérico

valorN numérico
numérico Maior valor entre os valores informados
minimo valor1 numérico

valorN numérico
numérico Menor valor entre os valores informados
media valor1 numérico

valorN numérico
numérico Média aritmética dos valores informados
modulo dividendo numérico
divisor numérico
numérico Módulo de uma divisão
inteiro valor numérico numérico Parte inteira de um decimal
arredondar valor numérico numérico Arredonda para 2 casas decimais
dia dataX data numérico Captura o dia de uma data
mes dataX data numérico Captura o mês de uma data
ano dataX data numérico Captura o ano de uma data
idade dataNasc data numérico Idade (data de nascimento até a data atual)
idadeDataBase dataNasc data
dataReferência data
numérico Idade (data de nascimento até uma data de referência)
somaDia dataX data
dias numérico
data Adiciona dias a uma data
somaMes dataX data
meses numérico
data Adiciona meses a uma data
somaAno dataX data
anos numérico
data Adiciona anos a uma data
dataParaTexto dataX carácter Converte data em carácter
textoParaData caracter data Converte texto para data ( data válida ) conforme especificação acima
numeroParaTexto numérico carácter Converte número para texto
textoParaNumero carácter numérico Converte texto para número
subTexto carácter
valor1 numérico(inteiro)
valor2 numérico(inteiro)
carácter Retorna um pedaço do texto especificado no primeiro parâmetro iniciando do segundo parâmetro e terminando após x caracteres passado no terceiro parâmetro
tamanho carácter numérico Retorna o tamanho do texto passado com parâmetro
nomeMes Numérico Carácter Retorna o nome do mês
contido Str1 Carácter
Str2 Carácter
Lógico Retorna verdadeiro se str1 estiver contido em str2
diasEntre Data1 data
Data2 data
numérico Retorna o número de dias entre duas datas
mesesEntre Data1 data
Data2 data
numérico Retorna o número de meses entre duas datas

Fórmulas específicas para a folha

Nome Parâmetros Tipo de retorno Descrição
valorCalculado evento1 carácter

eventoN carácter
numérico Valor de um evento calculado
referenciaCalculado evento carácter numérico Referência de um evento calculado
valorExtra evento carácter numérico Valor de um evento informado no movimento extra
valorFixo evento carácter numérico Valor de um evento informado no movimento fixo ( para processo atual )
valorFixoGeral Evento carácter numérico Valor de um evento informado no fixo em qualquer processo
pensaoAlimenticia baseCalc numérico
percentual numérico
quotas numérico
numérico Calcula a pensão alimentícia
calcularEvento Evento carácter
Referencia numérico (opcional)
Valor numérico
numérico Grava o evento especificado no primeiro parâmetro para o processo atual. Caso não coloque referência o mesmo ficará com o valor zerado
removerEvento Evento Carácter numérico Remove do cálculo um evento já processado
valorFicha Evento
Ano inicial
Mês inicial
Ano final
Mês final
Carácter
Numérico
Numérico
Numérico
Numérico
Retorna o valor de um determinado evento na ficha financeira de acordo com o período informado
informadoFixo Evento Carácter lógico Retorna se o evento for informado no fixo
informadoExtra Evento Carácter lógico Retorna se o evento for informado no extra
valorBeneficioColaborador evento Carácter numérico Retorna o valor total utilizado pelo colaborador naquele beneficio valor este apenas vindo da movimentação mensal
CodigoSaque Numérico Carácter Retorna o código do afastamento
causaRescisao Numérico Carácter Retorna o código corresponde a causa da rescisão

Objetos


Específicos para o layout

Nome Propriedades Tipo Descrição
dados Todos os campos da tabela informada no registro atual Tipo do campo especificado Objeto específico da remessa do layout

Específicas para integrações

Nome Propriedades Tipo Descrição
Evento Todos os campos Tabela de eventos

Específicas para a folha

Nome Propriedades Tipo Descrição
colaborador ID numérico ID
tipoPessoa Carácter Tipo da colaborador
codigo Carácter Código
nome Carácter Nome
apelido Carácter Apelido
portal_nivelAcesso numérico Nível de acesso ao portal web
portal_senha Carácter Senha ao portal web
dataNascimento data Data de nascimento
estadoCivil Carácter Estado civil
cpf Carácter CPF
pis Carácter PIS
end_logradouro Carácter Logradouro
end_numero Carácter Número da casa/prédio
end_cep Carácter CEP
end_complemento Carácter Complemento do endereço
end_bairro Carácter Bairro
end_cidade Carácter Cidade
end_uf Carácter Estado
idHorarioTrabalho numérico ID do horário de trabalho
racaCor Carácter Raça/Cor
deficiente Carácter Deficiência física
codNacionalidade Carácter Nacionalidade
anoChegada numérico Ano de chegada
idEscolaridade numérico Grau de escolaridade
sexo Carácter Sexo
rg_Numero Carácter Identidade - Número
rg_Orgao Carácter Identidade - Órgão expedidor
rg_DataEmissao data Identidade - Data de emissão
reservista_Numero Carácter Reservista
naturalidade Carácter Naturalidade
nomePai Carácter Nome do Pai
nomeMae Carácter Nome da Mãe
fone_DDD Carácter DDD Telefone fixo
fone_Numero Carácter Telefone fixo
celular_DDD Carácter DDD Telefone celular
celular_Numero Carácter Celular
email Carácter E-mail
emailEmpresa Carácter E-mail na empresa
cracha Carácter Número do crachá
idAgencia numérico ID da Agência bancária
contaCorrente_Numero Carácter Conta corrente - Número
contaCorrente_DV Carácter Conta corrente - Dígito
contaCorrente_Tipo Carácter Conta corrente - Tipo
ctps_Numero Carácter CTPS - Número
ctps_Serie Carácter CTPS - Série
ctps_DataEmissao data CTPS - Data de emissão
ctps_Uf Carácter CTPS - UF
eleitor_Numero Carácter Título de eleitor - Número
eleitor_Zona Carácter Título de eleitor - Zona
eleitor_Secao Carácter Título de eleitor - Seção
eleitor_Municipio Carácter Título de eleitor - Município
habilitacao_Numero Carácter Habilitação - Número
habilitacao_DataEmissao data Habilitação - Data de emissão
habilitacao_DataValidade data Habilitação - Validade
habilitacao_DataPrimeira data Habilitação - Data da 1ª habilitação
habilitacao_Categoria Carácter Habilitação - Categoria
conselho_Numero Carácter Conselho
conselho_Sigla Carácter Conselho - Sigla
ufOrigem Carácter Estado de origem
tipoSanguineo Carácter Sangue - Tipo
fatorRh Carácter Sangue - Fator RH
IdAreaGeografica numérico ID da área geográfica
remuneracao numérico Salário
tipoSalario Carácter Tipo de salário
idSindicato numérico ID do Sindicato
dataAdmissao data Data de admissão
codVinculo Carácter Vínculo empregatício
codOcorrencia Carácter Ocorrência
codCategoria Carácter Categoria
codCargo Carácter Código do Cargo
codFuncao Carácter ID da Função
codDepartamento Carácter Código do Departamento
codHierarquia Carácter Código da Hierarquia
sindicato_MesDesconto numérico Mês de desconto sindical
percAdiantamento numérico Valor do adiantamento
idCargaHoraria numérico ID da Carga horária
tipoAdmissao Carácter Tipo de admissão
fgts_Agencia numérico FGTS - Agência
fgts_DataOpcao data FGTS - Data de opção
fgts_contaCorrente_Numero Carácter FGTS - Conta corrente
fgts_contaCorrente_DV Carácter FGTS - Dígito da conta corrente
pat Carácter PAT
alvaraJudicial Carácter Alvará judicial
bancoHoras Carácter Banco de horas
estabilidade_DataFim data Estabilidade - Data de término
estabilidade_Motivo Carácter Estabilidade - Motivo
dataTransferenciaEntrada data Data de entrada (transferência)
dataAdmissaoServPub data Data de admissão do servidor público
ponto_nivelAcesso numérico ID do nível de acesso
idGrupoBatimento numérico ID do grupo de batimento
idGrupoPagamento numérico ID do grupo de pagamento
pir_codfornecedor Carácter Código do Fornecedor
grupoPagamento ID numérico ID
nome Carácter Nome do grupo
tipoFolha Carácter Tipo da folha
variosAdiantamentos Carácter Vários adiantamentos
adiant_Desconto Carácter Desconto do adiantamento
adiant_Diamaximo numérico Dia máximo do adiantamento
adiant_Percentual numérico Percentual de adiantamento
adiant_Provento Carácter Provento de adiantamento
adiant13_Provento Carácter Adiantamento do 13º (Provento)
adiant13_Desconto Carácter Adiantamento do 13º (Desconto)
arred_Desconto Carácter Desconto do arredondamento
arred_Provento Carácter Provento de arredondamento
arred_Valor numérico Valor do arredondamento
contribSindical_Evento Carácter Contribuição sindical
emprestimo_Desconto Carácter Desconto empréstimo
emprestimo_Provento Carácter Provento de empréstimo
irrf_Decimo Carácter IRRF sobre décimo
irrf_Evento Carácter IRRF
irrf_Ferias Carácter IRRF sobre férias
evento_adicionalFerias Carácter Adicional de férias
evento_adicionalFerInd Carácter Adicional de férias indenizadas
evento_avisoPrevioInd Carácter Aviso prévio indenizado
evento_avisoPrevioTrab Carácter Aviso prévio trabalhado
evento_decimo Carácter Décimo terceiro salário
evento_decimoIndenizado Carácter Décimo terceiro indenizado
evento_difSalMaternidade Carácter Diferença salário maternidade
evento_ferias Carácter Férias
evento_feriasIndenizadas Carácter Férias indenizadas
evento_feriasProporcionais Carácter Férias proporcionais
evento_indenizacao479 Carácter Indenização Art.479
evento_licencaRemunerada Carácter Licença remunerada
evento_PensaoAlimenticia Carácter Pensão alimentícia
evento_pis Carácter PIS
evento_SalarioFamilia Carácter Salário família
evento_SalarioHorista Carácter Salário horista
evento_SalarioMaternidade Carácter Salário maternidade
evento_SalarioMensalista Carácter Salário mensalista
evento_saldoFeriasColetivas Carácter Saldo férias coletivas
evento_saldoSalario Carácter Saldo de salário
evento_ValeRefeicao Carácter Vale refeição
evento_ValeTransporte Carácter Vale transporte
ferias_abonoPecuniario Carácter Abono pecuniário (Férias)
ferias_adicionalAbono Carácter Abono pecuniário (1/3 de Férias)
ferias_difAbonoPecuniario Carácter Diferença abono pecuniário (Férias)
ferias_difAdicionalAbono Carácter Diferença adicional abono férias
ferias_Diferenca Carácter Diferença (Férias)
ferias_DiferencaAdicional Carácter Diferença adicional férias
ferias_Liquido Carácter Líquido de férias
prevSocial_Decimo Carácter Previdência Social (Décimo)
prevSocial_Evento Carácter Previdência Social
prevSocial_Ferias Carácter Previdência Social (Férias)
rescisao_Liquido Carácter Líquido de rescisão
salarioProporcionalDiasMes Carácter Salário proporcional aos dias do mês
sindicato Todos os campos Tabela de sindicato
dependente Todos os campos Tabela de dependentes
evento Todos os campos Tabela de eventos

Exemplos de Fórmula


Correção de Prova

A fórmula de correção de Prova estará atrelada ao(s) evento (s) que referem-se a esse provento:

se competenciames=4 ou competenciames=7 ou competenciames=11
  resultado:=valorinformado*totalvantagens/100
senao
  resultado:=0
fimse

Interpretação:

Para os colaboradores que tiverem informado nos seus movimentos um evento que contenha essa fórmula o cálculo será o seguinte:

Nos meses Abril, Julho ou Novembro o sistema irá calcular o valor informado no movimento do Colaborador x o Total de vantagens/100.

Em termos práticos, supondo que o colaborador Jose João possui um total de Proventos igual a R$ 1.500,00, e tenha entre os movimentos fixos lançados o evento Correção de prova, com valor 10, o cálculo do provento será:

R$1.500,00 * 10 / 100= R$ 150,00

Outro Exemplo:

Refeição com valor de desconto diferenciado de acordo com o Salário

SE SALARIOMES>=900.00
RESULTADO:=30.00
  SENAO
    SE SALARIOMES>=600.00
      RESULTADO:=12.00
    SENAO
      SE SALARIOMES>400.00
        RESULTADO:=8.00
      SENAO
        RESULTADO:=5.00
FIMSE
  FIMSE
    FIMSE

Horas Extras

basecalc:= valorcalculado('0105','0109','0110','0111','0112','0113','0114','0115','0118')

basecalc:= basecalc + gratificacaoFixa
dias := colaborador.tempoServico + colaborador.tempoServmesatual
data := somadia( colaborador.dataadmissao, dias )
anos := idadeDataBase( colaborador.dataadmissao, data )
se anos >= 5
  percentual := Minimo( anos, 35 )
  baseCalc := baseCalc + ( salarioMes * percentual / 100 )
fimse
  
se colaborador.idgrupopagamento<>2
  basecalc := basecalc + salariomes
fimse

resultado:= basecalc/horasmes*valorinformado*evento.coeficiente

Interpretação:

Cálculo composto utilizando bases que podem variar dependendo do tempo de serviço do colaborador na empresa(Data de admissão maior ou igual a 5 anos)

PENSAO(BRUTO - INSS-IRRF)

resultado:=pensaoalimenticia(totalvantagens-valorcalculado ('0510','0520'),valorinformado,0,1)

QUINQUÊNIO

tempoServico:=colaborador.tempoServico 
dias := tempoServico + colaborador.tempoServmesatual
data := somadia( colaborador.dataadmissao, dias )
anos := idadeDataBase( colaborador.dataadmissao, data )
quinquenio := inteiro( anos / 5 )
adicional  := modulo( anos, 5 )
percentual := ( quinquenio * 5 ) + adicional
se quinquenio > 0
 se percentual > 35
   percentual := 35
 fimse
 se valorcalculado('0108')>0
   resultado := valorcalculado('0001')*percentual/100
 senao
   resultado:=salariomes*percentual/100
 fimse
senao
 resultado:=0
fimse

Contribuição Sindical – Sindicatos em eventos diferentes

basecalc:=valorcalculado('0102','0103','0104','0105','0108','0109','0110','0111','0112','0113','0114','0115','0116','0117','0118','0119','0137')

se colaborador.idgrupopagamento<>2
  basecalc:=basecalc+salariomes
fimse
  
contribuicao:=basecalc/30
Evento a:='0531'
Evento b:='0532'