Pular para o conteúdo principal

Fórmulas e Funções

Mantenha seu pacote de ocorrências do ponto para migração atualizado!​

Aqui você encontra a última versão do pacote de fórmulas de ocorrências do ponto para migração ou para utilizar como modelo nas customizações, clique e baixe.

Atualizado em 05/10/2026.

Fórmulas e Funções de ocorrências para o Ponto Cloud​

Este projeto auxilia na criação de fórmulas de ocorrências do Ponto. Este documento apresenta cada função e variável disponível para uso, assim como um exemplo de uso de cada uma delas.

Funções e Variáveis reservadas​

Atestados:​

atestados

buscarAtestados()

Permite buscar os atestados diretamente do sistema de RH, no cadastro de atestados, essa função retorna uma lista de atestados com suas propriedades. São retornados os atestados da matrícula apurada que estejam dentro do período informado.

ParâmetroDescriçãoObrigatório
dataInicialData inicial da verificação de atestadosSim
dataFinalData final da verificação de atestadosSim
tipoDescrição do tipo de atestado, campo "Tipo de atestado" do cadastro de atestadosNão
dependenteInformar true ou false. Se informado retorna conforme campo "Decorrente de acompanhamento de dependentes?", se não informado retorna todos os tipos. Para utilizar este parâmetro é necessário informar também o parâmetro tipo, que pode ser null para considerar todos os tiposNão
/**
* Utilizado na ocorrência : 41- Horas Atestado
* Esta fórmula busca os atestados médico de qualquer tipo na data de apuração, verificando a unidade do atestado
*/

dataApuracao = apuracao.dataApuracaoFormatado
atestadosRH = atestados.buscarAtestados(dataApuracao, dataApuracao)

def cargaHoraria = horario.cargaHoraria
def horasAtestado = 0
atestadosRH.each{ atestado ->
imprimir "Id do atestado - $atestado.id"
imprimir "Numero do atestado - $atestado.numeroAtestado"
imprimir "Unidade - $atestado.unidade"
imprimir "Tipo do atestado - $atestado.tipo.descricao"

if ( atestado.unidade.toString().equals('DIAS')){
horasAtestado = horario.cargaHoraria
}else{
horasAtestado = atestado.duracao
}
}
if ( horasAtestado > cargaHoraria ) horasAtestado = cargaHoraria;

valorApurado = horasAtestado

//Busca somente os atestados de um tipo, decorrentes de acompanhamento de dependentes
atestadosDependentes = atestados.buscarAtestados(apuracao.dataInicial, apuracao.dataFinal, 'Atestado médico', true)

Campos disponíveis em atestados:

  1. id - Id do atestado médico
  2. numeroAtestado - Número do atestado médico
  3. inicioAtestado - Data de início do atestado no formato yyyy-MM-dd
  4. fimAtestado - Data de fim do atestado no formato yyyy-MM-dd
  5. duracao - Duração do atestado conforme a unidade
  6. unidade - Unidade do atestado em HORAS ou DIAS
  7. localAtendimento - Local do atendimento
  8. tipo - Tipo do atestado, utilize tipo.descricao para obter a descrição
  9. motivoConsultaMedica - Motivo da consulta médica, utilize motivoConsultaMedica.descricao para obter a descrição
  10. deferido - Se atestado foi deferido, retorna um boolean
  11. encaminharJuntaMedica - Se o atestado foi marcado para encaminhar para junta médica, retorna um boolean
  12. acompanhamento - Se o atestado é decorrente de acompanhamento de dependentes, retorna um boolean
  13. retornoTrabalho - Data de retorno ao trabalho no formato yyyy-MM-dd
  14. estabelecimento - Estabelecimento do atendimento, com os campos cnpj, razaoSocial, nomeFantasia e tipo
  15. descricaoCargo - Descrição do cargo
  16. cids - Retorna uma lista dos CIDs do atestado, com os campos descricao, cadigo (código do CID), descricaoAbreviada e nivel
  17. dependentes - Retorna uma lista dos dependentes caso seja atestado de dependente, utilize dependente para obter a pessoa
  18. matricula - Matrícula do atestado

Afastamento:​

afastamento

isAfastamentoAuxilioDoenca()


Retorna um boolean indicando se na data de apuração o servidor possui afastamento por auxílio doença ou doença do trabalho (empregador ou previdência).

if ( afastamento.isAfastamentoAuxilioDoenca() ){
imprimir "Servidor possui afastamento por auxilio doença na data de apuração"
}else{
imprimir "Servidor NÃO possui afastamento por auxilio doença na data de apuração"
}

afastamento

isAfastamentoAcidenteTrabalho()


Retorna um boolean indicando se na data de apuração o servidor possui afastamento por acidente de trabalho ou acidente de trajeto (empregador ou previdência).

if ( afastamento.isAfastamentoAcidenteTrabalho() ){
imprimir "Servidor possui afastamento por acidente de trabalho na data de apuração"
}else{
imprimir "Servidor NÃO possui afastamento por acidente de trabalho na data de apuração"
}

afastamento

totalAfastamento(ClassificacaoTipoAfastamento)


Retorna o total de dias afastados no período de apuração do servidor para uma classificação de afastamento passada por parâmetro. A classificação de afastamento deve ser informada através da constante ClassificacaoTipoAfastamento.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoAfastamentoInforme uma classificação de afastamentoSim

valorApurado = afastamento.totalAfastamento(ClassificacaoTipoAfastamento.LICENCA_SEM_VENCIMENTOS);

afastamento

isFerias()


Retorna um boolean indicando se na data de apuração o servidor possui afastamento por férias.

if ( afastamento.isFerias() ){
imprimir "Servidor possui férias na data de apuração"
}else{
imprimir "Servidor NÃO possui férias na data de apuração"
}

afastamento

trabalhando()


Retorna um boolean indicando se na data de apuração o servidor está trabalhando, ou seja, retorna true quando NÃO existe nenhum afastamento de qualquer classificação na data de apuração.

if ( !afastamento.trabalhando() ){
imprimir "Servidor está afastado na data de apuração"
}

afastamento

existeAfastamento()


Retorna um boolean indicando se existe afastamento na data informada, buscando pela classificação ou pela descrição do tipo de afastamento. A data pode estar fora do período de apuração.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoAfastamento ou descriçãoInforme uma classificação de afastamento ou a descrição do tipo de afastamento, campo "Descrição" do cadastro de tipos de afastamentoSim
dataData a ser verificadaSim
//Verifica pela classificação do tipo de afastamento
if ( afastamento.existeAfastamento(ClassificacaoTipoAfastamento.LICENCA_MATERNIDADE, apuracao.dataApuracaoFormatado) ){
imprimir "Servidora em licença maternidade na data de apuração"
}

//Verifica pela descrição do tipo de afastamento no dia anterior à apuração
if ( afastamento.existeAfastamento('Licença prêmio', Datas.removeDias(apuracao.dataApuracaoFormatado, 1)) ){
imprimir "Servidor estava em licença prêmio no dia anterior"
}

Ausência:​


ausencia

totalAusencia()


Permite buscar as ausências do cadastro de ausências, retornando qualquer tipo de ausência na data de apuração. O retorno é a soma das ausências em horas, quando a ausência não possuir horas informadas é considerada a carga horária do dia.

totalAusencia = ausencia.totalAusencia()

if ( totalAusencia > 0 ){
imprimir "O servidor possui alguma ausência neste dia"
valorApurado = totalAusencia
}

