_Fórmulas e Funções do Folha Cloud_

Fórmulas e Funções do Folha Cloud

IMPORTANTE - As linguagens groovy/bfc-script tem tipagem opcional. Nos exemplos deste documento, as variáveis, em sua maioria estão tipadas, no entanto isso é apenas para demonstrar o tipo de retorno. Durante o uso, fica a critério do desenvolvedor da fórmula definir ou não o tipo da variável

Sumário

Funções reservadas
Ir para Funções reservadas

AdicionaisTempoServico
Ir para AdicionaisTempoServico

Afastamentos
Ir para Afastamentos

AvisoPrevio
Ir para AvisoPrevio

Bases
Ir para Bases

BasesOutrasEmpresas
Ir para BasesOutrasEmpresas

Eventos
Ir para Eventos

EncargosSociais
Ir para EncargosSociais

FuncoesGratificadas
Ir para FuncoesGratificadas

Emprestimos
Ir para Emprestimos

Lancamentos
Ir para Lancamentos

PlanoSaudeDespesas
Ir para PlanoSaudeDespesas

PeriodosAquisitivos
Ir para PeriodosAquisitivos

PeriodosAquisitivosDecimoTerceiro
Ir para PeriodosAquisitivosDecimoTerceiro

ValesTransporte
Ir para ValesTransporte

Variáveis reservadas

aposentado
Ir para aposentado

autonomo
Ir para autonomo

calculo
Ir para calculo

estagiario
Ir para estagiario

evento
Ir para evento

folha
Ir para folha

folhas
Ir para folhas

folhasPeriodo
Ir para folhasPeriodo

folhasMultiplosVinculosPeriodo
Ir para folhasMultiplosVinculosPeriodo

funcionario
Ir para funcionario

mediaVantagem
Ir para mediaVantagem

matricula
Ir para matricula

periodoAquisitivo
Ir para periodoAquisitivo

periodoConcessao
Ir para periodoConcessao

pensionista
Ir para pensionista

periodoAquisitivoDecimoTerceiro
Ir para periodoAquisitivoDecimoTerceiro

servidor
Ir para servidor

valorReferencia
Ir para valorReferencia

valorCalculado
Ir para valorCalculado

Funções para fórmulas




Funções reservadas

AdicionaisTempoServico

busca()

Busca no sistema RH a quantidade (em valor ou percentual) de adicionais adquiridos conforme a classificação de adicional

Parâmetro Descrição Obrigatório
tipoAdicional Informe um tipo de adicional Sim
classificacaoAdicional Informe uma classificação de adicional Sim
Utilizado no evento : Anuênio if (rh == 1) { valorReferencia = AdicionaisTempoServico.busca(TipoAdicional.QUANTIDADE_ADICIONAIS, ClassificacaoAdicional.ANUENIO) }


Afastamentos

buscaPorFaltas()

Permite buscar os afastamentos do tipo "Faltas" de uma matrícula, informando se deseja buscar as faltas a partir da competência de desconto ou se deseja buscar os abonos a partir da competência de abono

Parâmetro Descrição Obrigatório
abono/falta Informe se vai buscar um tipo de abono ou falta Sim
competência de abono ou falta Competência que será utilizada para buscar faltas ou os abonos das faltas. Caso a opção "abono/falta" esteja informada como "Abono", será considerada a competência de abono informada e caso esteja informada como "Falta", será considerada a competência de desconto da falta Sim
Utilizado na função: buscaPorFaltas def faltas = Afastamentos.buscaPorFaltas(AbonoFalta.FALTA, calculo.competencia) def inicioAfast def fimAfast double horas double dias faltas.each { falta -> inicioAfast = Datas.data(Datas.ano(falta.inicio),Datas.mes(falta.inicio),Datas.dia(falta.inicio)) fimAfast = Datas.data(Datas.ano(falta.fim),Datas.mes(falta.fim),Datas.dia(falta.fim)) if (falta.unidade.toString() == 'DIAS') { dias += falta.quantidade } else { horas += falta.quantidade } }


buscaPorPeriodo()

Permite buscar os afastamentos de uma matrícula informando uma lista de classificações de tipos de afastamentos dentro de um período

