Implementar uma nova regra de apuração - Gestão do Ponto X
No Gestão do Ponto X, é possível criar Pontos de Regra personalizados para adaptar o processo de apuração de ponto às necessidades específicas de cada empresa.
Essas regras são implementadas por meio de funções Lambda desenvolvidas no ambiente de customização (AWS Cloud9), utilizando a extensão timeEvaluationRule. Cada função pode conter uma lógica específica de apuração, como redistribuir horas entre situações, aplicar limites diários, validar ocorrências e muito mais.
Esta documentação apresenta um exemplo prático de implementação, servindo como referência para o desenvolvimento de outras regras conforme os requisitos do cliente.
Habilitar feature toggle
Durante a fase de desenvolvimento, é necessário ativar uma feature toggle específica para que a regra de apuração funcione corretamente no ambiente de testes.
Essa ativação é feita diretamente na plataforma senior X, com um usuário que tenha permissão de administração.
- Acesse a plataforma senior X no menu: Tecnologia > Feature toggle.
- No campo de busca, pesquise por timeEvaluation.
- Na opção localizada, clique no botão Ações e selecione Editar.
- Adicione o tenant correspondente ao seu ambiente de desenvolvimento, por exemplo:
cem.testes.apicombr. - Clique em Salvar.
Importante
Se a feature toggle timeEvaluation não estiver habilitada corretamente para o tenant utilizado, a regra de apuração não será executada, mesmo com a lógica implementada no código.
Etapas da configuração
- Acesse o arquivo
timeEvaluationRule.js, localizado na pastaruledentro do pacotehcm-clocking-event-rule-nodejs. - Antes de implementar qualquer lógica, consulte a documentação técnica incluída no pacote. Essa documentação descreve as classes e métodos disponíveis para uso nas regras de apuração.
- Após identificar os métodos apropriados, implemente a lógica de customização no método
executeda classeTimeEvaluationRule. - A lógica será construída com base nos métodos fornecidos pela classe
TimeEvaluation, que permite consultar e manipular os dados da apuração diária de ponto, como situações, horários e marcações. - Salve o arquivo e publique a Lambda novamente utilizando a opção Upload Lambda no AWS Cloud9.
- Reapure um dia com excedente de banco de horas e verifique se o comportamento da regra está correto.
Exemplo de cenário
Considere um cenário em que a empresa deseja limitar o crédito diário de Banco de Horas a no máximo 60 minutos. Qualquer tempo excedente deve ser automaticamente redirecionado para outra situação, como Horas Extras.
Imagine que um colaborador tenha registrado 120 minutos de trabalho além da jornada no mesmo dia. Sem nenhuma regra ativa, todo o tempo seria acumulado como Banco de Horas. No entanto, com a regra de customização ativa, a lógica aplicará o seguinte comportamento:
- Os primeiros 60 minutos permanecerão registrados na situação 17 - Banco de Horas.
- Os 60 minutos excedentes serão transferidos para a situação 108 - Horas Extras.
Essa lógica pode ser implementada com as funções getSituationHour e setSituationHour, disponíveis na documentação técnica do pacote hcm-clocking-event-rule-nodejs.
O código abaixo demonstra um exemplo prático de como aplicar uma redistribuição de minutos entre situações com base em um limite configurado:
// Método que processa a apuração de cada contrato timeEvaluation(timeEvaluation, contract)
{
const horasBh = timeEvaluation.getSituationHour(17);
if (horasBh > 60) {
timeEvaluation.setSituationHour(17, 60);
timeEvaluation.setSituationHour(108, horasBh - 60);
}
}
Após salvar a regra e realizar o Upload Lambda, reapure um dia com mais de 60 minutos em Banco de Horas. A tela de acertos deverá refletir a divisão entre as duas situações.
Exemplo de aplicação da regra
Veja abaixo o resultado da apuração com a regra ativa:
Marcações realizadas | Situações apuradas |
|---|---|
08:00 | 17 - Crédito BH: 01:00 |
A regra limitou o crédito de banco de horas a 60 minutos e transferiu o excedente para horas extras.
English
Español

English
Español

