Gestão de Pessoas - Manual do Usuário > Customizações > Pontos de regras > Regras para realizar consistências em cadastros

Regras para realizar consistências em cadastros de históricos e programações

Para realizar consistências, é necessário estender os SystemComponents disponibilizados pelo Gestão do Ponto realizando os seguintes passos:

  1. Crie um SystemComponent. Para estender um novo, utilize a opção Arquivo > Novo > Outras, do Ambiente de Customização (Senior Developer);
  2. Dentro da pasta Senior, selecione a opção "SystemComponent". Esta operação precisa ser feita dentro do projeto de customização:

  3. Informe o nome do SystemComponent desejado e o SystemComponent base;

    Observação

    Verifique a tabela com Systecomponents base disponíveis.

    Importante

    A classe Java pode ser gerada automaticamente. Para isso, basta assinalar Gerar o fonte Java do SystemComponent.

    Ao criar as classes, o arquivo Entities.json também já é atualizado. Esse arquivo contém as declarações dos SystemComponents criados. Caso for necessário copiar um SystemComponent direto para o projeto de customização sem utilizar o wizard de criação, é necessário editar o arquivo Entities.json e inserir a classe desejada. Esse arquivo possui a estrutura conforme abaixo. Cada SystemComponent criado deve constar neste arquivo.

    {

    systemcomponents: [

    {

    extension: "custom.senior.regras.SCValidaEscala",

    base: "br.com.senior.rh.gp.sc.historico.escala.SCHistoricoEscala"

    },

    {

    extension: "custom.senior.regras.SCValidaTrocaEscala",

    base: "br.com.senior.gp.sc.programacoes.SCProgramacoes"

    }

    ]

    }

  4. Implemente o SystemComponent. Na classe Java do Systemcomponent, implemente as consistências necessárias para cada situação, utilizando o Contexto geral.
  5. Ajuste a extensão do SystemComponent. Ao criar o SystemComponent, é criado também uma extensão de SystemComponent, que é um arquivo com a extensão .sc na mesma pasta onde foi criado o SystemComponent. Neste arquivo, informe as seguintes propriedades:
    • id: nome do Data Set para o qual se deseja construir a regra. Para mais detalhes sobre os Data Sets disponíveis, consulte a tabela;
    • name: nome da validação. Este campo é uma descrição livre e não possui ligação com a classe de implementação da regra;
    • calculator: nome do método que será executado para validação. Este nome deve ser igual ao nome do método criado na classe java;
    • affectors: campos que devem ser verificados para que o método seja executado. Para informar mais de um campo, utilize a virgula;
    • checkOnInsert: indique se o método será executado na inclusão;
    • checkOnUpdate: indique se o método será executado na alteração;
    • checkOnRemove: indique se o método será executado na exclusão.

Principais SystemComponents, Entidades e Data Sets

Os Principais SystemComponents, Entidades e Data Sets estão disponíveis conforme tabela abaixo:

SystemComponents, Entidades e Data Sets
Assunto SystemComponent Entidade DataSet
Ações de acerto SCAcaoAcerto IAcoesAcerto DsAcaoAcerto
Autorização de Hora extras SCProgramacoes IAutorizacaoHoraExtra DsAutorizacaoHoraExtra
Autorização de saída SCProgramacoes IAutorizacaoSaida DsAutorizacaoSaida
Compensação SCProgramacoes ICompensacao DsCompensacao
Definição de assinatura do espelho do ponto SCDefinicaoAssinaturaEspelhoPonto IDefinicaoAssinaturaEspelhoPonto DsDefinicaoAssinaturaEspelhoPonto
Definição de gestão de incidentes SCDefinicaoIncidente IDefinicaoIncidente DsDefinicaoIncidente
Histórico de afastamento SCHistoricoAfastamento IHistoricoAfastamento DsHistoricoAfastamento
Histórico de anotação SCHistoricoAnotacoes IHistoricoAnotacoes DsHistoricoAnotacao
Histórico de apuração SCHistoricoApuracao IHistoricoApuracao DsHistoricoApuracao
Histórico de escala SCHistoricoEscala IHistoricoEscala DsHistoricoEscala
Marcação SCAcertoColaborador IMarcacao DsMarcacao
Penalidades para incidentes do ponto SCPenalidadeIncidente IPenalidadeIncidente DsPenalidadeIncidente
Ponte SCProgramacoes IPonte DsPonte
Projeção de horário SCProgramacoes IProjecaoHorario DsProjecaoHorario
Sobreaviso SCProgramacoes ISobreavisoProntidao DsSobreavisoProntidao
Situação Apurada SCAcertoColaborador ISituacaoApurada DsSituacaoApurada
Troca de escala SCProgramacoes ITrocaEscala DsTrocaEscala
Troca de horário SCProgramacoes ITrocaHorario DsTrocaHorario

Importante

Para que um campo de usuário customizado esteja com os valores atualizados, sem a necessidade de atualização da página, é necessário que a regra busque este valor através da entidade da tela, utilizando o método getField().getValue() do cursor e especificando o campo da seguinte maneira:

Object value = cursor.getField(<nome do campo de usuário>).getValue(<entidade que representa tabela>)

Este artigo ajudou você?