ausencia

totalAusencia(ClassificacaoTipoAusencia, abonada)

Permite buscar as ausências do cadastro de ausências, retornando ausência da mesma classificação informada por parâmetro existente na data de apuração. É possível filtrar as ausências abonadas e não abonadas, caso não seja informado o parâmetro retorna ambas. O retorno é a soma das ausências em horas.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoAusenciaInforme uma classificação de tipo de ausênciaSim
abonadaPermite filtrar por ausências abonadas (true) e não abonadas (false), quando este parâmetro não for informado retornará ambasNão
//Retorna as ausências do tipo curso na data de apuração, abonadas ou não
totalCurso = ausencia.totalAusencia(ClassificacaoTipoAusencia.CURSO)

//Retorna somente as ausências do tipo curso abonadas na data de apuração
totalCursoAbonado = ausencia.totalAusencia(ClassificacaoTipoAusencia.CURSO, true)

ausencia

totalAusencia(ClassificacaoTipoAusencia, dataInicial, dataFinal)

Permite buscar as ausências do cadastro de ausências da classificação informada, lançadas dentro do período informado, independente da data de apuração. O retorno é a soma das ausências em horas, multiplicando as horas da ausência pela quantidade de dias dentro do período.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoAusenciaInforme uma classificação de tipo de ausênciaSim
dataInicialData inicial do períodoSim
dataFinalData final do períodoSim
//atribui uma classificação de tipo de ausência a uma variável
tipo = ClassificacaoTipoAusencia.AUSENCIA_TRABALHO

valorApurado = ausencia.totalAusencia(tipo, apuracao.dataInicial, apuracao.dataFinal)

ausencia

totalAusenciaPorDescricao()

Permite buscar as ausências do cadastro de ausências pela descrição do tipo de ausência. Quando informado somente a descrição, retorna as ausências da data de apuração. Quando informado o período, retorna as ausências lançadas dentro do período, independente da data de apuração. O retorno é a soma das ausências em horas.

ParâmetroDescriçãoObrigatório
descricaoDescrição do tipo de ausência, campo "Descrição" do cadastro de tipos de ausênciaSim
dataInicialData inicial do períodoNão
dataFinalData final do período, se a data inicial for informada então este campo se torna obrigatórioNão
//Retorna as ausências do tipo 'Doação de sangue' na data de apuração
totalDoacao = ausencia.totalAusenciaPorDescricao('Doação de sangue')

//Retorna as ausências do tipo 'Doação de sangue' no período de apuração
totalDoacaoPeriodo = ausencia.totalAusenciaPorDescricao('Doação de sangue', apuracao.dataInicial, apuracao.dataFinal)

ausencia

buscaAusencias()

Permite buscar as ausências do cadastro de ausências de uma ou mais classificações, lançadas dentro do período informado. Retorna uma lista de ausências, caso algum parâmetro não seja informado retorna uma lista vazia.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoAusenciaInforme uma lista de classificações de tipo de ausênciaSim
dataInicialData inicial do períodoSim
dataFinalData final do períodoSim
tiposAusencia = [ClassificacaoTipoAusencia.CURSO,
ClassificacaoTipoAusencia.TREINAMENTO]

ausencia.buscaAusencias(tiposAusencia, apuracao.dataInicial, apuracao.dataFinal).each{ a ->
imprimir "tipo $a.tipoAusencia"
imprimir "data inicial $a.dataInicial"
imprimir "data final $a.dataFinal"
imprimir "horas $a.horas"
imprimir "abonar $a.abonar"
imprimir "observacao $a.observacao"
}

Campos disponíveis em ausencia.buscaAusencias():

  1. matricula - Id da matrícula
  2. tipoAusencia - Descrição do tipo de ausência
  3. dataInicial - Data inicial da ausência no formato yyyy-MM-dd
  4. dataFinal - Data final da ausência no formato yyyy-MM-dd
  5. horas - Horas diárias da ausência, quando a ausência não possuir horas informadas é considerada a carga horária do dia
  6. abonar - Se a ausência é abonada, retorna um boolean
  7. observacao - Observação da ausência

Apuração:​

apuracao

dataApuracaoFormatado - Retorna a data que está sendo apurada em formato de data, utilizada na passagem de parâmetros das funções
dataApuracao - Retorna a data que está sendo apurada no formato yyyy-MM-dd (LocalDate)
dataInicial - Retorna a data inicial do período de apuração da data que está sendo apurada
dataFinal - Retorna a data final do período de apuração da data que está sendo apurada
dataInicialCompetencia - Retorna a data inicial da competência do período de apuração
dataFinalCompetencia - Retorna a data final da competência do período de apuração

//atribui a data de apuração a uma variável
dataApuracaoYMD = apuracao.dataApuracao;

//atribui a data inicial e final do período de apuração a variáveis
dataInicial = apuracao.dataInicial
dataFinal = apuracao.dataFinal

//atribui a data inicial e final da competência do período de apuração a variáveis
dataInicialCompetencia = apuracao.dataInicialCompetencia
dataFinalCompetencia = apuracao.dataFinalCompetencia

//atribui a data de apuração a uma variável
dataApuracao = apuracao.dataApuracaoFormatado

//Verifica se a data de apuração é o último dia do período
if ( dataApuracao.equals(dataFinal) ){
imprimir "Este trecho de código irá ser verificado somente no último dia do período de apuração"
}

//Verifica se a data de apuração é o primeiro dia do período
if ( dataApuracao.equals(dataInicial) ){
imprimir "Este trecho de código irá ser verificado somente no primeiro dia do período de apuração"
}

Compensação:​

compensacao

inserirCompensacaoHoras()

Permite inserir um registro de compensação de horas usando o valor da ocorrência ou qualquer outro valor de acordo com as regras solicitadas pelo cliente. Uma compensação inserida por esta função ficará com situação pendente de fechamento no cadastro de compensação de horas até o fechamento do período de apuração. Retorna true quando o registro foi inserido.

ParâmetroDescriçãoObrigatório
dataInforme a data do lançamento da compensação de horasSim
quantidadeHorasInforme a quantidade de horas para lançamento, formato de valorSim
TipoCompensacaoHorasInforme um tipo de compensação de horasSim
observacaoObservação do lançamento, se não informada será gravado "Compensação criado através do processo de apuração, ocorrência: código da ocorrência"Não
percentualPercentual da compensação de horas, se a observação for informada então este campo se torna obrigatórioNão
/**
* Utilizado na ocorrência : 1000 - SALDO NEGATIVO DO PERÍODO (COMPENSAR)
* Esta fórmula apura somente no último dia do período de apuração
* a) Verifica se a matrícula compensa horas
* b) Verifica se data de apuração é igual ao último dia do período de apuração
* c) Soma as ocorrências de horas extras e horas faltas
* d) Verifica se o saldo é negativo
* e) insere um registro do tipo COMPENSACAO_HORAS_EXTRAS no cadastro de compensação de horas
*/

if ( matricula.isCompensacaoHoras() ){

if ( apuracao.dataApuracaoFormatado.equals(apuracao.dataFinal) ){

dataInicial = apuracao.dataInicial
dataFinal = apuracao.dataFinal

imprimir "Data inicial do período - $dataInicial"
imprimir "Data final do período - $dataFinal"

extras = Ocorrencias.valor(3, dataInicial, dataFinal);
extras += Ocorrencias.valor(4, dataInicial, dataFinal);

faltas = Ocorrencias.valor(5, dataInicial, dataFinal);
faltas += Ocorrencias.valor(6, dataInicial, dataFinal);

saldo = 0;

if ( faltas > extras ){
saldo = faltas - extras;
compensacao.inserirCompensacaoHoras(apuracao.dataFinal, saldo, TipoCompensacaoHoras.COMPENSACAO_HORAS_EXTRAS)

//ou informando observação e percentual
//compensacao.inserirCompensacaoHoras(apuracao.dataFinal, saldo, TipoCompensacaoHoras.COMPENSACAO_HORAS_EXTRAS, 'Saldo negativo do período', 100)
}

valorApurado = saldo;
}
}

compensacao

buscaCompensacaoHoras()

Permite buscar registros de compensação de horas informando um período, tipos e se deseja retornar somente compensações efetivadas. Retorna uma lista de compensações de horas.

ParâmetroDescriçãoObrigatório
dataInicialInforme a data inicial do período de busca das compensações de horasSim
dataFinalInforme a data final do período de busca das compensações de horasSim
TipoCompensacaoHorasInforme uma lista de tipos de compensação de horasSim
somenteEfetivadasInforme true para retornar somente compensações efetivadas ou false para retornar somente as pendentes de fechamentoSim
percentualSe informado retorna somente as compensações com o mesmo percentualNão
/**
* A função compensacao.buscaCompensacaoHoras() permite buscar nas compensações já existentes do servidor a fim de realizar controle
* como por exemplo verificar o saldo existente no banco de horas para tomada de decisão.
* Essa função retorna uma lista de compensações, podendo ser utilizados alguns filtros na busca, o que deixa o uso bastante flexível
* possibilitando atender a necessidade de configuração de qualquer cliente.
*/

dataInicial = apuracao.dataInicial
dataFinal = apuracao.dataFinal

tiposCompensacao = [TipoCompensacaoHoras.HORAS_EXTRAS_VER,
TipoCompensacaoHoras.COMPENSACAO_HORAS_EXTRAS]

compensacao.buscaCompensacaoHoras(dataInicial, dataFinal, tiposCompensacao, true).each{ c->
imprimir "id $c.id"
imprimir "tipo $c.tipo"
imprimir "data $c.data"
imprimir "horas $c.horas"
imprimir "percentual $c.percentual"
imprimir "observacao $c.observacao"
imprimir "situacao $c.situacao"
}

//Busca somente as compensações efetivadas com percentual de 50%
compensacoes50 = compensacao.buscaCompensacaoHoras(dataInicial, dataFinal, tiposCompensacao, true, 50)

Campos disponíveis em compensacao.buscaCompensacaoHoras():

  1. id - Id da compensação de horas
  2. tipo - Tipo de compensação de horas
  3. data - Data da compensação de horas no formato yyyy-MM-dd
  4. horas - Horas do registro de compensação de horas em formato de duração, utilize horas.toMinutes() para obter o total em minutos
  5. percentual - Percentual da compensação de horas
  6. observacao - Observação da compensação de horas
  7. situacao - Situação da compensação de horas

Enquadramento:​

enquadramento

marcacoes


Retorna a lista de marcações que passaram no processo de apuração na data apurada. Retorna uma lista de marcações.

/**
* O retorno desta variável é uma lista que pode ser manipulada conforme necessidade
*/

//Conta a quantidade de marcacoes utilizando o .size()
int quantidadeMarcacoes = enquadramento.marcacoes.size()

//Verifica se existem marcações ímpares
if ( Numeros.resto(quantidadeMarcacoes, 2) ){
imprimir "possui marcações ímpares"
}

//Interage na lista de marcações utilizando o .each()
enquadramento.marcacoes.each{ m ->
imprimir "sequencial : $m.sequencial"
imprimir "data e hora : $m.dataHora"
imprimir "classificacao : $m.classificacao"
imprimir "origem : $m.origem"
imprimir "classificacao do motivo : $m.classificacaoMotivo"
}

Campos disponíveis em enquadramento.marcacoes:

  1. sequencial - Sequencial da marcação apurada
  2. dataHora - Data e hora da marcação
  3. classificacao - Classificação do tipo de função do relógio
  4. origem - Origem da marcação
  5. classificacaoMotivo - Classificação do motivo de alteração do ponto

enquadramento

horas()

Retorna a quantidade de horas enquadradas na apuração conforme o tipo de horas e tipo de período informado. Retorna um valor decimal de horas. As horas noturnas são retornadas já convertidas em hora noturna reduzida (52 minutos e 30 segundos).

ParâmetroDescriçãoObrigatório
tipoHorasInforme um tipo de hora, trabalhadas, trabalhadas com tolerância, extras ou faltasSim
tipoPeriodoInforme um tipo de período, diurno ou noturno. Se não informado retorna todosNão
//Retorna a quantidade de horas trabalhadas gerais na data de apuração
horasTrabalhadasGerais = enquadramento.horas(TipoHoras.TRABALHADAS)

//Retorna a quantidade de horas trabalhadas diurnas na data de apuração
horasTrabalhadasDiurnas = enquadramento.horas(TipoHoras.TRABALHADAS, TipoPeriodo.DIURNA)

//Retorna a quantidade de horas trabalhadas noturnas na data de apuração
horasTrabalhadasNoturnas = enquadramento.horas(TipoHoras.TRABALHADAS, TipoPeriodo.NOTURNAS)

//Retorna a quantidade de horas trabalhadas considerando as tolerâncias do horário
horasTrabalhadasTolerancia = enquadramento.horas(TipoHoras.TRABALHADAS_TOLERANCIA)

//Mesmas utilizações podem ser aplicadas a extras e faltas
horasExtrasDiurnas = enquadramento.horas(TipoHoras.EXTRAS, TipoPeriodo.DIURNA)
horasExtrasNoturnas = enquadramento.horas(TipoHoras.EXTRAS, TipoPeriodo.NOTURNAS)
horasFaltasDiurnas = enquadramento.horas(TipoHoras.FALTAS, TipoPeriodo.DIURNA)
horasFaltasNoturnas = enquadramento.horas(TipoHoras.FALTAS, TipoPeriodo.NOTURNAS)

enquadramento

jornada.descricao - Retorna a descrição da jornada de trabalho do dia apurado
jornada.tipo - Retorna o tipo da jornada de trabalho
jornada.isRevezamento() - Retorna true se a jornada de trabalho é de revezamento, caso contrário retorna false
jornada.escala - Retorna a descrição da escala da jornada de trabalho, somente quando a jornada é de revezamento
jornada.tipoRevezamento - Retorna o tipo de revezamento da jornada de trabalho
jornada.inicioRevezamento - Retorna a data e hora de início do revezamento da jornada de trabalho
jornada.horasDSR - Retorna as horas do DSR da jornada de trabalho no formato HH:mm
jornada.camposAdicionais.busca("campo") - Busca o campo adicional da jornada de trabalho pelo nome

//Verifica se a jornada de trabalho do dia apurado é de revezamento
if ( enquadramento.jornada.isRevezamento() ){
imprimir "Jornada de revezamento : $enquadramento.jornada.descricao"
imprimir "Escala : $enquadramento.jornada.escala"
imprimir "Início do revezamento : $enquadramento.jornada.inicioRevezamento"
}

imprimir "Horas do DSR : $enquadramento.jornada.horasDSR"

Estagiário:​

estagiario

estagiario.camposAdicionais - Se for utilizada em uma matrícula que não é um estagiário dispara um erro "A matrícula não é do tipo estagiario".
camposAdicionais.busca("campo") - Busca o campo adicional pelo nome, segue a mesma regra de busca dos campos adicionais do funcionário.

if ( matricula.tipo.equals('ESTAGIARIO') ){
instituicao = estagiario.camposAdicionais.busca('instituicaoEnsino')
imprimir "Instituição de ensino : $instituicao"
}

Eventos extraordinários:​

EventosExtraordinarios

busca()


Permite buscar as convocações da matrícula apurada no cadastro de eventos extraordinários. Retorna uma lista de convocações.

ParâmetroDescriçãoObrigatório
dataInicioData de início da convocaçãoSim
dataFimData de fim da convocaçãoSim
descricaoDescrição do evento extraordinárioSim
concederFolgaInforme true ou false conforme o campo "Conceder folga" da convocaçãoSim
EventosExtraordinarios.busca(apuracao.dataInicial, apuracao.dataFinal, 'Eleições', true).each{ e ->
imprimir "evento : $e.descricao"
imprimir "convocação : $e.dataInicioConvocacao a $e.dataFimConvocacao"
imprimir "folga : $e.dataInicioFolga a $e.dataFimFolga"
}

Campos disponíveis em EventosExtraordinarios.busca():

  1. descricao - Descrição do evento extraordinário
  2. dataInicioEvento - Data de início do evento no formato yyyy-MM-dd
  3. dataFimEvento - Data de fim do evento no formato yyyy-MM-dd
  4. dataInicioConvocacao - Data de início da convocação no formato yyyy-MM-dd
  5. dataFimConvocacao - Data de fim da convocação no formato yyyy-MM-dd
  6. dataInicioFolga - Data de início da folga no formato yyyy-MM-dd
  7. dataFimFolga - Data de fim da folga no formato yyyy-MM-dd
  8. concederFolga - Se a convocação concede folga, retorna um boolean
  9. observacao - Observação da convocação

Falta:​

Falta

defineCargaHoraria()


Define o valor da carga horária gravada na ocorrência apurada. Somente tem efeito em ocorrências de classificação FALTA.

ParâmetroDescriçãoObrigatório
cargaHorariaCarga horária, formato de valorSim
if ( ocorrencia.classificacao.equals(ClassificacaoOcorrencia.FALTA) ){
Falta.defineCargaHoraria(horario.cargaHoraria)
}

Feriado:​

feriado

isFeriado() - Retorna true se a data de apuração é um feriado, caso contrário retorna false
isPontoFacultativo() - Retorna true se a data de apuração é um feriado facultativo, caso contrário retorna false
quantidadeFeriado() - Retorna a quantidade de feriados dentro do período de apuração

//Verifica se a data de apuração é um feriado
if (feriado.isFeriado()){
imprimir "A data de apuração é um feriado"
}

//Verifica se a data de apuração é um ponto facultativo
if (feriado.isPontoFacultativo()){
imprimir "A data de apuração é um feriado facultativo"
}

//Conta a quantidade de feriados no período de apuração
int quantidadeFeriados = feriado.quantidadeFeriado()

feriado

consulta()


Verifica se a data informada é um feriado, a data pode estar fora do período de apuração. Retorna um boolean.

ParâmetroDescriçãoObrigatório
dataData a ser verificadaSim
pontoFacultativoSe informado true retorna verdadeiro somente quando a data for um feriado do tipo ponto facultativoNão
//Verifica se o dia anterior à apuração foi feriado
if ( feriado.consulta(Datas.removeDias(apuracao.dataApuracaoFormatado, 1)) ){
imprimir "O dia anterior foi feriado"
}

//Verifica se o próximo dia é ponto facultativo
if ( feriado.consulta(Datas.adicionaDias(apuracao.dataApuracaoFormatado, 1), true) ){
imprimir "O próximo dia é ponto facultativo"
}

Funcionário:​

funcionario

funcionario.camposAdicionais - Se for utilizada em uma matrícula que não é um funcionário dispara um erro "A matrícula não é do tipo funcionário".
camposAdicionais.busca("campo") - Busca o campo adicional pelo nome. O nome do campo é obrigatório, se não for informado é disparado um erro "É necessário informar o nome do campo a buscar". Retorna o primeiro valor não nulo do campo, primeiro é feita a busca na lista de campos com identificador padrão, se não encontrar o campo ou ele tiver um valor nulo, irá buscar o campo pelo nome em outros identificadores.

if ( matricula.tipo.equals('FUNCIONARIO') ){
adicionalNoturno = funcionario.camposAdicionais.busca('recebeAdicionalNoturno')
imprimir "Recebe adicional noturno : $adicionalNoturno"
}

Hora:​

hora

totalHorasInterjornada() - Retorna a quantidade de horas de interjornada, ou seja, as horas entre a última marcação do último dia trabalhado anterior e a primeira marcação da data de apuração, desconsiderando os dias de folga entre eles. Retorna 0 quando não houver marcações ou quando a data de apuração for folga

//Verifica se o servidor cumpriu o tempo mínimo de interjornada
horasInterjornada = hora.totalHorasInterjornada()

if ( horasInterjornada > 0 && horasInterjornada < parametros.minimoInterjornada() ){
imprimir "Servidor não cumpriu o tempo mínimo de interjornada"
valorApurado = parametros.minimoInterjornada() - horasInterjornada
}

Horário:​

horario

cargaHoraria - Retorna a carga horária diária conforme o cadastro de horários
flexivel - Retorna true se o campo Horário flexível do cadastro de horários estiver marcado, caso contrário retorna false
codigo - Retorna o código do horário
descricao - Retorna a descrição do horário
entrada - Retorna o horário de entrada do trabalho, em formato de duração
saida - Retorna o horário de saída do trabalho, em formato de duração
horaInicialAlocacao - Retorna a hora inicial para alocar as marcações referentes ao dia de apuração, em formato de duração
toleranciaMaximaAlocacao - Retorna a tolerância máxima para alocar marcações após a hora inicial de alocação, em formato de duração
toleranciaMinimaEntrada - Retorna o horário mínimo da entrada para que não gere horas extras, em formato de duração
toleranciaMaximaEntrada - Retorna o horário máximo da entrada para que não gere horas faltas, em formato de duração
toleranciaMinimaSaida - Retorna o horário mínimo da saída para que não gere horas faltas, em formato de duração
toleranciaMaximaSaída - Retorna o horário máximo da saída para que não gere horas extras, em formato de duração. Atenção, o nome possui acento
toleranciaHoraExtra - Retorna a tolerância de tempo para que não gere horas extras no horário flexível, em formato de duração
toleranciaHorasFaltas - Retorna a tolerância de tempo para que não gere horas faltas no horário flexível, em formato de duração
intervalos - Retorna uma lista dos intervalos do horário de trabalho
intervalosFlexivel() - Retorna uma lista dos intervalos do horário flexível, se o horário não for flexível retorna uma lista vazia

//Retorna a carga horária
cargaHoraria = horario.cargaHoraria;

if ( horario.flexivel ){
imprimir "Horário é do tipo flexível"

//Se não possui marcações retorna a carga horária
if ( enquadramento.marcacoes.size().equals(0) ){
valorApurado = cargaHoraria
}

horario.intervalosFlexivel().each{ i ->
imprimir "intervalo de $i.inicio a $i.fim, duração de ${i.duracao.toMinutes()} minutos"
}
}

