Gestão de Pessoas - Manual do Usuário > Customizações > Regras > Regras por Processo > Regra por processo 345 - Concluir avaliações

Regra por processo 345 - Concluir avaliações

Este recurso não está disponível no Gestão de Pessoas | HCM GO UP. Saiba mais.

A regra por processo 345 á executada antes da conclusão da avaliação(apenas para avaliação de desempenho e competência), permitindo que o processo seja alterado/cancelado através da regra.

Necessário utilizar a variável TipoAvaReg para identificar qual é o tipo da avaliação (Conhecimento, Excelência ou Performance), acessar as notas via cursor, utilizar função de programador Mensagem(Erro, Texto) + Cancel(1); para cancelar a conclusão da avaliação, bem como a função MsgAvaWeb(Alfa Mensagem, Alfa Substituir); para complementar ou substituir as mensagens do sistema.

Recursos utilizados: Nesta regra por processo estão disponíveis as tabelas:

R077APA quando TipoAvaReg = P
R077ACT quando TipoAvaReg = C
R079AEA quando TipoAvaReg = E

As tabelas de notas devem ser acessadas via cursor:

R077AHN quando TipoAvaReg = P
R077ACN quando TipoAvaReg = C
R079AHN quando TipoAvaReg = E

Exemplo:

Este exemplo é uma regra especial para ser utilizada na regra por processo 345.

/*Esta regra especial irá consistir a conclusão de avaliação de Performance quando a soma das notas for igual a 0(zero)*/
Definir cursor CNotas;
Se (TipoAvaReg = 'P')
Inicio
    xNumEmp = R077APA.NumEmp;
    xTipCol = R077APA.TipCol;
    xNumCad = R077APA.NumCad;
    xCmpAva = R077APA.CmpAva;
    xTipAva = R077APA.TipAva;
    xNotas = 0;
    CNotas.SQL "SELECT * FROM R077AHN WHERE R077AHN.NumEmp = :xNumEmp AND \
                                                                                            R077AHN.TipCol = :xTipCol AND \
                                                                                            R077AHN.NumCad = :xNumCad AND \
                                                                                            R077AHN.CmpAva = :xCmpAva AND \
                                                                                            R077AHN.TipAva = :xTipAva \
                            ORDER BY R077AHN.NumEmp, R077AHN.TipCol, R077AHN.NumCad, R077AHN.CmpAva, R077AHN.TipAva, R077AHN.CodHte";
CNotas.AbrirCursor();
Enquanto (CNotas.Achou)
Inicio
    xNotas = xNotas + CNotas.NotAva;
    CNotas.Proximo();
Fim;
CNotas.FecharCursor();
Se (xNotas = 0)
Inicio
    Mensagem(Erro, "A soma das notas é zero!");
    MsgAvaWeb("Erro CS", "N");
    Cancel(1);
Fim;
Fim;

Observação: A função Mensagem(Erro, "Texto da mensagem") não deve ser utilizada em regras executadas no ambiente WEB, pois estas mensagens não serão mostradas ao usuário e a aplicação ficará parada, pois ninguém tem como interagir com esta mensagem. Quando esta função for utilizada em conjunto com o parâmetro -DW (para permitir depuração de regras na WEB) uma exceção será gerada e a aplicação será finalizada.

Disponível para os módulos: Esta regra por processo está relacionada aos módulos CS, CSWEB e TR.

Este artigo ajudou você?