Histórico da Página
...
Considerando o cenário, onde o funcionário teve as férias de 2021 e 2022 concedidas, sem o pagamento de 1/3 de férias e de 1/3 de abono pecuniário.
No período vencido, o funcionário tinha 30 dias de direto, porém vendeu 10 dias. O mesmo foi concedido em Maio/2021 com pagamento em Junho/2021. Os eventos de base Base de 1/3 de Férias, Base de abono pecuniário e 1/3 de Abono pecuniário foram lançados no recibo e envelope de pagamento:
Após a finalização das férias concedidas acima foi criado um novo período aquisitivo de férias entre 01/09/2020 a 31/08/2021. Este período foi antecipado concedendo ao empregado 30 dias de férias, na competência de Junho/2021 com pagamento para 07/07/2021 sem o pagamento do 1/3 de férias. Neste caso não teve o pagamento de abono. O Evento de base de 1/3 de férias foi lançado no recibo e envelope:
Ao finalizar as férias concedidas acima, foi criado um novo período aquisitivo de férias: 01/09/2021 a 31/08/2022:
...
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período antecipado e o evento de base de Cálculo que tem o ⅓ 1/3 de férias lançado, conforme orientado no documento MP 1046 - Adicional de Férias
...
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ 1/3 de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
...
Passo 1: Criar a consulta SQL para retornar o valor do 1/3 abono pecuniário de férias que não foi pago nas férias proporcionais. Nesta consulta é retornado somente os funcionários com o período antecipado e o evento de base de Cálculo que tem o ⅓ 1/3 abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Adicional de Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO < FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B199' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ 1/3 de abono pecuniário de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
...
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Fórmula para adicional de
...
abono pecuniário antecipado que deve ser pago de forma
...
proporcional
Passo 1: Criar a consulta SQL para retornar o valor do abono pecuniário de férias que não foi pago nas férias proporcionais. Nesta consulta é retornado somente os funcionários com o período antecipado e o evento de base de Cálculo que tem o abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA,
PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO
FROM PFUFERIASPER (NOLOCK)
JOIN PFFINANC
ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA
AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO
WHERE DATAPAGTO < FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B198'
|
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de abono pecuniário de férias do período antecipado e que a data final do período aquisitivo é maior que a data de demissão:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1;
DECL DATAPGTOFERIAS;
DECL DATAINICIOFERIAS;
DECL VALOREVENTO;
DECL CH;
DECL TPDEMISSAO;
SETVAR (CH, '');
SETVAR (TPDEMISSAO, TABFUNC('TIPODEMISSAO', ''));
SE EXECSQL('DTFIMFERANT_2') = 1;
ENTAO
REPITA
SE RESULTSQL('DTFIMFERANT_2','CHAPA') = CHAPA
ENTAO
SETVAR (CH, CHAPA);
SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMFERANT_2','FIMPERAQUIS'));
SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMFERANT_2','DATAPAGTO'));
SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMFERANT_2','DATAINICIO'));
SETVAR (VALOREVENTO, RESULTSQL('DTFIMFERANT_2','VALOR')+ VALOREVENTO);
FIMSE
ATE PROXREGSQL('DTFIMFERANT_2') = FALSO;
FIMSE
SE CH <> CHAPA
ENTAO
0
SENAO
SE TPDEMISSAO = 4
ENTAO
0
SENAO
SE FIMPERAQUIS1 > DTD E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021))
ENTAO
VALOREVENTO |
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Fórmula para adicional de férias antecipado que deve ser pago de forma indenizadas
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período vencido e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Férias
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO,
PFFINANC.VALOR, PFFINANC.DTPAGTO
FROM PFUFERIASPER (NOLOCK)
JOIN PFFINANC
ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA
AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO
WHERE DATAPAGTO > FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B099' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, ultrapassando 2 períodos vencidos:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1;
DECL DATAPGTOFERIAS;
DECL DATAINICIOFERIAS;
DECL VALOREVENTO;
DECL CH;
SETVAR (CH, '');
SE EXECSQL('DTFIMPERVENC') = 1;
ENTAO
REPITA
SE RESULTSQL('DTFIMPERVENC','CHAPA') = CHAPA
ENTAO
SETVAR (CH, CHAPA);
SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC','FIMPERAQUIS'));
SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC','DATAPAGTO'));
SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC','DATAINICIO'));
SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC','VALOR')+ VALOREVENTO);
FIMSE
ATE PROXREGSQL('DTFIMPERVENC') = FALSO;
FIMSE
SE CH <> CHAPA
ENTAO
0
SENAO
SE (DATAINICIOFERIAS > FIMPERAQUIS1 OU FIMPERAQUIS1 > DTD) E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021))
ENTAO
VALOREVENTO
|
Executando a fórmula a mesma retornou o valor do evento de Base de Cálculo B099 lançado na Ficha Financeira do pagamento de férias Vencidas:
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Fórmula para adicional de abono pecuniário de férias antecipado que deve ser pago de forma indenizadas
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período vencido e o evento de base de Cálculo que tem o ⅓ 1/3 de abono pecuniário de férias lançado, conforme orientado no documento MP 1046 - Adicional de FériasAbono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO > FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B099B199' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ 1/3 de abono pecuniário de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, não ultrapassando 2 períodos vencidos:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC_1') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC_1','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_1','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_1','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_1','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMPERVENC_1') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE (DATAINICIOFERIAS > FIMPERAQUIS1 OU FIMPERAQUIS1 > DTD) E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Executando a fórmula a mesma retornou o valor do evento de Base de Cálculo B099 lançado na Ficha Financeira do pagamento de férias Vencidas:
,08,2021))
ENTAO
VALOREVENTO
|
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Fórmula para
...
o Abono Pecuniário de férias antecipado que deve ser pago de forma indenizadas
Passo 1: Criar a consulta SQL para retornar os funcionários que tiveram as férias concedidas antecipadas. Nesta consulta é retornado somente os funcionários com o período vencido e o evento de base de Cálculo que tem o ⅓ de férias lançado, conforme orientado no documento MP 1046 - Adicional de Abono Pecuniário
Bloco de código | ||||
---|---|---|---|---|
| ||||
SELECT FIMPERAQUIS, DATAPAGTO, DATAINICIO, PFUFERIASPER.CHAPA, PFFINANC.CODEVENTO, PFFINANC.VALOR, PFFINANC.DTPAGTO FROM PFUFERIASPER (NOLOCK) JOIN PFFINANC ON PFUFERIASPER.CHAPA = PFFINANC.CHAPA AND PFUFERIASPER.DATAPAGTO = PFFINANC.DTPAGTO WHERE DATAPAGTO > FIMPERAQUIS AND PFFINANC.CODEVENTO = 'B199B198' |
Passo 2: Criar a fórmula abaixo que retorna os dados da consulta SQL criada no passo 1, que é referente ao valor de ⅓ abono pecuniário de férias do período vencido e que a data final do período aquisitivo é menor que a data de demissão, não ultrapassando 2 períodos vencidos:
Bloco de código | ||
---|---|---|
| ||
DECL FIMPERAQUIS1; DECL DATAPGTOFERIAS; DECL DATAINICIOFERIAS; DECL VALOREVENTO; DECL CH; SETVAR (CH, ''); SE EXECSQL('DTFIMPERVENC_12') = 1; ENTAO REPITA SE RESULTSQL('DTFIMPERVENC_12','CHAPA') = CHAPA ENTAO SETVAR (CH, CHAPA); SETVAR (FIMPERAQUIS1, RESULTSQL('DTFIMPERVENC_12','FIMPERAQUIS')); SETVAR (DATAPGTOFERIAS, RESULTSQL('DTFIMPERVENC_12','DATAPAGTO')); SETVAR (DATAINICIOFERIAS, RESULTSQL('DTFIMPERVENC_12','DATAINICIO')); SETVAR (VALOREVENTO, RESULTSQL('DTFIMPERVENC_12','VALOR')+ VALOREVENTO); FIMSE ATE PROXREGSQL('DTFIMPERVENC_12') = FALSO; FIMSE SE CH <> CHAPA ENTAO 0 SENAO SE (DATAINICIOFERIAS > FIMPERAQUIS1 OU FIMPERAQUIS1 > DTD) E ( DATAPGTOFERIAS >= MTDATA(27,04,2021) E DATAPGTOFERIAS <= MTDATA(25,08,2021)) ENTAO VALOREVENTO |
Passo 3: Criar um evento de provento e associar a fórmula neste provento:
Calculando rescisão
...
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, os eventos serão lançados conforme o retorno das fórmulas acima:
Funcionário com tipo de demissão 4 - Iniciativa do empregado
Quando executar o cálculo da rescisão inserindo o evento em algumas daquelas entradas sugeridas, o evento de 1/3 de férias proporcionais (referente ao 2º período de gozo exemplificado acima) que era devido, não é lançado. Este tratamento foi feito pois o período aquisitivo ainda não foi adquirido, logo entendemos que conforma a publicação da MP, o mesmo não precisa ser pago: