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âmetro | Descrição | Obrigatório |
|---|---|---|
| dataInicial | Data inicial da verificação de atestados | Sim |
| dataFinal | Data final da verificação de atestados | Sim |
| tipo | Descrição do tipo de atestado, campo "Tipo de atestado" do cadastro de atestados | Não |
| dependente | Informar 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 tipos | Nã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:
- id - Id do atestado médico
- numeroAtestado - Número do atestado médico
- inicioAtestado - Data de início do atestado no formato yyyy-MM-dd
- fimAtestado - Data de fim do atestado no formato yyyy-MM-dd
- duracao - Duração do atestado conforme a unidade
- unidade - Unidade do atestado em HORAS ou DIAS
- localAtendimento - Local do atendimento
- tipo - Tipo do atestado, utilize tipo.descricao para obter a descrição
- motivoConsultaMedica - Motivo da consulta médica, utilize motivoConsultaMedica.descricao para obter a descrição
- deferido - Se atestado foi deferido, retorna um boolean
- encaminharJuntaMedica - Se o atestado foi marcado para encaminhar para junta médica, retorna um boolean
- acompanhamento - Se o atestado é decorrente de acompanhamento de dependentes, retorna um boolean
- retornoTrabalho - Data de retorno ao trabalho no formato yyyy-MM-dd
- estabelecimento - Estabelecimento do atendimento, com os campos cnpj, razaoSocial, nomeFantasia e tipo
- descricaoCargo - Descrição do cargo
- cids - Retorna uma lista dos CIDs do atestado, com os campos descricao, cadigo (código do CID), descricaoAbreviada e nivel
- dependentes - Retorna uma lista dos dependentes caso seja atestado de dependente, utilize dependente para obter a pessoa
- 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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoAfastamento | Informe uma classificação de afastamento | Sim |
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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoAfastamento ou descrição | Informe uma classificação de afastamento ou a descrição do tipo de afastamento, campo "Descrição" do cadastro de tipos de afastamento | Sim |
| data | Data a ser verificada | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoAusencia | Informe uma classificação de tipo de ausência | Sim |
| abonada | Permite filtrar por ausências abonadas (true) e não abonadas (false), quando este parâmetro não for informado retornará ambas | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoAusencia | Informe uma classificação de tipo de ausência | Sim |
| dataInicial | Data inicial do período | Sim |
| dataFinal | Data final do período | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| descricao | Descrição do tipo de ausência, campo "Descrição" do cadastro de tipos de ausência | Sim |
| dataInicial | Data inicial do período | Não |
| dataFinal | Data final do período, se a data inicial for informada então este campo se torna obrigatório | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoAusencia | Informe uma lista de classificações de tipo de ausência | Sim |
| dataInicial | Data inicial do período | Sim |
| dataFinal | Data final do período | Sim |
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():
- matricula - Id da matrícula
- tipoAusencia - Descrição do tipo de ausência
- dataInicial - Data inicial da ausência no formato yyyy-MM-dd
- dataFinal - Data final da ausência no formato yyyy-MM-dd
- horas - Horas diárias da ausência, quando a ausência não possuir horas informadas é considerada a carga horária do dia
- abonar - Se a ausência é abonada, retorna um boolean
- 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âmetro | Descrição | Obrigatório |
|---|---|---|
| data | Informe a data do lançamento da compensação de horas | Sim |
| quantidadeHoras | Informe a quantidade de horas para lançamento, formato de valor | Sim |
| TipoCompensacaoHoras | Informe um tipo de compensação de horas | Sim |
| observacao | Observaçã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 |
| percentual | Percentual da compensação de horas, se a observação for informada então este campo se torna obrigatório | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| dataInicial | Informe a data inicial do período de busca das compensações de horas | Sim |
| dataFinal | Informe a data final do período de busca das compensações de horas | Sim |
| TipoCompensacaoHoras | Informe uma lista de tipos de compensação de horas | Sim |
| somenteEfetivadas | Informe true para retornar somente compensações efetivadas ou false para retornar somente as pendentes de fechamento | Sim |
| percentual | Se informado retorna somente as compensações com o mesmo percentual | Nã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():
- id - Id da compensação de horas
- tipo - Tipo de compensação de horas
- data - Data da compensação de horas no formato yyyy-MM-dd
- horas - Horas do registro de compensação de horas em formato de duração, utilize horas.toMinutes() para obter o total em minutos
- percentual - Percentual da compensação de horas
- observacao - Observação da compensação de horas
- 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:
- sequencial - Sequencial da marcação apurada
- dataHora - Data e hora da marcação
- classificacao - Classificação do tipo de função do relógio
- origem - Origem da marcação
- 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âmetro | Descrição | Obrigatório |
|---|---|---|
| tipoHoras | Informe um tipo de hora, trabalhadas, trabalhadas com tolerância, extras ou faltas | Sim |
| tipoPeriodo | Informe um tipo de período, diurno ou noturno. Se não informado retorna todos | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| dataInicio | Data de início da convocação | Sim |
| dataFim | Data de fim da convocação | Sim |
| descricao | Descrição do evento extraordinário | Sim |
| concederFolga | Informe true ou false conforme o campo "Conceder folga" da convocação | Sim |
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():
- descricao - Descrição do evento extraordinário
- dataInicioEvento - Data de início do evento no formato yyyy-MM-dd
- dataFimEvento - Data de fim do evento no formato yyyy-MM-dd
- dataInicioConvocacao - Data de início da convocação no formato yyyy-MM-dd
- dataFimConvocacao - Data de fim da convocação no formato yyyy-MM-dd
- dataInicioFolga - Data de início da folga no formato yyyy-MM-dd
- dataFimFolga - Data de fim da folga no formato yyyy-MM-dd
- concederFolga - Se a convocação concede folga, retorna um boolean
- 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âmetro | Descrição | Obrigatório |
|---|---|---|
| cargaHoraria | Carga horária, formato de valor | Sim |
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âmetro | Descrição | Obrigatório |
|---|---|---|
| data | Data a ser verificada | Sim |
| pontoFacultativo | Se informado true retorna verdadeiro somente quando a data for um feriado do tipo ponto facultativo | Nã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:
- id - Id do intervalo
- descricao - Descrição do intervalo
- entrada - Hora de entrada do intervalo no formato HH:mm
- saida - Hora de saída do intervalo no formato HH:mm
- toleranciaAnteriorEntrada - Tolerância anterior à entrada, em formato de duração
- toleranciaPosteriorEntrada - Tolerância posterior à entrada, em formato de duração
- toleranciaAnteriorSaida - Tolerância anterior à saída, em formato de duração
- toleranciaPosteriorSaida - Tolerância posterior à saída, em formato de duração
- geraMarcacaoAutomaticaEntrada - Se gera marcação automática na entrada, retorna um boolean
- geraMarcacaoAutomaticaSaida - Se gera marcação automática na saída, retorna um boolean
- geraMarcacaoAutomaticaFeriado - Se gera marcação automática em feriados, retorna um boolean
Campos disponíveis em horario.intervalosFlexivel():
- inicio - Hora de início do intervalo no formato HH:mm
- fim - Hora de fim do intervalo no formato HH:mm
- 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âmetro | Descrição | Obrigatório |
|---|---|---|
| dataApuracao | Informe a data a ser verificada | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| TipoClassificacaoPeriodo | Informe um tipo de período, normal, compensado ou folga | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| ClassificacaoTipoFuncaoRelogio | Informe uma classificação de tipo de função de relógio | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| codigoRepresentacao | Informe o código de representação da função do relógio | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| classificacao | Informe uma classificação de tipo de função de relógio, se não informada retorna de todas | Não |
| diaApuracao | Informe uma data de apuração, caso não for informado será considerada a data da apuração | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| codigo | Informe um código de uma ocorrência | Sim |
| dataInicial | Informe 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ção | Não |
| dataFinal | Informe 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ção | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| codigo | Informe um código de uma ocorrência | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| codigo | Informe um código de uma ocorrência | Sim |
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âmetro | Descrição | Obrigatório |
|---|---|---|
| observacao | Texto da observação | Sim |
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âmetro | Descrição | Obrigatório |
|---|---|---|
| horasDecimal | Valor decimal de horas | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| consideraPontoFacultativo | Considera ponto facultativo | Sim |
/**
* 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âmetro | Descrição | Obrigatório |
|---|---|---|
| horaDecimal | Valor decimal de horas | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| dataApuracao | Data a ser verificada | Sim |
| tipoAtestado | Descrição do tipo de atestado, campo "Tipo de atestado" do cadastro de atestados. Se não informado considera todos os tipos | Nã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âmetro | Descrição | Obrigatório |
|---|---|---|
| menorData | Data inicial, por exemplo a data de nascimento | Sim |
| maiorData | Data final | Sim |
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âmetro | Descrição | Obrigatório |
|---|---|---|
| minutos | Quantidade de minutos | Sim |
//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âmetro | Descrição | Obrigatório |
|---|---|---|
| ano | Ano de referência (inteiro) | Sim |
| mês | Mê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
| Valor | Descrição |
|---|---|
| INCLUIDA | Marcação incluída |
| DESCONSIDERADA | Marcação desconsiderada |
| INTERVALO_BATIDAS | Marcação no intervalo mínimo entre batidas |
ClassificacaoTipoFuncaoRelogio
| Valor | Descrição |
|---|---|
| PONTO | Ponto |
| SAIDA_PARTICULAR | Saída particular |
| SAIDA_SERVICO | Saída à serviço |
| SAIDA_MEDICA | Saída médica |
| AUSENCIA | Ausência |
| LANCHE | Lanche |
| REFEICAO | Refeição |
| OUTROS | Outros |
ClassificacaoTipoAfastamento
| Valor | Descrição |
|---|---|
| ABORTO_NAO_CRIMINOSO | Aborto não criminoso |
| ACIDENTE_DE_TRABALHO_EMPREGADOR | Acidente de trabalho empregador |
| ACIDENTE_DE_TRABALHO_PREVIDENCIA | Acidente de trabalho previdência |
| ACIDENTE_DE_TRAJETO_EMPREGADOR | Acidente de trajeto empregador |
| ACIDENTE_DE_TRAJETO_PREVIDENCIA | Acidente de trajeto previdência |
| DOENCA_DO_TRABALHO_EMPREGADOR | Doença do trabalho empregador |
| DOENCA_DO_TRABALHO_PREVIDENCIA | Doença do trabalho previdência |
| AUXILIO_DOENCA_EMPREGADOR | Auxílio doença empregador |
| AUXILIO_DOENCA_PREVIDENCIA | Auxílio doença previdência |
| ACOMPANHAR_MEMBRO_DA_FAMILIA_ENFERMO | Acompanhar membro da família enfermo |
| ADOCAO_GUARDA_JUDICIAL_DE_CRIANCA | Adoção/guarda judicial de criança |
| APOSENTADORIA_POR_INVALIDEZ | Aposentadoria por invalidez |
| CANDIDATO_A_CARGO_ELETIVO | Candidato a cargo eletivo |
| CARCERE | Cárcere |
| CEDENCIA | Cedência |
| FALTA | Falta |
| FERIAS | Férias |
| LICENCA_COM_VENCIMENTOS | Licença COM vencimentos |
| LICENCA_SEM_VENCIMENTOS | Licença SEM vencimentos |
| LICENCA_MATERNIDADE | Licença maternidade |
| MANDATO_ELEITORAL_COM_REMUNERACAO | Mandato eleitoral COM remuneração |
| MANDATO_ELEITORAL_SEM_REMUNERACAO | Mandato eleitoral SEM remuneração |
| MANDATO_SINDICAL | Mandato sindical |
| MULHER_VITIMA_DE_VIOLENCIA_LEI_MARIA_DA_PENHA | Mulher vítima de violência (Lei Maria da Penha) |
| PRORROGACAO_DA_LICENCA_MATERNIDADE | Prorrogação da licença maternidade |
| SERVICO_MILITAR | Serviço militar |
| SERVIDOR_PUBLICO_EM_DISPONIBILIDADE | Servidor público em disponibilidade |
| SUSPENSAO_DISCIPLINAR_ART474_CLT | Suspensão disciplinar Art.474 CLT |
| SUSPENSAO_DO_CONTRATO_ART476_CLT | Suspensão do contrato Art.476 CLT |
| APOSENTADO | Aposentado |
| DEMITIDO | Demitido |
| AUSENCIA_LEGAL | Ausência Legal |
| PRORROGACAO_DA_LICENCA_MATERNIDADE_11_770 | Prorrogação da licença maternidade lei 11.770 |
| REINTEGRACAO_SEM_PERDAS_DIREITO | Reintegração sem perdas de direito |
| REINTEGRACAO_COM_PERDAS_DIREITO | Reintegração com perdas de direito |
| CANDIDATO_A_CARGO_ELETIVO_CELETISTA | Candidato a cargo eletivo celetista |
| LICENCA_COM_VENCIMENTOS_LIBERDADE_DA_EMPRESA_ACT | Licença COM vencimentos por liberalidade da empresa ou acordo coletivo |
| LICENCA_NAO_REMUNERADA | Licença não remunerada |
| MANDATO_ELETIVO_PARA_CARGO_EM_COMISSAO | Mandato eletivo para cargo em comissão |
| PARTICIPACAO_CONSELHO_CNPS_LEI_8_213_1991 | Participação no Conselho Nacional de Previdência Social (Lei 8.213/1991) |
| REPRESENTANTE_SINDICAL | Representante sindical |
| SUSPENSAO_DO_CONTRATO_LEI_14_020_2020_CORONAVIRUS | Suspensão do contrato (Lei 14.020/2020 - Coronavírus) |
| TRABALHADOR_AVULSO_IMPEDIMENTO_DE_CONCORRENCIA_A_ESCALA | Trabalhador avulso impedido de concorrer à escala |
| TRABALHADOR_AVULSO_INATIVIDADE_DE_TRABALHO_MAIOR_QUE_90_DIAS | Trabalhador avulso com inatividade de trabalho maior que 90 dias |
| SUSPENSAO_DE_PAGAMENTO_DE_SERVIDOR_PUBLICO_POR_NAO_RECADASTRAMENTO | Suspensão de pagamento de servidor público por não recadastramento |
| EXERCICIO_EM_OUTRO_ORGAO_DE_SERVIDOR_OU_EMPREGADO_PUBLICO_CEDIDO | Exercício em outro órgão de servidor ou empregado público cedido |
| QUALIFICACAO_AFASTAMENTO_POR_SUSPENSAO_DO_CONTRATO_DE_ACORDO_COM_ARTIGO_17 | Afastamento por suspensão do contrato de acordo com o artigo 17 |
| QUALIFICACAO_AFASTAMENTO_POR_SUSPENSAO_DO_CONTRATO_DE_ACORDO_COM_ARTIGO_19 | Afastamento por suspensão do contrato de acordo com o artigo 19 |
| PRORROGACAO_DA_LICENCA_MATERNIDADE_15156_2025 | Prorrogação da licença maternidade lei 15.156/2025 |
| SUSPENSAO_CONTRATUAL_RECLAMACAO_TRABALHISTA_RESCISAO_INDIRETA | Suspensão contratual por reclamação trabalhista de rescisão indireta |
| SUSPENSAO_CONTRATUAL_APURACAO_FALTA_GRAVE | Suspensão contratual para apuração de falta grave |
ClassificacaoTipoAusencia
| Valor | Descrição |
|---|---|
| FOLGA | Folga |
| VIAGEM_TRABALHO | Viagem à trabalho |
| CURSO | Curso |
| TREINAMENTO | Treinamento |
| CONFERENCIA | Conferência |
| CONGRESSO | Congresso |
| PALESTRA | Palestra |
| SEMINARIO | Seminário |
| SIMPOSIO | Simpósio |
| ENCONTRO_TECNICO | Encontro técnico |
| FORUM | Fórum |
| WORKSHOP | Workshop |
| NASCIMENTO_FILHO | Nascimento de filho |
| LICENCA_NOJO | Licença nojo |
| LICENCA_GALA | Licença gala |
| SERVICO_MILITAR | Serviço militar |
| JUSTICA_ELEITORAL | Justiça eleitoral |
| CONSULTA_MEDICA | Consulta médica |
| EXAME_MEDICO | Exame médico |
| CEDENCIA | Cedência |
| AUSENCIA_TRABALHO | Ausência do trabalho |
| OUTROS | Outros |
| AVISO_PREVIO | Aviso prévio |
| FERIAS | Férias |
| PARTICULAR | Particular |
ClassificacaoOcorrencia
| Valor | Descrição |
|---|---|
| ABONO | Abono |
| AFASTADO | Afastado |
| EXTRA | Extra |
| FALTA | Falta |
| FOLGA | Folga |
| TRABALHO | Trabalho |
| OUTROS | Outros |
OrigemMarcacao
| Valor | Descrição |
|---|---|
| ORIGINAL | Original |
| AUTOMATICA | Automática |
| INCLUIDA | Incluída |
TipoCargo
| Valor | Descrição |
|---|---|
| CARGO | Cargo |
| CARGO_COMISSIONADO | Cargo comissionado |
TipoCompensacaoHoras
| Valor | Descrição |
|---|---|
| GOZO_DIA_FERIAS_VER | Gozo de dias de férias em haver |
| DIAS_GOZO_FERIAS_TRABALHADOS | Dias de gozo de férias trabalhados |
| FOLGA_PARA_COMPENSAR_FERIAS | Folga para compensar em férias |
| COMPENSACAO_FOLGAS_FERIAS | Compensação de folgas nas férias |
| ABONO_PECUNIARIO_DIAS_FERIAS_VER | Abono pecuniário de dias de férias em haver |
| DIAS_GOZO_LICENCA_PREMIO_TRABALHADOS | Dias de gozo de licença prêmio trabalhados |
| GOZO_DIA_LICENCA_PREMIO_VER | Gozo de dias de licença prêmio em haver |
| ABONO_PECUNIARIO_DIAS_LICENCA_PREMIO_VER | Abono pecuniário de dias de licença prêmio em haver |
| DIAS_FACULTATIVOS_TRABALHADOS | Dias facultativos trabalhados |
| GOZO_DIAS_FACULTATIVOS_VER | Gozo de dias facultativos em haver |
| HORAS_EXTRAS_VER | Horas extras em haver |
| COMPENSACAO_HORAS_EXTRAS | Compensação de horas extras |
| PAGAMENTO_HORAS_EXTRAS | Pagamento de horas extras |
TipoClassificacaoPeriodo
| Valor | Descrição |
|---|---|
| NORMAL | Normal |
| COMPENSADO | Compensado |
| FOLGA | Folga |
TipoHoras
| Valor | Descrição |
|---|---|
| TRABALHADAS | Trabalhadas |
| TRABALHADAS_TOLERANCIA | Trabalhadas considerando as tolerâncias do horário |
| EXTRAS | Extras |
| FALTAS | Faltas |
TipoPeriodo
| Valor | Descrição |
|---|---|
| DIURNA | Diurnas |
| NOTURNAS | Noturnas |
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
| Valor | Descrição |
|---|---|
| AGUARDANDO_FECHAMENTO | Aguardando fechamento |
| EFETIVADO | Efetivado |
TipoCompensacao
| Valor | Descrição |
|---|---|
| DIA | Dia |
| SEMANA | Semana |
| MES | Mês |
| NENHUMA | Nenhuma |
TipoDeRevezamento
| Valor | Descrição |
|---|---|
| FIM_JORNADA_TRABALHO | Fim da jornada de trabalho |
TipoJornada
| Valor | Descrição |
|---|---|
| SEMANAL | Semanal |
| TURNO_CORRIDO | Turno corrido |