Este artigo orienta o usuário sobre os procedimentos para criação de fórmulas na Tabela de Eventos, assim como a parametrização do evento, descrição das variáveis para criação da fórmula e exemplo de algumas fórmulas já criadas.


    Resolução

    Por meio da tabela de eventos, será possível vincular fórmulas de cálculos aos eventos para atender situações nas quais não seja possível utilizar apenas as rotinas disponíveis, devido a critérios complexos de cálculo. Você pode facilmente desenvolver uma fórmula utilizando as variáveis e operações matemáticas disponíveis nessa rotina. O conceito para criação de fórmula é similar à criação de fórmulas efetuadas na ferramenta do Microsoft Office (Excel).

    Importante: Para que a fórmula seja criada, é necessário que sejam feitos o levantamento de todos os requisitos para criação, imaginar todo o cenário, montar a situação, verificar qual o tipo de funcionário que irá utilizar, o tipo de processamento que será feito e se existem elementos que permitem a execução da fórmula. As informações das imagens são apenas um exemplo. Para obter sucesso no procedimento utilize os dados de sua empresa.

    1- Acesse: Social > Folha de Pagamento > Tabelas > Tabelas de Eventos.

    2- Clique no botão Novo, para habilitar a tela de criação do evento.

    3- Informe um código de identificação para o evento, com três caracteres, podendo variar de 001 a 999. O código do evento será sugerido automaticamente, seguindo uma sequência lógica a partir do próximo código disponível. Mas, se necessário, pode ser alterado para um outro código, desde que não exista no sistema.

    4- Em seguida, informe a descrição (de fácil identificação para o evento), com o limite de 30 caracteres. Estes campos são de preenchimento obrigatório.

    5- O tipo do evento se (provento ou desconto), a composição da base de cálculo e os demais indicadores, dependerá dos parâmetros (incidências) informados, estes são de responsabilidade do usuário


    6- Para iniciar a criação da fórmula é necessário selecionar o indicador Evento com fórmula em seguida clicar no botão fx.


    7- O campo Expressão é utilizado para a montagem da fórmula. Não existe limitação de caracteres. Todas as parametrizações para o cálculo da fórmula devem ser descritas nesse campo. Os dados contidos nas listas de Variáveis, Comandos e Operadores poderão ser informados ao clicar duas vezes sobre esses itens, não há necessidade de digitação.


    8- No quadro Variáveis por tipo, estão disponíveis todos os grupos de variáveis. Para facilitar a pesquisa das variáveis a serem utilizadas para a montagem da fórmula, selecione o tipo e, no campo Variáveis/Valores, são apresentadas somente as variáveis do tipo selecionado.


    Obs.: Estas variáveis podem ler valores de recibos, eventos entre outros. Lembrando que as variáveis de 13º, férias e quitação devem ser utilizadas em suas respectivas guias.


    9- No quadro Variáveis / Valores, estão disponíveis para seleção as variáveis que podem ser utilizadas para a montagem das fórmulas, conforme o tipo selecionado, sendo que podem ser visualizadas na própria rotina, ou seja, todas as ocorrências constantes na tabela de eventos são extraídas dos campos do cadastro de Sindicato dos Empregados, campos do cadastro de Funcionários, Informações da Tabela de IRRF, variáveis de Bases de Cálculos, etc. 


    10- As Variáveis Auxiliares podem ser utilizadas para simplificar ou dividir os cálculos na fórmula, no momento em que vários eventos, variáveis ou comandos irão compor a base de cálculo. 



    11- No quadro Comandos temos os comandos que podem ser utilizados na definição da fórmula. Estes comandos são auxiliares, determinam condições para o cálculo: Se, Enquanto, Repetir, Sair, LerEventos, LerBases, LerFichaVL e Int.


    12- Ao clicar sobre os comandos: LerEventos, LerBases, LerFichaVLInt., é apresentado um texto explicativo sobre sua funcionalidade na parte inferior da tela.


    13- No quadro Operadores, estão disponíveis os operadores matemáticos que serão utilizados para o cálculo da fórmula: E, OU, NÃO, = , +, -, *, /, >, <, >=, <=, <>, ( ).



    14- Clicando no botão Verificar Fórmula, é possível efetuar a checagem dos elementos que definimos nas fórmulas, para utilização nos Recibos Mensais, Férias, Quitação e Décimo Terceiro.



    15- O campo Valor, quando indicar 0, significa que a sintaxe está correta e ainda não há valor a ser demonstrado, pois o cálculo será realizado após o processamento do recibo com base nas variáveis e comandos aplicados na fórmula. Quando na fórmula for definido um valor para o cálculo, o campo Valor será preenchido com o resultado que será demonstrado no recibo, conforme exemplo abaixo:


    Importante: As variáveis deverão ser informadas sem acentuação, os valores deverão ser digitados com ponto e não vírgula, antes de todos os resultados a fórmula deverá conter a variável Resultado.


    Exemplos de Fórmulas

    1º passo: Crie o evento, indicando que se trata de um Evento com Fórmula
    2º passo: 
    Clique no botão fx para acessar a tela do Assistente para composição de fórmulas e inclua a fórmula conforme a situação apresentada: 

    1) Um evento de Adicional Por Tempo de Serviço deve ser calculado da seguinte forma: 2% do salário de contribuição a cada ano trabalhado, limitado a 10 anos ou 20% do salário base. No campo referência, deverá ser demonstrado a quantidade de anos trabalhados.

    Fórmula: 
    Se BC18 < 10 Entao 
    RESULTADO=(((BC06 * BC34) / 100) * BC18 
    R_HD=BC18 
    Sair 
    Se BC18 >= 10 Entao 
    RESULTADO=(BC00 * 20) / 100
    R_HD=BC18 
    Fim 

    Observação: Neste exemplo, podemos identificar que na fórmula foi aplicado o comando Se, que sempre deverá vir acompanhado do comando Então quando existir duas condições para o cálculo. Neste caso, foram estipuladas as seguintes condições: o limite de anos e o percentual diferenciado sobre o salário de contribuição e salário base. Para leitura do salário de contribuição foi utilizado a variável BC06 e para leitura do salário base a variável BC00. A variável R_HD é responsável por demonstrar o valor/quantidade no campo referência do recibo. A variável BC18 irá ler a quantidade de anos que o funcionário possui na empresa, neste caso, será demonstrado no recibo a quantidade de anos do funcionário conforme determinado na fórmula. Na primeira condição, quando o funcionário tiver menos de 10 anos na empresa será calculado 2% sobre o salário de contribuição e o resultado será multiplicado pela quantidade de anos.  Na segunda condição, quando o funcionário tiver mais de 10 anos na empresa será calculado 20% sobre o salário base. 

    2) Um evento de desconto de Contribuição Assistencial deve ser calculado da seguinte forma: % sobre o salário base, limitando-se ao teto de R$ 18,00 e mínimo de R$ 8,00.

    Fórmula: 
    R_HD=BC34 
    VR01=(BC00 * BC34) / 100
    RESULTADO=VR01 
    Se VR01 > SI07 Então 
    RESULTADO=SI07 
    Sair 
    Se VR01 < SI05 Então  
    RESULTADO=SI05 
    Fim

    Observação: Neste exemplo, foi preciso utilizar a variável auxiliar VR01, para que o Resultado fosse considerado na condição Se, como existem os limites mínimo e máximo de desconto da Contribuição Assistencial, foram aplicadas as variáveis SI05 e SI07 que irão realizar a leitura dos campos Limites de Contribuição do Cadastro do Sindicato. Para que seja demonstrada a referência do evento no recibo, neste caso, a variável R_HD deve ser inserida antes da verificação dos valores mínimo e máximo. A variável BC34 realiza a leitura do valor lançado no evento, podendo ser digitado no Cadastro do Sindicato guia Fixos Recibo, no campo Fixos Salariais do Cadastro de Funcionários onde será lido o valor/quantidade ou na Digitação de Variáveis.

    3) Um evento de Bonificação deve ser calculado da seguinte forma: 15% sobre o salário normal que some (+) horas extras, some (+) adicional de insalubridade e (-) subtraia faltas caso o funcionário tenha:

    Fórmula:
    VR01=(EV001+EV037+EV038+EV011)
    VR02=(VR01-EV141-EV142)
    RESULTADO=(VR02 * 15) / 100

    Observação: Neste exemplo, o cálculo deverá ser realizado somente sobre alguns eventos específicos, sendo assim, foram incluídos os códigos dos eventos que serão utilizados no cálculo e para separar os cálculos de soma e subtração foram utilizadas as variáveis auxiliares VR01 e VR02.

    4) Um evento que em seu cálculo seja aplicado no Resultado o maior valor, podemos imaginar a seguinte situação:

    Salário Mês      
    Salário Mínimo          
    Aplicar 40% sobre Salário Mês
    Aplicar 10% sobre Salário Mínimo

     
    Fórmula:
    VR01=BC00
    VR02=BC17
    VR03=(VR01 * 40) / 100
    VR04=(VR02 * 10) / 100
    Se VR03 > VR04 Entao
    RESULTADO=VR03
    Sair
    Se VR04 > VR03 Entao
    RESULTADO=VR04
    Fim

    Observação: Neste exemplo, foram utilizadas as variáveis auxiliares VR01VR02VR03 e VR04 para dividir os cálculos entre os dois percentuais e aplicá-los na condição Se, pois não é possível inserir o cálculo direto nesta condição, somente o Resultado.

    5) Um evento de Hora Extra 75% que seja calculado sobre o salário base (+) periculosidade (+) insalubridade e que seja considerado para o cálculo os minutos convertidos em decimal.

    Fórmula:
    VR01=INT (BC34)
    VR02=BC34 - VR01
    VR03=VR02 / 0.6
    VR04=VR01 + VR03
    RESULTADO=(((BC00+EV011+EV012) / 220) * 1.75) * VR04
    R_HD=BC34

    Observação: Neste exemplo, a variável INT foi utilizada para realizar a leitura do valor inteiro lançado no evento, quando digitado a quantidade de horas com minutos, a variável irá tirar os minutos da hora para aplicar a conversão e depois de convertidos, os minutos serão somados as horas lançadas para realizar o cálculo final.

    6) Um evento de Adicional Noturno que seja calculado sobre salário Normal + adicional por Tempo de Serviço.

    Fórmula:
    RESULTADO=(((EV001+EV007) / 220) * 0.20) * BC34

    Observação: Neste caso, se o funcionário tiver alguma ocorrência no mês que faça com que o salário seja calculado proporcionalmente, como na fórmula foi aplicado o cálculo sobre EV001, será considerado o valor proporcional do evento calculado no recibo mensal.

    7) Um evento de Dia do Comerciário 30 de outubro: Em homenagem ao dia do Comerciário será concedida ao empregado do comércio uma gratificação correspondente a 1/30 (um trinta avos) de sua remuneração mensal auferida no mesmo mês que será pago juntamente com esta, o empregado que tiver com até 90 dias trabalhados não será concedido benefício, funcionários com até 179 dias de trabalho será concedido (1/30 um trinta avos) e de (2/30 dois trinta avos) aos empregados com mais de 180 dias.

    Fórmula:
    Se IDIAS <= 90 Entao
    RESULTADO = 0.00
    Sair
    Se IDIAS >= 91 E IDIAS <= 179 Entao
    RESULTADO = (BC00/30)
    Sair
    Se IDIAS >= 180 Entao
    RESULTADO = (BC00/30)*2
    Fim

    Observação: Neste exemplo, foi necessário aplicar a variável IDIAS que realiza a leitura da quantidade de dias que o funcionário tem desde sua admissão, não poderá haver espaços entre os sinais de maior igual e menor igual dentro da fórmula.

    8) Um evento de Adicional por Tempo de Serviço que calcule 20% sobre o salário base, somente para funcionários admitidos a partir de 01/03/2010 e que já tenham 5 anos completos trabalhados.

    Fórmula:
    Se (FN47 >= 20100301) E (BC18 >= 5) Entao
    RESULTADO=(BC00 * 20) / 100

    Observação: Neste exemplo, como existem duas situações que deverão ser verificadas para que o evento seja calculado, foi necessário utilizar o operador E, para que além da leitura da data informada, que obrigatoriamente deverá conter o formato AAAAMMDD (Ano, Mês e Dia) e a variável FN47 que realiza a leitura da data de admissão do funcionário, também fosse realizado a leitura da quantidade de anos por meio da variável BC18.

    9) Um evento de Hora Extra Noturna 100% que seja calculada sobre salário base + adicional de insalubridade + comissões

    Fórmula:
    VR01=((((BC00+EV011+EV005)/220)*2)*1.20)*1.142857
    RESULTADO=(VR01*BC34)
    R_HD=BC34

    10) Um evento de Dsr s/ Adicionais conforme estipulado pelo Sindicato sempre por 25 dias úteis x 5 dias inúteis.

    Fórmula:
    VR01=(EV037+EV038+EV040+EV041+EV042+EV043)
    RESULTADO=((VR01 / 25) * 5) * BC34

    11) Evento de Pensão Alimentícia sobre total de Proventos descontando INSS, IRRF e a Pensão Alimentícia da Base do IRRF

    Fórmula:

    VR01=BC10
    Se VR01<=AL42 Entao
       VR02=BC10+(EV111+EV120)
       VR02=VR02*BC34/100
       RESULTADO=VR02
       R_HD=BC34
       SAIR
    Fim
    Se VR01<=AL43 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL48/100))+ AL53))*(BC34/100))/(1-((BC34/100)*(AL48/100)))
    Fim
    Se VR01<=AL44 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL49/100))+AL54))*(BC34/100))/(1-((BC34/100)*(AL49/100)))
    Fim
    Se VR01<=AL45 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL50/100))+AL55))*(BC34/100))/(1-((BC34/100)*(AL50/100)))
    Fim
    Se VR01<=AL46 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL51/100))+AL56))*(BC34/100))/(1-((BC34/100)*(AL51/100)))
    Fim
    VR03=BC10-EV101-BC13-VR02-EV142
    Se VR03<=AL42 Entao
       VR02=BC10+(EV111+EV120)
       VR02=VR02*BC34/100
       RESULTADO=VR02
       R_HD=BC34
    Sair
    Fim
    Se VR03<=AL43 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL48/100))+AL53))*(BC34/100))/(1-((BC34/100)*(AL48/100)))
       RESULTADO=VR02
       R_HD=BC34
       Sair
    Fim
    Se VR03<=AL44 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL49/100))+AL54))*(BC34/100))/(1-((BC34/100)*(AL49/100)))
       RESULTADO=VR02
       R_HD=BC34
       Sair
    Fim
    Se VR03<=AL45 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL50/100))+AL55))*(BC34/100))/(1-((BC34/100)*(AL50/100)))
       RESULTADO=VR02
       R_HD=BC34
       Sair
    Fim
    Se VR03<=AL46 Entao
       VR01=BC10-EV101-EV142
       VR02=(((VR01-((VR01-BC13)*(AL51/100))+AL56))*(BC34/100))/(1-((BC34/100)*(AL51/100)))
       RESULTADO=VR02
       R_HD=BC34
       Sair
    Fim

    12) Evento de Vale transporte (provento), proporcional com dedução de dias inúteis (domingos):

    Fórmula:
    Se FN32 > = 1 Entao
    VR01 = EV001 / BC01 
    VR02 = INT (VR01) - DTINUTEIS
    RESULTADO = VR02 * FN33
    R_HD = VR02
    Fim

        
    Importante: Quando no recibo existir dois eventos com fórmula onde para que um evento seja calculado, depende do cálculo do outro para compor a base de cálculo, deverá ser respeitado a ordem decrescente das rotinas, ou seja, da maior para a menor.

    No campo Rotinas, para que o evento seja calculado, além da fórmula aplicada, o campo Rotina na Tabela de Eventos, deverá conter as rotinas 93 a 99, onde cada uma determinará de que forma os cálculos serão realizados, conforme opções abaixo:

    - 93 -  Calc. c/ form. após calc. do Piso Comissionista:  Esta rotina deverá ser utilizada na elaboração de fórmulas, quando o evento de piso comissionista for considerado para o cálculo.

    - 94 - Calc. c/ form. antes do calc. do Adic. Noturno: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente pelo programa antes do cálculo do Adicional Noturno (evento 010). Sendo assim, o valor calculado no evento poderá ser utilizado para composição da base de cálculo do Adicional Noturno.

    - 95 - Calc. c/ form. antes do calc. da Hora Extra: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente pelo programa antes dos cálculos das horas extras (eventos 040, 041, 042 e 043). Sendo assim, o valor calculado no evento poderá ser utilizado para composição da base de cálculo das horas extras.

    - 96 - Calc. c/ form. antes do IRF e depois calc. INSS: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente pelo programa antes do cálculo do IRRF e depois do cálculo do INSS.

    - 97 - Calc. com form. exec. antes do calc. do DSR/Fixos 13º: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente antes do cálculo do DSR.

    - 98 - Calc. c/ form. exec. após DSR/Fixos 13º e antes do INSS e IRF: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente após o cálculo do DSR e antes do cálculo do INSS e IRRF.

    - 99 - Calc. c/ form. exec. após o calc. do INSS e IRF: Esta rotina deverá ser utilizada para eventos calculados por meio de uma fórmula. Porém, utilizando esta rotina, a fórmula será executada internamente após o cálculo do INSS e IRRF.

    Atenção: Em casos que o valor do evento de formula não entrar para a base de INSS e IRRF, verifique se o evento não está com o rotina 99 - Calc. c/ form. exec. após o calc. do INSS e IRF selecionado indevidamente. 




    Outros meios de obter suporte