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

Estão disponíveis:

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

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ê?