Histórico da Página
...
Bloco de código | ||
---|---|---|
| ||
/* Cálculo utilizado para o layout do BEM versão 3 */ /* Data Atualização : 29/06/2020 */ /* EssaData fórmula irá calcular o valor a reduzir de jornada e deverá ser associado a um evento de desconto no pagamento do funcionário. 1 Atualização: 10/08/2020 */ /* Data Atualização: 28/09/2020 */ /* Data Atualização: 30/09/2020 */ /* Data Atualização: 20/10/2020 */ /* Data Atualização: 23/10/2020 - Será considerado mais de umuma períodoprorrogação. deNecessário adesãoinformar doa histórico do BEM dentrodata fim da competência exemploprorrogação, quando umahouver. adesãoNecessário comatualizar percentuala deconsulta 25%SQL finalizando'BEM' no mês e uma nova adesão de 50% iniciando no mês 2 - Será considerado os novos campos do Layout do BEM 3 - Adesões com a mesma data de acordo, considerando Dias prorrogação, Data antecipação e Data Cancelamento */ Antes de criar a fórmula, deverá atualizar a consulta SQL BEM incluído os novos campos select DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM,DTCANCELAMENTOBEM,DTANTECIPACAOBEM,DIASPRORROGACAOBEM from PFHSTBEM where codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA and TIPOADESAOBEM = '1' DECL DiasDuracao; DECL DataFimAcordo; DECL DataInicioReducao; DECL DataFimReducao; DECL ValorReduzido; DECL DiasReducaoMes; DECL Valor; DECL DiasProrrog; DECL DataCancelamento; DECL DataAntecipacao; DECL DataInicioAcordoAnt; DECL DataInicioAcordo; SETVAR (DataInicioAcordoAnt,DATANULA); SE (EXECSQL ('BEM') = Verdade) ENTAO REPITA SETVAR (ValorReduzido,resultsql('BEM','VALORREDUZIDOBEM')); 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')); SETVAR (DataFimAcordo,(DataInicioAcordo + DiasDuracao)-1) ; /*Verifica se tem a mesma data de Acordo */ SE (DataInicioAcordo = DataInicioAcordoAnt) ENTAO SE (DiasProrrog > 0) ENTAO SETVAR (DataInicioAcordo,(DataFimAcordo +1)); SETVAR (DataFimAcordo,((DataFimAcordo + 1) + DiasProrrog)); SENAO SE (DataCancelamento <> DATANULA) ENTAO SETVAR (DataInicioAcordo,(DataFimAcordo +1)); SETVAR (DataFimAcordo,DataCancelamento) SENAO SE (DataAntecipacao <> DATANULA) ENTAO SETVAR (DataInicioAcordo,(DataFimAcordo +1*/ /* Data Atualização: 10/11/2020 - Será considerado mais de uma prorrogação. Necessário informar a data INICIO da prorrogação, quando houver. /* Essa fórmula irá calcular o valor a reduzir de jornada e deverá ser associado a um evento de desconto no pagamento do funcionário. 1 - Será considerado mais de um período de adesão do histórico do BEM dentro da competência exemplo, uma adesão com percentual de 25% finalizando no mês e uma nova adesão de 50% iniciando no mês 2 - Será considerado os novos campos do Layout do BEM 3 - Adesões com a mesma data de acordo, considerando Dias prorrogação, Data antecipação e Data Cancelamento */ 3 - Será considerado mais de uma prorrogação. Necessário informar a data do início da prorrogação. 1 - Antes de criar a fórmula, deverá atualizar a consulta SQL BEM incluído os novos campos select DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM,DTCANCELAMENTOBEM,DTANTECIPACAOBEM,DIASPRORROGACAOBEM,PERCENTUALREDUCAOBEM,DTPRORROGACAOBEM FROM PFHSTBEM where codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA and TIPOADESAOBEM = '1' ORDER BY DTMUDANCA DESC 2 - Colar o conteúdo da fórmula abaixo: DECL DiasDuracao; DECL DataFimAcordo; DECL DataInicioReducao; DECL DataFimReducao; DECL DataInicioProrroga; DECL ValorReduzido; DECL DiasReducaoMes; DECL Valor; DECL DiasProrrog; DECL DataCancelamento; DECL DataAntecipacao; DECL DataInicioAcordoAnt; DECL DataInicioAcordo; DECL ConsideraAcordo; SETVAR (DataInicioAcordoAnt,DATANULA); SE (EXECSQL ('BEM') = Verdade) ENTAO REPITA SETVAR (ValorReduzido,resultsql('BEM','VALORREDUZIDOBEM')); 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')); SETVAR (DataFimAcordo,DataAntecipacao) DataInicioProrroga,resultsql('BEM','DTPRORROGACAOBEM')); SETVAR (DataFimAcordo,(DataInicioAcordo + DiasDuracao)-1) FIMSE; FIMSE FIMSE FIMSE SETVAR (DataInicioAcordoAntConsideraAcordo,DataInicioAcordo1); SE (DataInicioAcordo <= ULTDIAMES(MTDATA(1,MES,ANO)) E DataFimAcordo >= MTDATA(1,MES,ANO) ) ENTAO /* Verifica se tem antecipação, prorrogação ou cancelamento */ SETVAR(DatainicioReducao,DataInicioAcordo); SETVAR(DataFimReducao,DataFimAcordo);SE (DiasProrrog > 0) SE (DataInicioAcordo <= MTDATA(1,MES,ANO)) ENTAO SETVAR (DatainicioReducaoDataFimAcordo,MTDATA(01,MES,ANO(DataInicioProrroga + DiasProrrog)); FIMSE;SENAO SE (DataFimAcordoDataCancelamento > ULTDIAMES(MTDATA(1,MES,ANO)))<> DATANULA) ENTAO SETVAR (DataFimReducao,ULTDIAMES(MTDATA(1,MES,ANO)))DataFimAcordo,DataCancelamento); FIMSE; SENAO /* calcula dias redução no mes*/ SE SETVAR(DiasReducaoMes, SUBTRAIDATAS(DataFimReducao,DatainicioReducao)+1);DataAntecipacao <> DATANULA) /*ENTAO calcula dias redução no mês desconsiderando férias*/ SETVAR (DiasReducaoMesDataFimAcordo,(DiasReducaoMesDataAntecipacao - DIAFERPER(DatainicioReducao,DataFimReducao+ 1))); /* calcula dias reduçãoFIMSE; no mês desconsiderando afastamento*/ FIMSE; SETVAR(DiasReducaoMes,(DiasReducaoMes - DIASAFT(DatainicioReducao,DataFimReducao,'PTO'))) FIMSE; SETVAR(ValorReduzido,(ValorReduzido / 30) * MIN(DiasReducaoMes,30)); /*Verifica Somase dois períodos de reduçãoé o mesmo acordo e teve antecipação, prorrogação ou cancelamento no mêsseguinte */ SE SETVAR((Valor,ValorDataInicioAcordo += ValorReduzidoDataInicioAcordoAnt); E SENAO 0 FIMSE; ATE ProxRegSQL('BEM' ) = Falso FIMSE; Valor; /* Cálculo utilizado para o Layout do BEM versão 2 */ /* Data Atualização : 15/06/2020 */ /* Essa fórmula irá calcular o valor a reduzir de jornada é deverá ser associado a um evento de desconto no pagamento do funcionário. Será considerado mais de um período de adesão do histórico do BEM dentro da competência exemplo, uma adesão com percentual de 25% finalizando no mês e uma nova adesão de 50% iniciando no mês */ DECL DataInicioAcordo; DECL DataFimAcordo; DECL DataInicioReducao; DECL DataFimReducao; DECL DiasReducao; DECL ValorReduzido; DECL DiasReducaoMes; DECL Valor; SE (EXECSQL ('BEM') = Verdade) ENTAO REPITA SETVAR (DataInicioAcordo,resultsql('BEM','DTACORDOBEM')); SETVAR (DataFimAcordo,((resultsql('BEM','DTACORDOBEM')) + (resultsql('BEM','DURACAOBEM')))); SETVAR (ValorReduzido,resultsql('BEM','VALORREDUZIDOBEM')); SE (DataInicioAcordo <((DataAntecipacao = DATANULA) OU (DiasProrrog = 0) OU (DataCancelamento = DATANULA))) ENTAO SETVAR(ConsideraAcordo,0) FIMSE; /*Considera acordo no cálculo */ SE (ConsideraAcordo = 1) ENTAO SE (DataInicioAcordo <= ULTDIAMES(MTDATA(1,MES,ANO)) E DataFimAcordo >= MTDATA(1,MES,ANO) ) ENTAO SETVAR(DatainicioReducao,DataInicioAcordo); SETVAR(DataFimReducao,DataFimAcordo); /*Atribui início redução */ SE (DataInicioAcordo <= MTDATA(1,MES,ANO)) ENTAO SETVAR(DatainicioReducao,MTDATA(01,MES,ANO)) FIMSE; /*Atribui fim redução */ SE (DataFimAcordo > ULTDIAMES(MTDATA(1,MES,ANO))) E DataFimAcordo >= MTDATA(1,MES,ANO) ) ENTAO SETVAR(DatainicioReducao,DataInicioAcordo); SETVAR(DataFimReducao,DataFimAcordo); SE (DataInicioAcordo < DataFimReducao,ULTDIAMES(MTDATA(1,MES,ANO)) ENTAO) SETVAR(DatainicioReducao,MTDATA(01,MES,ANO)) FIMSE; FIMSE; /* calcula dias redução SE (DataFimAcordo > no mes*/ SE (DIADT(ULTDIAMES(MTDATA(1,MES,ANO))) ENTAO = 30) SETVAR(DataFimReducao,OU (DIADT(ULTDIAMES(MTDATA(1,MES,ANOMESDT(DataInicioAcordo),ANODT(DataInicioAcordo)))) = 30) FIMSE; /*ENTAO calcula dias redução no mes*/ SETVAR(DiasReducaoMes, SUBTRAIDATAS(DataFimReducao,DatainicioReducao)+1); SENAO /* calcula dias redução no mês desconsiderando férias*/ SETVAR(DiasReducaoMes,(DiasReducaoMes - DIAFERPER(DatainicioReducao,DataFimReducao))); SUBTRAIDATAS(DataFimReducao,DatainicioReducao)) FIMSE; /* calcula dias redução no mês desconsiderando afastamento*/ SETVAR(DiasReducaoMes,(DiasReducaoMes - DIASAFT(DatainicioReducao,DataFimReducao,'PTO'))); SETVAR(ValorReduzido,(ValorReduzidoValorReduzido,(ValorReduzido / 30) * MIN(DiasReducaoMes,30)); /* Soma dois períodos decalcula dias redução no mês desconsiderando férias*/ SETVAR(ValorDiasReducaoMes,Valor(DiasReducaoMes + ValorReduzido - DIAFERPER(DatainicioReducao,DataFimReducao))); SENAO 0 FIMSE; ATE ProxRegSQL('BEM' ) = Falso FIMSE; Valor; Antes da criação da fórmula acima deverá criar a consulta SQL código da Consulta = "BEM". select DTACORDOBEM,DURACAOBEM,VALORREDUZIDOBEM from PFHSTBEM where codcoligada =:FRM_COLIGADA and chapa =:FRM_CHAPA and TIPOADESAOBEM = '1' |
Fórmula associada ao evento que será lançado no movimento do Funcionário.
Envelope lançou o valor referente ao período que considera a Jornada reduzida:
/* calcula dias redução no mês desconsiderando afastamento*/
SETVAR(DiasReducaoMes,(DiasReducaoMes - DIASAFT(DatainicioReducao,DataFimReducao,'PTO')));
/* Soma dois períodos de redução no mês */
SETVAR(Valor,Valor + ValorReduzido);
SENAO 0
FIMSE;
FIMSE;
SETVAR (DataInicioAcordoAnt,DataInicioAcordo);
ATE ProxRegSQL('BEM' ) = Falso
FIMSE;
Valor;
Fórmula associada ao evento que será lançado no movimento do Funcionário. |
Envelope lançou o valor referente ao período que considera a Jornada reduzida:
Diferença Salarial por Dissídio x Redução de Jornada/Salário
A MP 936 convertida em Lei n° 14.020 , foi criada com o objetivo de preservar o emprego e renda dos trabalhadores, garantir as atividades empresariais e laborais, e reduzir os impactos sociais da calamidade pública decorrentes ao COVID-19.
A MP com a conversão da Lei não traz a questão do dissídio retroativo, dessa forma o entendimento é que ela veio flexibilizar algumas regras trabalhistas, e devemos nos atentar o que diz o artigo 471 da CLT.
Art. 471 - Ao empregado afastado do emprego, são asseguradas, por ocasião de sua volta, todas as vantagens que, em sua ausência, tenham sido atribuídas à categoria a que pertencia na empresa.
Link Consultoria MP 936/2020 - Lei n° 14.020 - Redução de salário e jornada com dissidio retroativo
No produto, a diferença salarial por dissídio será calculada considerando o salário integral.
A fórmula que calcula o valor redutor não reduzirá a jornada/salário considerando o reajuste salarial, conforme entendimento acima.
Caso a empresa tenha interpretação jurídica diferente do exposto, poderá usar recursos de fórmulas do produto e customizar o cálculo considerando o aumento salarial no desconto redutor de jornada/salário.
Abaixo roteiro para utilização deste recurso.
MP 936 - Fórmula de redução da jornada/salário considerando aumento salarial por dissídio