Páginas filhas
  • MP 1046 - Pagamento de 1/3 de Férias, abono pecuniário e 1/3 de abono pecuniário na Rescisão

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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:

Image RemovedImage Added

Image RemovedImage Added

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:

Image RemovedImage Added

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
languagesql
titleConsulta SQL- Pagamento de 1/3 de Abono de Férias Proporcionais
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
languagesql
titleConsulta SQL- Pagamento de Abono de Férias Proporcionais
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
titleFórmula - Pagamento 1/3 de Abono de Férias Proporcionais
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

Image Added

Passo 3: Criar um evento de provento e associar a fórmula neste provento:

Image Added

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
languagesql
titleConsulta SQL - Pagamento de 1/3 de Férias Vencidas
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
titleFórmula - Pagamento de 1/3 de Férias Vencido
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:

Image Added

Passo 3: Criar um evento de provento e associar a fórmula neste provento:

Image Added

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
languagesql
titleConsulta SQL - Pagamento de 1/3 de Abono de Férias Vencidas
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
titleFórmula - Pagamento de 1/3 de abono pecuniário de Férias Vencido
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

Image AddedImage Removed

Passo 3: Criar um evento de provento e associar a fórmula neste provento:

Image RemovedImage Added

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
languagesql
titleConsulta SQL - Pagamento de 1/3 Abono de Férias Pecuniário Vencidas
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
titleFórmula - Pagamento de 1/3 de abono pecuniário de Férias Vencido
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

Image RemovedImage Added

Passo 3: Criar um evento de provento e associar a fórmula neste provento:

Image RemovedImage Added

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:

Image RemovedImage Added

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:

Image RemovedImage Added