Histórico da Página
Fica reconhecida a garantia provisória no emprego ao funcionário que receber o benefício emergencial de preservação do emprego e da renda. Em decorrência da redução da jornada de trabalho e de salário ou da suspensão temporária do contrato de trabalho, nos seguintes termos :
- Durante o período de acordado de redução da jornada de trabalho e de salário ou de suspensão temporária do contrato de trabalho
- Após o restabelecimento da jornada de trabalho e de salário ou encerramento da suspensão temporária do contrato de trabalho, por período equivalente ao acordado para a redução ou a suspensão.
A dispensa sem justa causa, que ocorrer durante o período de garantia provisória no emprego, sujeitará o empregador ao pagamento, além das parcelas rescisórias previstas na legislação em vigor, de indenização que serão documentadas aqui
O módulo TOTVS Folha de Pagamento permite configurar mensagens de aviso para informar se o funcionário possui estabilidade nos termos estabelecidos na MP. Também é possível fazer o controle através de Fórmulas Visuais.
Abaixo, exemplificaremos com a sugestão de fórmulas de aviso configurada no parametrizador.
Passo 1: Criar a consulta SQL que retorna os afastamentos de suspensão de contrato de trabalho, conforme orientado aqui. Na minha consulta que coloquei para selecionar além do afastamento, o motivo DC, que será usado somente para estes afastamento neste período de calamidade.
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT CHAPA, TIPO, DTINICIO, DTFINAL FROM PFHSTAFT (NOLOCK) WHERE TIPO IN ('C') AND MOTIVO = 'DC' |
Passo 2: Criar um fórmula que validas as condições de estabilidade para suspensão de contrato. Abaixo um exemplo de fórmula usando a Consulta acima, que retorna mensagens conforme as regras da MP 936:
Bloco de código | ||
---|---|---|
| ||
DECL DATAINICIO; DECL DATAFIM; DECL QUANTDIAS; DECL CH; SE EXECSQL('AFASTAMENTO') = 1; ENTAO REPITA SE RESULTSQL('AFASTAMENTO','CHAPA') = CHAPA; ENTAO SETVAR (DATAINICIO, RESULTSQL('AFASTAMENTO','DTINICIO')); SETVAR (DATAFIM, RESULTSQL('AFASTAMENTO','DTFINAL')); SETVAR (CH, RESULTSQL('AFASTAMENTO', 'CHAPA')); FIMSE ATE PROXREGSQL('AFASTAMENTO') = FALSO; SE CH = 0 ENTAO 'FUNCIONÁRIO SEM ESTABILIDADE POR SUSPENSÃO DE CONTRATO CONFORME MP 936.' SENAO SE DATAFIM = '01/01/0001' ENTAO CONCAT ('FUNCIONÁRIO POSSUI ESTABILIDADE POR SUSPENSÃO DE CONTRATO E DATA RETORNO DA SUSPENSÃO NÃO ESÁ PREENCHIDA. DEPENDENDO DA DATA DE RETORNO, FUNCIONÁRIO PODE TER ESTABILIDADE, CONFORME MP 936, ATÉ ', DATAINICIO + 120); SENAO SE DATAFIM <> '01/01/0001' ENTAO SETVAR (QUANTDIAS, SUBTRAIDATAS(DATAFIM, DATAINICIO)); SE (DATAFIM+QUANTDIAS) > MTDATA(01,MES,ANO) ENTAO CONCAT ('FUNCIONÁRIO POSSUÍ ESTABILIDADE POR SUPENSÃO DE CONTRATO, CONFORME MP 936, ATÉ ', DATAFIM+(QUANTDIAS+1)) SENAO 'FUNCIONÁRIO SEM ESTABILIDADE POR SUSPENSÃO DE CONTRATO CONFORME MP 936.' |
Passo 3: Utilizar a mesma consulta SQL usada para calcular o valor reduzido do BEM
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM,DTCANCELAMENTOBEM,DTANTECIPACAOBEM,DIASPRORROGACAOBEM,PERCENTUALREDUCAOBEM FROM PFHSTBEM (NOLOCK) WHERE codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA and TIPOADESAOBEM = '1' ORDER BY DTMUDANCA ASC |
Passo 4: Criar uma fórmula que valias as condições de estabilidade para redução de Jornada/Salario. Abaixo um exemplo de fórmula utilizado os campos complementares sugeridos aqui e que retorna mensagens conforme as regras da MP 936:
Bloco de código | ||
---|---|---|
| ||
DECL DataInicioAcordo; DECL DiasDuracao; DECL DiasProrrog; DECL DataCancelamento; DECL DataAntecipacao; DECL DataFimAcordo; DECL DuracaoTotal; DECL DataInicioAcordoAnt; SETVAR (DataInicioAcordoAnt, DATANULA); /* Retorna a quantidade total de dias de acordo por redução de Jornada*/ SE (EXECSQL ('BEM') = Verdade) ENTAO 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); SENAO SETVAR (DiasDuracao, (DiasDuracao+DiasProrrog)); FIMSE; SETVAR (DuracaoTotal, DuracaoTotal+DiasDuracao); SETVAR (DataInicioAcordoAnt, DataInicioAcordo); ATE ProxRegSQL('BEM' ) = Falso FIMSE; SETVAR (DataFimAcordo, DataInicioAcordo + DuracaoTotal); SE (DataFimAcordo + DuracaoTotal) > MTDATA(01,MES,ANO) ENTAO CONCAT ('FUNCIONÁRIO POSSUÍ ESTABILIDADE POR REDUÇÃO DE SALÁRIO ATÉ ', DataFimAcordo+DuracaoTotal) SENAO 'FUNCIONÁRIO SEM ESTABILIDADE POR REDUÇÃO DE JORNADA/SALÁRIO CONFORME MP 936.' FIMSE; |
Passo 4: Criar um fórmula para concatenar o resultado das duas fórmulas acima:
Bloco de código | ||
---|---|---|
| ||
DECL FORESTAB1; DECL FORESTAB2; SETVAR (FORESTAB1, FOR ('ESTAB')); SETVAR (FORESTAB2, FOR ('ESTAB2')); CONCAT2(FORESTAB1, FORESTAB2) |
Passo 5: No parametrizado, menu Rescisão | Cálculo, inserir a fórmula no campo 'Fórmula para Mensagem ao calcular a rescisão':
Ao clicar Clicar no icone Rescisão, a mensagem será exibida conforme a estabilidade do funcionário. No exemplo abaixo, o funcionário não teve redução de Jornada/Salário, mas teve a suspensão do contrato de trabalho do dia 14/04/2020 a 23/05/2020, totalizando 40 dias. A mensagem retornou a data fim da estabilidade devida para este funcionário, somando 40 dias em que estava com o contrato suspenso, a data de retorno da suspensão.
Nota | ||
---|---|---|
| ||
A mensagem configurada acima não impede a rescisão, sendo somente informativa. |