Histórico da Página
...
| Bloco de código | ||||
|---|---|---|---|---|
| ||||
SELECT CHAPA, TIPO, DTINICIO, DTFINAL FROM PFHSTAFT (NOLOCK) WHERE TIPO = 'E' AND DTINICIO >= '28/04/2021' AND PFHSTAFT.CHAPA=:FRM_CHAPA AND PFHSTAFT.CODCOLIGADA=:FRM_COLIGADA |
Passo 2:
Fórmula que retorna a data de Inicio da Licença Maternidade. A mesma será chamada na fórmula para o da Estabilidade com o Código 'LICMATER':
| Bloco de código | ||
|---|---|---|
| ||
DECL DataInicAfast;
SE (EXECSQL ('AFAST_LIC_MATER') = FALSO)
ENTAO DATANULA;
SENAO
SE (EXECSQL ('AFAST_LIC_MATER') = Verdade)
ENTAO
REPITA
SETVAR (DataInicAfast, RESULTSQL('AFAST_LIC_MATER', 'DTINICIO'));
ATE ProxRegSQL('AFAST_LIC_MATER' ) = Falso
FIMSE; |
Criar uma fórmula que valias valida as condições de estabilidade para redução de Jornada/Salario. Abaixo um exemplo de fórmula que retorna mensagens conforme as regras da MP 9361045:
| Bloco de código | ||
|---|---|---|
| ||
DECL DataInicioAcordo;
DECL DiasDuracao;
DECL DiasProrrog;
DECL DataCancelamento;
DECL DataAntecipacao;
DECL DataFimAcordo;
DECL DuracaoTotal;
DECL DataInicioAcordoAnt;
DECL DiasAbatidos;
DECL DiasAbatidosTotal;
DECL DataInicAfastLicMater;
SETVAR (DataInicioAcordoAnt, DATANULA);
SETVAR (DataFimAcordo, DATANULA);
SE (EXECSQL ('BEM') = FALSO)
ENTAO 'FUNCIONÁRIO SEM ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO CONFORME MP 936.';
SENAO
/* Retorna a quantidade total de dias de acordo por redução de Jornada*/
SE (EXECSQL ('BEM') = Verdade);
REPITA
SETVAR (DataInicioAcordo,resultsql('BEM','DTACORDOBEM'));
SETVAR (DiasDuracao,resultsql('BEM','DURACAOBEM'));
SETVAR (DiasProrrog,resultsql('BEM','DIASPRORROGACAOBEM'));
SETVAR (DataCancelamento,resultsql('BEM','DTCANCELAMENTOBEM'));
SETVAR (DataAntecipacao,resultsql('BEM','DTANTECIPACAOBEM'));
SE DataAntecipacao <> DATANULA
ENTAO SETVAR (DiasDuracao, (SUBTRAIDATAS (DataAntecipacao, DataInicioAcordo)));
FIMSE;
SE DataCancelamento <> DATANULA
ENTAO SETVAR (DiasDuracao, (SUBTRAIDATAS (DataCancelamento, DataInicioAcordo)));
FIMSE;
SE DataInicioAcordo = DataInicioAcordoAnt;
SETVAR (DiasDuracao, DiasProrrog);
FIMSE;
SE DataFimAcordo = DATANULA OU DataInicioAcordo = DataInicioAcordoAnt;
ENTAO 0
SENAO
SETVAR (DiasAbatidos, (SUBTRAIDATAS(DataInicioAcordo,DataFimAcordo+1)));
FIMSE;
SETVAR (DataFimAcordo, DataInicioAcordo+DiasDuracao+DiasProrrog);
SETVAR (DuracaoTotal, DuracaoTotal+DiasDuracao);
SETVAR (DataInicioAcordoAnt, DataInicioAcordo);
SETVAR (DiasAbatidosTotal, DiasAbatidosTotal+DiasAbatidos);
ATE ProxRegSQL('BEM') = Falso
FIMSE;
SETVAR (DataInicAfastLicMater, (FOR ('LICMATER')));
SE DataFimAcordo = (DataInicioAcordo + DuracaoTotal-DiasAbatidosTotal);
SETVAR (DataFimAcordo, DataInicioAcordo + DuracaoTotal-DiasAbatidosTotal);
FIMSE;
SE (DataInicAfastLicMater <> DATANULA) E (DataInicAfastLicMater >= DataFimAcordo) E (DataFimAcordo+DuracaoTotal+150-DiasAbatidosTotal) > MTDATA(01,MES,ANO)
ENTAO
CONCAT ('FUNCIONÁRIO POSSUÍ ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO COM PRORROGAÇÃO DEVIDO A LICENÇA MATERNIDADE ATÉ ', DataFimAcordo+DuracaoTotal-DiasAbatidosTotal+150);
SENAO
SE (DataFimAcordo + DuracaoTotal-DiasAbatidosTotal) > MTDATA(01,MES,ANO)
ENTAO
CONCAT ('FUNCIONÁRIO POSSUÍ ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO ATÉ ', DataFimAcordo+DuracaoTotal-DiasAbatidosTotal);
SENAO
'FUNCIONÁRIO SEM ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO OU SUSPENSÃO DE CONTRATO CONFORME MP 936.'
FIMSE;
FIMSE;
|
...
Import HTML Content
Visão Geral
Conteúdo das Ferramentas