Depurar regra de apuração personalizada - Gestão do Ponto X
Antes de publicar uma regra de apuração no ambiente oficial, é possível executar e depurar a lógica localmente para entender o comportamento, validar condições e simular diferentes cenários de entrada.
Aplicar filtro para limitar o impacto da regra
Durante o desenvolvimento, recomenda-se restringir a execução da regra a um colaborador específico, evitando alterações indesejadas em toda a base.
Utilize uma verificação condicional baseada nos dados do contrato. Exemplo:
timeEvaluation(timeEvaluation, contract) {
if (contract.collaborator.code === 112 || contract.employee.employer.code === 4 ||
contract.employer.code === 4) {
const horasBh = timeEvaluation.getSituationHour(17);
if (horasBh > 60) {
timeEvaluation.setSituationHour(17, 60);
timeEvaluation.setSituationHour(108, horasBh - 60);
}
}
}
Os atributos contract.collaborator.code e contract.employer.code podem ser consultados na documentação técnica da biblioteca da estrutura da regra.
Executar a regra localmente com entrada exportada
Para simular o comportamento da regra em um cenário real, siga os passos abaixo. O exemplo a seguir foi extraído da própria documentação técnica da biblioteca:
- Crie uma nova pasta chamada
testno ambiente do AWS Cloud9. - Dentro da pasta
test, crie um novo arquivo chamadotest.js. - Insira o seguinte código no arquivo, conforme a documentação técnica da biblioteca:
const { handler } = require('../index'); // Certifique-se de que o caminho está correto
const event = {
body: '' // aqui será adicionado o contexto de regra.
}
handler(event).then(response => {
console.log("Response:", response);
}).catch(err => {
console.error("Error:", err);
});
- No sistema, acesse Gestão do Ponto X > Ponto da minha equipe, selecione o colaborador desejado e abra a aba Acertos do colaborador. Escolha a data que será usada no teste e clique em Ações > Exportar entrada da regra.
- Essa opção gera o conteúdo completo que é enviado como entrada para a regra de apuração personalizada, incluindo dados do dia, colaborador e históricos. Copie esse conteúdo e cole no campo
bodydo arquivotest.js. - Salve o arquivo e clique com o botão direito sobre ele. Selecione Run para executar a simulação.
- A execução da simulação retorna um JSON com os dados gerados pela regra. O conteúdo inclui as alterações aplicadas para o contrato e data simulados.
- O retorno pode conter:
- Ajustes de minutos por situação (ex.: situação
17com60minutos); - Redistribuições de saldo para outras situações (ex.: situação
108com15minutos restantes); - Informações do contrato e da data de apuração.
- Ajustes de minutos por situação (ex.: situação
- Exemplo de saída retornada:
{
"version": "0.23.0",
"result": {
"changeItems": [
{
"contractId": "857d7c41-babd-45e8-9376-891f2e86265b",
"type": "SITUATION",
"timeEvaluationDate": "2025-07-23",
"key": "17",
"value": "60",
"sequence": 0
},
{
"contractId": "857d7c41-babd-45e8-9376-891f2e86265b",
"type": "SITUATION",
"timeEvaluationDate": "2025-07-23",
"key": "108",
"value": "15",
"sequence": 1
},
{
"contractId": null,
"type": "METADATA",
"timeEvaluationDate": null,
"key": null,
"value": "{\"version\":\"0.23.0\"{",
"sequence": 2
}
]
}
}
- Você pode utilizar qualquer editor de JSON para visualizar a resposta de forma estruturada e analisar se a regra está retornando os dados corretamente.
Executar a regra em modo de depuração
Também é possível depurar a execução linha a linha utilizando breakpoints diretamente no editor:
- Clique à esquerda da linha desejada para definir o ponto de parada.
- Execute o arquivo em modo depuração.
- Acompanhe os valores das variáveis no console para validar o comportamento da lógica.
Algumas variáveis úteis durante a análise:
contract.collaborator.code: código do colaboradorcontract.employer.code: código da empresatimeEvaluation.getSituationHour(17): minutos da situação 17
Importante
- Certifique-se de que a regra esteja ativada no sistema. Regras desativadas impedem a extração e execução da entrada.
- A funcionalidade de Exportar entrada da regra depende da permissão de recurso ativa para o usuário logado.
- Sempre salve o arquivo de teste antes de executar a simulação.
English
Español

English
Español