//Os campos em formato de duração podem ser convertidos em minutos
imprimir "Horário $horario.codigo - $horario.descricao"
imprimir "Entrada em minutos : ${horario.entrada.toMinutes()}"
imprimir "Saída em minutos : ${horario.saida.toMinutes()}"

horario.intervalos.each{ i ->
imprimir "intervalo $i.descricao de $i.entrada a $i.saida"
}

Campos disponíveis em horario.intervalos:

  1. id - Id do intervalo
  2. descricao - Descrição do intervalo
  3. entrada - Hora de entrada do intervalo no formato HH:mm
  4. saida - Hora de saída do intervalo no formato HH:mm
  5. toleranciaAnteriorEntrada - Tolerância anterior à entrada, em formato de duração
  6. toleranciaPosteriorEntrada - Tolerância posterior à entrada, em formato de duração
  7. toleranciaAnteriorSaida - Tolerância anterior à saída, em formato de duração
  8. toleranciaPosteriorSaida - Tolerância posterior à saída, em formato de duração
  9. geraMarcacaoAutomaticaEntrada - Se gera marcação automática na entrada, retorna um boolean
  10. geraMarcacaoAutomaticaSaida - Se gera marcação automática na saída, retorna um boolean
  11. geraMarcacaoAutomaticaFeriado - Se gera marcação automática em feriados, retorna um boolean

Campos disponíveis em horario.intervalosFlexivel():

  1. inicio - Hora de início do intervalo no formato HH:mm
  2. fim - Hora de fim do intervalo no formato HH:mm
  3. duracao - Duração do intervalo, em formato de duração

Jornada:​

jornada

getClassificacaoPeriodo()

Retorna a classificação do período (cadastro de jornada de trabalho) na data passada por parâmetro. Retorna uma classificação de período: normal, compensado ou folga. Para datas anteriores à data de apuração é considerada a jornada de trabalho vigente no histórico da matrícula.

ParâmetroDescriçãoObrigatório
dataApuracaoInforme a data a ser verificadaSim
//Verifica se um horário da data de apuração é do tipo folga
if ( jornada.getClassificacaoPeriodo(apuracao.dataApuracaoFormatado).equals(TipoClassificacaoPeriodo.FOLGA) ){
imprimir "Este dia é uma folga"
}

//Verifica se um horário da data de apuração é do tipo normal
if ( jornada.getClassificacaoPeriodo(apuracao.dataApuracaoFormatado).equals(TipoClassificacaoPeriodo.NORMAL) ){
imprimir "Este dia é um dia de trabalho normal"
}

jornada

getSaldoDsr()

Retorna o saldo de horas de descanso semanal remunerado. Retorna um valor de saldo.

ParâmetroDescriçãoObrigatório
TipoClassificacaoPeriodoInforme um tipo de período, normal, compensado ou folgaSim
//retorna o saldo de dsr das datas de apuração do tipo folga
saldo = jornada.getSaldoDsr(TipoClassificacaoPeriodo.FOLGA)

jornada

descricao - Retorna a descrição da jornada de trabalho
tipo - Retorna o tipo da jornada de trabalho
isRevezamento() - Retorna true se a jornada de trabalho é de revezamento, caso contrário retorna false
tipoCompensacao - Retorna o tipo de compensação da jornada de trabalho
isHorarioNoturno() - Retorna true se a jornada de trabalho é de horário noturno, caso contrário retorna false
horasDSR - Retorna as horas do DSR da jornada de trabalho no formato HH:mm
camposAdicionais.busca("campo") - Busca o campo adicional da jornada de trabalho pelo nome

imprimir "Jornada : $jornada.descricao"

if ( jornada.tipo.toString().equals('TURNO_CORRIDO') ){
imprimir "Jornada do tipo turno corrido"
}

if ( jornada.isHorarioNoturno() ){
imprimir "Jornada de horário noturno"
}

if ( jornada.tipoCompensacao.toString().equals('SEMANA') ){
imprimir "Jornada com compensação semanal"
}

valorDiferenciado = jornada.camposAdicionais.busca('valorDiferenciado')

Marcação:​

marcacao

totalHorasFuncao()

Calcula o total de horas entre os pares da função de classificação passada por parâmetro. Retorna um valor decimal de horas.

ParâmetroDescriçãoObrigatório
ClassificacaoTipoFuncaoRelogioInforme uma classificação de tipo de função de relógioSim
//retorna o tempo de lanche
horasLanche = marcacao.totalHorasFuncao(ClassificacaoTipoFuncaoRelogio.LANCHE)

//Se passar de 15 minutos
if ( horasLanche > 0.25 ){
imprimir "O servidor fez mais de 15 minutos de lanche"
}

marcacao

totalHorasFuncaoPorCodigo()

Calcula o total de horas entre os pares da função do relógio com o código de representação passado por parâmetro, campo "Representação" do cadastro de funções dos relógios. Retorna um valor decimal de horas.

ParâmetroDescriçãoObrigatório
codigoRepresentacaoInforme o código de representação da função do relógioSim
//retorna o tempo das marcações da função de relógio de representação 5
horasFuncao = marcacao.totalHorasFuncaoPorCodigo(5)

marcacao

numeroMarcacoes()

Retorna a quantidade de marcações conforme os parâmetros informados, considerando também as marcações automáticas.

ParâmetroDescriçãoObrigatório
classificacaoInforme uma classificação de tipo de função de relógio, se não informada retorna de todasNão
diaApuracaoInforme uma data de apuração, caso não for informado será considerada a data da apuraçãoNão

//Retorna a quantidade de marcações de todas as classificações
quantidadeMarcacoes = marcacao.numeroMarcacoes()

//Verifica a quantidade de saídas particulares
quantidadeSaidas = marcacao.numeroMarcacoes(ClassificacaoTipoFuncaoRelogio.SAIDA_PARTICULAR)

//Verifica a quantidade de saídas particulares no dia anterior à apuração
quantidadeSaidasDiaAnterior = marcacao.numeroMarcacoes(ClassificacaoTipoFuncaoRelogio.SAIDA_PARTICULAR, Datas.removeDias(apuracao.dataApuracaoFormatado, 1))

Matrícula:​

matricula

isCompensacaoHoras() - Retorna true ou false conforme o campo Compensa horas? do cadastro de matrículas
isRegistraPonto() - Retorna true ou false conforme o campo Registra ponto? do cadastro de matrículas
tipo - Retorna o tipo da matrícula: FUNCIONARIO, ESTAGIARIO, AUTONOMO, APOSENTADO ou PENSIONISTA
nome - Retorna o nome da pessoa da matrícula
cpf - Retorna o CPF da pessoa da matrícula
pis - Retorna o PIS da pessoa da matrícula
dataNascimento - Retorna a data de nascimento da pessoa da matrícula
numeroMatricula - Retorna o código da matrícula
contratoMatricula - Retorna o número do contrato da matrícula, se não possuir retorna vazio
codigoContrato() - Retorna o código da matrícula e o número do contrato no formato código/contrato
dataInicioContrato - Retorna a data de início do contrato da matrícula
cartaoPonto - Retorna o número do cartão ponto da matrícula
descricaoCargo(TipoCargo.CARGO) - Parâmetro TipoCargo é obrigatório e tem dois valores CARGO e CARGO_COMISSIONADO a função retorna a descrição do cargo dependendo do tipo informado pelo parâmetro. É considerado o histórico de matricula vigente no dia sendo apurado. Se não for encontrado a descrição a função retorna o valor "Não informado"
descricaoOrganograma - Retorna a descrição do organograma da matrícula, se não possuir retorna "Não informada"
numeroOrganograma - Retorna o número do organograma da matrícula, se não possuir retorna "Número não encontrado"
descricaoGrupoFuncional - Retorna a descrição do grupo funcional da matrícula, se não possuir retorna "Não informada"
descricaoVinculoEmpregaticio - Retorna a descrição do vínculo empregatício da matrícula, se não possuir retorna "Não informada"

