Exemplo Regra Licença Especial
Exemplo de regra para cálculo do direito de licença especial.
Tabelas disponíveis para uso da regra: R034FUN, R204PER, R015LIC, R010SIT e R038AFA.
Variáveis de sistema disponíveis para uso da regra:
- PrxCalSal: pula direto para o cálculo do direito desconsiderando outros afastamentos:
- não pula;
- pula direto para o cálculo ou para o próximo afastamento;
- MudSitPer: muda a situação do período. Pode receber qualquer situação da lista Tipo da Situação. Cabe observar que somente haverá gravação nas tabelas quando a variável TipCalPer estiver igual a "1";
- NroDiaAfa: está carregada com número de dias afastados;
- GerNovPer: gerar novo período de férias:
- não gera;
- gera novo período;
- TipCalPer:
- não executa a rotina;
- trata afastamentos;
- final cálculo direito;
- deve ser informado 3 quando prevalecer o cálculo interno do sistema para afastamentos.
É importante ressaltar que os valores atribuídos nessa regra serão gravados na tabela, não tendo como alterá-los via menu.
Exemplo regra:
Se (TipCalPer <> 1)
Cancel(1);
/* ----------------- Interrompe o Período --------------------- */
Se (R010SIT.PerLic = "I")
Inicio
/* Somar os dias afastados ao período */
R204PER.DliPro = R204PER.DliPro + NroDiaAfa;
/* Somar ao fim do período os dias afastados */
Se (R204PER.AltFim <> "S")
Inicio
Se (R204PER.DliPro > R015LIC.MaxPrr)
Inicio
MudSitPer = 3;
Se (R038AFA.DatTer <> 0)
R204PER.FimPer = R038AFA.DatTer;
Senao GerNovPer = 0;
PrxCalSal = 1;
Fim;
Senao
Inicio
R204PER.FimPer = R204PER.FimPer + NroDiaAfa;
Fim;
Fim;
Fim;
Senao
/* ----------------- Soma no Total das Faltas ----------------- */
Se (R010SIT.PerLic = "F")
Inicio
/* Somar os dias afastados ao período */
R204PER.DliFal = R204PER.DliFal + NroDiaAfa;
Fim;
Senao
/* ------------------ Soma no Total da Perda ------------------ */
Se (R010SIT.PerLic = "P")
Inicio
/* Somar os dias afastados ao período */
R204PER.DliPda = R204PER.DliPda + NroDiaAfa;
/* Somar ao fim do período os dias afastados */
Se ((R204PER.DliPda > R015LIC.MaxPda) e (R204PER.AltFim <> "S"))
Inicio
MudSitPer = 5;
Se (R038AFA.DatTer <> 0)
R204PER.FimPer = R038AFA.DatTer;
Senao GerNovPer = 0;
PrxCalSal = 1;
Fim;
Fim;
Disponível para o módulo: Adm. de Pessoal.
English
Español
English
Español