Parâmetro Descrição Obrigatório
dataInicial Data inicial da verificação de afastamentos, caso não seja informado será considerado o início da competência Não
dataFinal Data final da verificação de afastamentos, caso não seja informado será considerado o início da competência Não
classificacoes Informe uma Classificação de Tipo de Afastamento Sim
Utilizado na função : afasservmil Afastamentos.buscaPorPeriodo(ClassificacaoTipoAfastamento.SERVICO_MILITAR).each { afast -> def diaFim = afast.fim.dia def fim = afast.fim if (diaFim > 30) { fim = Datas.data(afast.fim.ano, afast.fim.mes, 30) } dias += Datas.diferencaDias(afast.inicio, fim) + 1 }


Afastamentos

buscaDiasAcidenteOuDoencaEmpregadorIsentosInss()

Retorna a quantidade de dias dentro da competência dos acidentes ou auxílios doença pagos pelo empregador e que originem um acidente ou auxílio doença pago pela previdência. O sistema usa a informação do afastamento de origem para conectar vários afastamentos e calcular os dias isentos. Obs.: os dias de isenção serão calculados apenas para competência posteriores a 10/2015, para os tipos de processamento Mensal e Rescisão e para matrículas cujo a categoria Sefip do vínculo seja: Empregado, Contrato por prazo determinado (CLT) ou Menor aprendiz.

int dias = Afastamentos.buscaDiasAcidenteOuDoencaEmpregadorIsentosInss()


AvisoPrevio

dataPrevistaDesligamento - Retorna a data prevista do desligamento informado no aviso prévio

motivoRescisao - Retorna o motivo da rescisão informado no aviso prévio

dataAviso - Retorna a data do aviso prévio

dataFimAviso - Retorna a data final do aviso prévio

quantidadeDiasAviso - Retorna a quantidade de dias de aviso prévio

tipo - Retorna o tipo de aviso prévio

Retorna a data final do aviso prévio

//Retorna a data fim do aviso prévio Date dataFimAviso = AvisoPrevio.dataFimAviso //Retorna a data prevista do desligamento informado no aviso prévio Date dataPrevistaDesligamento = AvisoPrevio.dataPrevistaDesligamento //Retorna o motivo da rescisão informado no aviso prévio String motivoRescisao = AvisoPrevio.motivoRescisao //Retorna a data do aviso prévio Date dataAviso = AvisoPrevio.dataAviso //Retorna a quantidade de dias de aviso prévio int quantidadeDiasAviso = AvisoPrevio.quantidadeDiasAviso //Retorna o tipo de aviso prévio (TipoAvisoPrevio) if (AvisoPrevio.tipo.equals(TipoAvisoPrevio.INDENIZADO)) { imprimir "O tipo de aviso prévio é indenizado" }


Bases

valor()

Permite buscar o valor de uma base no cálculo atual

Parâmetro Descrição Obrigatório
tipo de base Informar um tipo de base, use Bases.[sigla da base] Sim
Utilizado no evento : HORAS EXTRAS 50% //É importante se atentar a dependências de fórmulas quando for referênciar outra base if (Eventos.valor(1) > 0) { base = Bases.valor(Bases.HORAEXTRA) ...

Bases

compor()

Permite informar um valor para composição de um ou vários tipos de bases de cálculo

Parâmetro Descrição Obrigatório
valor Valor que irá compor a base Sim
tipo(s) de base(s) Um ou vários tipos de bases Sim
/** * Utilizado no evento : HORAS NORMAIS */ valorCalculado = funcionario.salario; Bases.compor(valorCalculado, Bases.SALBASE, Bases.FGTS, Bases.IRRF, Bases.INSS)

Bases

valorCalculado()

Permite buscar o valor de uma base de um cálculo que não seja o atual

Parâmetro Descrição Obrigatório
tipo de base Informar um tipo de base, use Bases.[sigla da base] Sim
tipo de processamento Informar um tipo de processamento Sim
subtipo de processamento Informar um subtipo de processamento Sim
competencia Informar uma competência, caso não seja informado será considerada a competência atual Não
tipo de regime Informar o tipo de regime, caso não seja informado será considerado regime de competência Não
//Utilizado no evento : F.G.T.S. 13º SALÁRIO BigDecimal baseaux = BigDecimal.valueOf(0); if (TipoProcessamento.DECIMO_TERCEIRO_SALARIO.equals(calculo.tipoProcessamento) && vaux > 0) { baseaux = Bases.valorCalculado(Bases.FGTS, calculo.tipoProcessamento, calculo.subTipoProcessamento) baseaux += Bases.valorCalculado(Bases.FGTS, TipoProcessamento.MENSAL,