imprimir "matricula.isCompensacaoHoras() : " + matricula.isCompensacaoHoras()
if ( matricula.isCompensacaoHoras() ){
compensacao.inserirCompensacaoHoras(apuracao.dataApuracaoFormatado, saldo, TipoCompensacaoHoras.COMPENSACAO_HORAS_EXTRAS)
}

imprimir "Matrícula : " + matricula.codigoContrato() + " - $matricula.nome"
imprimir "Cargo : " + matricula.descricaoCargo(TipoCargo.CARGO)
imprimir "Cargo comissionado : " + matricula.descricaoCargo(TipoCargo.CARGO_COMISSIONADO)
imprimir "Organograma : $matricula.numeroOrganograma - $matricula.descricaoOrganograma"
imprimir "Vínculo : $matricula.descricaoVinculoEmpregaticio"

//Verifica o vínculo empregatício da matrícula
if ( matricula.descricaoVinculoEmpregaticio.equals('Estatutário') ){
imprimir "Servidor estatutário"
}

//Calcula a idade do servidor na data de apuração
int idade = Funcoes.idade(matricula.dataNascimento, apuracao.dataApuracaoFormatado)

Ocorrência:​

ocorrencia

classificacao - Retorna a classificação da ocorrência
gerarVariaveisCalculo - Retorna true ou false se a ocorrência está marcada para gerar lançamento na folha
sigla - Retorna a sigla da ocorrência
codigo - Retorna o código da ocorrência
descricao - Retorna a descrição da ocorrência
situacao - Retorna true se a ocorrência está ativa, caso contrário retorna false

//Verifica a classificação da ocorrência
if ( ocorrencia.classificacao.equals(ClassificacaoOcorrencia.ABONO) ){
imprimir "Esta é uma ocorrência de classificação abono"
}

//Verifica o código da ocorrência
if ( ocorrencia.codigo == 10 ){
imprimir "O código da ocorrência é igual a 10"
}

//Verifica se a descrição inicia com...TESTE
if ( ocorrencia.descricao.toString().startsWith(/TESTE/)){
imprimir "A descrição da ocorrência inicia com 'TESTE'"
}

//Verifica a sigla da ocorrência
if ( ocorrencia.sigla.equals('EXTRA')){
imprimir "A sigla da ocorrência $ocorrencia.descricao é 'EXTRA'"
}

//Verifica se ocorrência esta marcada para gerar lançamentos na folha
if ( ocorrencia.gerarVariaveisCalculo){
imprimir "Esta ocorrência gera lançamentos na folha"
}

Ocorrências:​

Ocorrencias

valor()


Retorna o valor apurado de uma ocorrência na data de apuração ou a soma dos valores apurados no período informado. São considerados somente os valores maiores que zero. Retorna um valor decimal de horas.

ParâmetroDescriçãoObrigatório
codigoInforme um código de uma ocorrênciaSim
dataInicialInforme a data inicial para buscar os valores apurados da ocorrência, se não for informado retornará apenas a ocorrência da data de apuraçãoNão
dataFinalInforme a data final para buscar os valores apurados da ocorrência, se a data inicial for informada então este campo se torna obrigatório. Quando a data final for igual ou posterior ao último dia do período de apuração, será considerado até o dia anterior à data de apuraçãoNão
/**
* Quando utilizar somente Ocorrencias.valor(codigo), não deverá buscar da própria ocorrência que esta sendo apurada, isso irá gerar uma dependência cíclica
* Quando estiver buscando por data poderá buscar da própria ocorrência, no entanto neste caso a data não dever ser ou conter a data de apuração
* Se a busca for de outra ocorrência poderá neste caso conter a data de apuração na seleção
*/

//Busca o saldo da ocorrência 3 na data de apuração
valorExtra = Ocorrencias.valor(3);

//Busca o saldo da ocorrência 3 até o dia anterior à apuração
valorExtraPeriodo = Ocorrencias.valor(3, apuracao.dataInicial, Datas.removeDias(apuracao.dataApuracaoFormatado, 1))

Ocorrencias

getTotalOcorrenciaPeriodo()


Retorna a soma dos valores apurados da ocorrência informada em todo o período de apuração. Retorna um valor decimal de horas. Segue as mesmas regras de dependência cíclica de Ocorrencias.valor().

ParâmetroDescriçãoObrigatório
codigoInforme um código de uma ocorrênciaSim
//Busca o total da ocorrência 3 no período de apuração
totalExtrasPeriodo = Ocorrencias.getTotalOcorrenciaPeriodo(3)

Ocorrencias

observacao()


Retorna a observação da ocorrência informada na data de apuração. Se não houver observação retorna nulo.

ParâmetroDescriçãoObrigatório
codigoInforme um código de uma ocorrênciaSim
observacaoExtra = Ocorrencias.observacao(3)

if ( observacaoExtra ){
imprimir "Observação da ocorrência 3 : $observacaoExtra"
}

Ocorrencias

setaObservacao()


Grava uma observação na ocorrência que está sendo apurada. Retorna true se a observação foi gravada.

ParâmetroDescriçãoObrigatório
observacaoTexto da observaçãoSim
if ( afastamento.isFerias() ){
Ocorrencias.setaObservacao('Servidor em férias na data de apuração')
}

Parâmetros:​

parametros

inicioPeriodoNoturno() - Retorna o parâmetro do ponto Período noturno (Início)
finalPeriodoNoturno() - Retorna o parâmetro do ponto Período noturno (final)
toleranciaDiariaExtra() - Retorna o parâmetro do ponto Tol. diária de horas extras
toleranciaDiariaFalta() - Retorna o parâmetro do ponto Tol. diária de horas faltas
marcacaoAutomatica() - Retorna o parâmetro do ponto Marcação automática
prorrogarPeriodoNoturno() - Retorna o parâmetro do ponto Prorrogar período noturno
tempoMinimoEntreBatidas() - Retorna o parâmetro do ponto Tempo mín. entre batidas
minimoInterjornada() - Retorna o parâmetro do ponto Tempo mín. de interjornada
minimoIntrajornada() - Retorna o parâmetro do ponto Tempo mín. de intrajornada
maximoIntrajornada() - Retorna o parâmetro do ponto Tempo máx. de intrajornada
saldoMaximoExtras() - Retorna o parâmetro do ponto Saldo máximo de extras
saldoMaximoFaltas() - Retorna o parâmetro do ponto Saldo máximo de faltas

/**
* As variáveis em parâmetros retorna as informações do parâmetro do ponto que esta relacionado ao servidor, seja pelo vínculo ou na própria matrícula
* As variáveis com retorno sim/não retornam um tipo boolean (true/false), as demais retornam o valor do parâmetro
* Os horários e tempos (período noturno, interjornada e intrajornada) são retornados em formato decimal de horas
*/

imprimir "inicioPeriodoNoturno : " + parametros.inicioPeriodoNoturno()
imprimir "finalPeriodoNoturno : " + parametros.finalPeriodoNoturno()
imprimir "toleranciaDiariaExtra : " + parametros.toleranciaDiariaExtra()
imprimir "toleranciaDiariaFalta : " + parametros.toleranciaDiariaFalta()
imprimir "marcacaoAutomatica : " + parametros.marcacaoAutomatica()
imprimir "prorrogarPeriodoNoturno : " + parametros.prorrogarPeriodoNoturno()
imprimir "tempoMinimoEntreBatidas : " + parametros.tempoMinimoEntreBatidas()
imprimir "minimoInterjornada : " + parametros.minimoInterjornada()
imprimir "minimoIntrajornada : " + parametros.minimoIntrajornada()
imprimir "maximoIntrajornada : " + parametros.maximoIntrajornada()
imprimir "saldoMaximoExtras : " + parametros.saldoMaximoExtras()
imprimir "saldoMaximoFaltas : " + parametros.saldoMaximoFaltas()

Valor apurado:​

valorApurado

valorApurado é a variável de retorno da ocorrência, o valor atribuído a ela será o valor final da ocorrência apurada.

/**
* Como boa prática deve-se atribuir valor apenas uma vez a valorApurado dentro de uma fórmula. Ela pode estar em condições diferentes, mas sendo atribuida apenas uma vez
*/

valorExtra = Ocorrencias.valor(3)

if ( valorExtra > 0 ){
valorApurado = valorExtra
}else{
valorApurado = Ocorrencias.valor(199)
}

Funções para fórmulas (mantidas pelo desenvolvimento)​

Em funções para fórmulas é possível criar funções para auxiliar no uso de fórmulas de ocorrências, diminuindo a complexidade delas e permitindo o re-uso de um mesmo código. As funções que contém padrão são de responsabilidade do desenvolvimento na qual podem ser editadas apenas pelo mesmo. Segue abaixo:

Função

decimalParaMinutos


Converte um valor decimal de horas em quantidade de minutos, mantendo o sinal do valor informado

ParâmetroDescriçãoObrigatório
horasDecimalValor decimal de horasSim
//Retorna 90
Long minutos = Funcoes.decimalParaMinutos(1.5)

//Retorna -90
Long minutosNegativos = Funcoes.decimalParaMinutos(-1.5)

Função

feriadosSemana - Retorna a quantidade de feriados na semana referente a data que está sendo apurada

ParâmetroDescriçãoObrigatório
consideraPontoFacultativoConsidera ponto facultativoSim
/**
* Se informado consideraPontoFacultativo true retorna todos os feriados na semana, inclusive os facultativos
*/

int quantidadeFeriados = Funcoes.feriadosSemana(true)

Função

formataHoraMinuto


Formata um valor decimal de horas no formato HH:mm, mantendo o sinal do valor informado. Se o valor informado for zero retorna vazio

ParâmetroDescriçãoObrigatório
horaDecimalValor decimal de horasSim
//Retorna '01:30'
String horas = Funcoes.formataHoraMinuto(1.5)

//Retorna '-08:45'
String horasNegativas = Funcoes.formataHoraMinuto(-8.75)

Função

horasAtestado


Retorna a soma das horas de atestado na data informada. Quando o atestado for em dias é retornada a carga horária do horário. Se a data não for classificada como normal na jornada de trabalho retorna zero

ParâmetroDescriçãoObrigatório
dataApuracaoData a ser verificadaSim
tipoAtestadoDescrição do tipo de atestado, campo "Tipo de atestado" do cadastro de atestados. Se não informado considera todos os tiposNão
//Retorna as horas de atestado de qualquer tipo na data de apuração
horasAtestado = Funcoes.horasAtestado(apuracao.dataApuracaoFormatado)

//Retorna as horas de atestado de um tipo na data de apuração
horasAtestadoMedico = Funcoes.horasAtestado(apuracao.dataApuracaoFormatado, 'Atestado médico')

Função

idade


Retorna a quantidade de anos entre as datas informadas. Se a menor data for posterior à maior data retorna zero

ParâmetroDescriçãoObrigatório
menorDataData inicial, por exemplo a data de nascimentoSim
maiorDataData finalSim
int idade = Funcoes.idade(matricula.dataNascimento, apuracao.dataApuracaoFormatado)

if ( idade >= 60 ){
imprimir "Servidor com 60 anos ou mais"
}

Função

minutosParaDecimal


Converte uma quantidade de minutos em valor decimal de horas, mantendo o sinal do valor informado

ParâmetroDescriçãoObrigatório
minutosQuantidade de minutosSim
//Retorna 1.5
horas = Funcoes.minutosParaDecimal(90)

//Retorna -1.5
horasNegativas = Funcoes.minutosParaDecimal(-90)

Função

quantidadeDiasMes


Retorna a quantidade de dias do mês conforme ano e mês passados por parâmetros

ParâmetroDescriçãoObrigatório
anoAno de referência (inteiro)Sim
mêsMês de referência (inteiro)Sim
int mes = apuracao.dataApuracaoFormatado.mes
int ano = apuracao.dataApuracaoFormatado.ano

int quantidadeDiasMes = Funcoes.quantidadeDiasMes(ano, mes);

int quantidadeDiasMesOutro = Funcoes.quantidadeDiasMes(2021, 3);

Constantes​

ClassificacaoMotivoAlteracaoPonto​

ValorDescrição
INCLUIDAMarcação incluída
DESCONSIDERADAMarcação desconsiderada
INTERVALO_BATIDASMarcação no intervalo mínimo entre batidas

ClassificacaoTipoFuncaoRelogio​

ValorDescrição
PONTOPonto
SAIDA_PARTICULARSaída particular
SAIDA_SERVICOSaída à serviço
SAIDA_MEDICASaída médica
AUSENCIAAusência
LANCHELanche
REFEICAORefeição
OUTROSOutros

ClassificacaoTipoAfastamento​

ValorDescrição
ABORTO_NAO_CRIMINOSOAborto não criminoso
ACIDENTE_DE_TRABALHO_EMPREGADORAcidente de trabalho empregador
ACIDENTE_DE_TRABALHO_PREVIDENCIAAcidente de trabalho previdência
ACIDENTE_DE_TRAJETO_EMPREGADORAcidente de trajeto empregador
ACIDENTE_DE_TRAJETO_PREVIDENCIAAcidente de trajeto previdência
DOENCA_DO_TRABALHO_EMPREGADORDoença do trabalho empregador
DOENCA_DO_TRABALHO_PREVIDENCIADoença do trabalho previdência
AUXILIO_DOENCA_EMPREGADORAuxílio doença empregador
AUXILIO_DOENCA_PREVIDENCIAAuxílio doença previdência
ACOMPANHAR_MEMBRO_DA_FAMILIA_ENFERMOAcompanhar membro da família enfermo
ADOCAO_GUARDA_JUDICIAL_DE_CRIANCAAdoção/guarda judicial de criança
APOSENTADORIA_POR_INVALIDEZAposentadoria por invalidez
CANDIDATO_A_CARGO_ELETIVOCandidato a cargo eletivo
CARCERECárcere
CEDENCIACedência
FALTAFalta
FERIASFérias
LICENCA_COM_VENCIMENTOSLicença COM vencimentos
LICENCA_SEM_VENCIMENTOSLicença SEM vencimentos
LICENCA_MATERNIDADELicença maternidade
MANDATO_ELEITORAL_COM_REMUNERACAOMandato eleitoral COM remuneração
MANDATO_ELEITORAL_SEM_REMUNERACAOMandato eleitoral SEM remuneração
MANDATO_SINDICALMandato sindical
MULHER_VITIMA_DE_VIOLENCIA_LEI_MARIA_DA_PENHAMulher vítima de violência (Lei Maria da Penha)
PRORROGACAO_DA_LICENCA_MATERNIDADEProrrogação da licença maternidade
SERVICO_MILITARServiço militar
SERVIDOR_PUBLICO_EM_DISPONIBILIDADEServidor público em disponibilidade
SUSPENSAO_DISCIPLINAR_ART474_CLTSuspensão disciplinar Art.474 CLT
SUSPENSAO_DO_CONTRATO_ART476_CLTSuspensão do contrato Art.476 CLT
APOSENTADOAposentado
DEMITIDODemitido
AUSENCIA_LEGALAusência Legal
PRORROGACAO_DA_LICENCA_MATERNIDADE_11_770Prorrogação da licença maternidade lei 11.770
REINTEGRACAO_SEM_PERDAS_DIREITOReintegração sem perdas de direito
REINTEGRACAO_COM_PERDAS_DIREITOReintegração com perdas de direito
CANDIDATO_A_CARGO_ELETIVO_CELETISTACandidato a cargo eletivo celetista
LICENCA_COM_VENCIMENTOS_LIBERDADE_DA_EMPRESA_ACTLicença COM vencimentos por liberalidade da empresa ou acordo coletivo
LICENCA_NAO_REMUNERADALicença não remunerada
MANDATO_ELETIVO_PARA_CARGO_EM_COMISSAOMandato eletivo para cargo em comissão
PARTICIPACAO_CONSELHO_CNPS_LEI_8_213_1991Participação no Conselho Nacional de Previdência Social (Lei 8.213/1991)
REPRESENTANTE_SINDICALRepresentante sindical
SUSPENSAO_DO_CONTRATO_LEI_14_020_2020_CORONAVIRUSSuspensão do contrato (Lei 14.020/2020 - Coronavírus)
TRABALHADOR_AVULSO_IMPEDIMENTO_DE_CONCORRENCIA_A_ESCALATrabalhador avulso impedido de concorrer à escala
TRABALHADOR_AVULSO_INATIVIDADE_DE_TRABALHO_MAIOR_QUE_90_DIASTrabalhador avulso com inatividade de trabalho maior que 90 dias
SUSPENSAO_DE_PAGAMENTO_DE_SERVIDOR_PUBLICO_POR_NAO_RECADASTRAMENTOSuspensão de pagamento de servidor público por não recadastramento
EXERCICIO_EM_OUTRO_ORGAO_DE_SERVIDOR_OU_EMPREGADO_PUBLICO_CEDIDOExercício em outro órgão de servidor ou empregado público cedido
QUALIFICACAO_AFASTAMENTO_POR_SUSPENSAO_DO_CONTRATO_DE_ACORDO_COM_ARTIGO_17Afastamento por suspensão do contrato de acordo com o artigo 17
QUALIFICACAO_AFASTAMENTO_POR_SUSPENSAO_DO_CONTRATO_DE_ACORDO_COM_ARTIGO_19Afastamento por suspensão do contrato de acordo com o artigo 19
PRORROGACAO_DA_LICENCA_MATERNIDADE_15156_2025Prorrogação da licença maternidade lei 15.156/2025
SUSPENSAO_CONTRATUAL_RECLAMACAO_TRABALHISTA_RESCISAO_INDIRETASuspensão contratual por reclamação trabalhista de rescisão indireta
SUSPENSAO_CONTRATUAL_APURACAO_FALTA_GRAVESuspensão contratual para apuração de falta grave

ClassificacaoTipoAusencia​

ValorDescrição
FOLGAFolga
VIAGEM_TRABALHOViagem à trabalho
CURSOCurso
TREINAMENTOTreinamento
CONFERENCIAConferência
CONGRESSOCongresso
PALESTRAPalestra
SEMINARIOSeminário
SIMPOSIOSimpósio
ENCONTRO_TECNICOEncontro técnico
FORUMFórum
WORKSHOPWorkshop
NASCIMENTO_FILHONascimento de filho
LICENCA_NOJOLicença nojo
LICENCA_GALALicença gala
SERVICO_MILITARServiço militar
JUSTICA_ELEITORALJustiça eleitoral
CONSULTA_MEDICAConsulta médica
EXAME_MEDICOExame médico
CEDENCIACedência
AUSENCIA_TRABALHOAusência do trabalho
OUTROSOutros
AVISO_PREVIOAviso prévio
FERIASFérias
PARTICULARParticular

ClassificacaoOcorrencia​

ValorDescrição
ABONOAbono
AFASTADOAfastado
EXTRAExtra
FALTAFalta
FOLGAFolga
TRABALHOTrabalho
OUTROSOutros

OrigemMarcacao​

ValorDescrição
ORIGINALOriginal
AUTOMATICAAutomática
INCLUIDAIncluída

TipoCargo​

ValorDescrição
CARGOCargo
CARGO_COMISSIONADOCargo comissionado

TipoCompensacaoHoras​

ValorDescrição
GOZO_DIA_FERIAS_VERGozo de dias de férias em haver
DIAS_GOZO_FERIAS_TRABALHADOSDias de gozo de férias trabalhados
FOLGA_PARA_COMPENSAR_FERIASFolga para compensar em férias
COMPENSACAO_FOLGAS_FERIASCompensação de folgas nas férias
ABONO_PECUNIARIO_DIAS_FERIAS_VERAbono pecuniário de dias de férias em haver
DIAS_GOZO_LICENCA_PREMIO_TRABALHADOSDias de gozo de licença prêmio trabalhados
GOZO_DIA_LICENCA_PREMIO_VERGozo de dias de licença prêmio em haver
ABONO_PECUNIARIO_DIAS_LICENCA_PREMIO_VERAbono pecuniário de dias de licença prêmio em haver
DIAS_FACULTATIVOS_TRABALHADOSDias facultativos trabalhados
GOZO_DIAS_FACULTATIVOS_VERGozo de dias facultativos em haver
HORAS_EXTRAS_VERHoras extras em haver
COMPENSACAO_HORAS_EXTRASCompensação de horas extras
PAGAMENTO_HORAS_EXTRASPagamento de horas extras

TipoClassificacaoPeriodo​

ValorDescrição
NORMALNormal
COMPENSADOCompensado
FOLGAFolga

TipoHoras​

ValorDescrição
TRABALHADASTrabalhadas
TRABALHADAS_TOLERANCIATrabalhadas considerando as tolerâncias do horário
EXTRASExtras
FALTASFaltas

TipoPeriodo​

ValorDescrição
DIURNADiurnas
NOTURNASNoturnas

Valores de retorno​

Os valores abaixo são retornados por algumas funções, mas não estão disponíveis como constantes na fórmula. Para compará-los utilize o .toString(), por exemplo: jornada.tipo.toString().equals('TURNO_CORRIDO').

SituacaoCompensacaoHoras​

ValorDescrição
AGUARDANDO_FECHAMENTOAguardando fechamento
EFETIVADOEfetivado

TipoCompensacao​

ValorDescrição
DIADia
SEMANASemana
MESMês
NENHUMANenhuma

TipoDeRevezamento​

ValorDescrição
FIM_JORNADA_TRABALHOFim da jornada de trabalho

TipoJornada​

ValorDescrição
SEMANALSemanal
TURNO_CORRIDOTurno corrido