Árvore de páginas

Versões comparadas

Chave

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


01. DADOS GERAIS

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS RH

Linha de Produto:

Linhas_totvs
SegmentoDistribuição
RegionConstrução Projetos
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoRH

Módulo:SIGAGPE
Função:

GPEM070

GPMNEBRA

Ticket:


Requisito/Story/Issue (informe o requisito relacionado) :

DRHPAG-46369

Pacote:


02. SITUAÇÃO/REQUISITO

A MP 1.046/2021, que dispõe sobre as medidas trabalhistas para enfrentamento da emergência de saúde pública de importância internacional decorrente do coronavírus (covid-19), e cujo texto pode ser verificado no endereço: https://www.in.gov.br/en/web/dou/-/medida-provisoria-n-1.046-de-27-de-abril-de-2021-316265470, estabelece no artigo 7º e 8º a possibilidade de postergar o pagamento do 1/3 de férias e do abono pecuniário até a data de pagamento da 2ª parcela do 13º salário:

...

Quando é efetuado o cálculo de provisão no mês que ocorre as férias, não ocorrerá a baixa devido a não haver o pagamento do 1/3 de férias e/ou abono pecuniário. No entanto, esse valor ainda deve ser será quitado , por isso é necessário retorná-los lo ao saldo da provisão do funcionário. Em 2020, foi liberado um tratamento através de ponto pontos de entrada, cuja documentação está disponível no endereço: 8581039 DRHPAG-35723 DT Cálculo e baixa de 1/3 de férias na provisão quando o 1/3 não foi calculado nas férias devido MP 927.

03. SOLUÇÃO

Para a MP 1.046/2021, como foi incluído a possibilidade da postergação do abono pecuniário, e portantoconsequentemente, todas as verbas relacionadas a abono, será efetuado tratamento no cálculo padrão da provisão de férias para retornar os valores de 1/3 de férias e/ou abono pecuniário que tiveram o pagamento postergado ao saldo do funcionário. Ou seja, NÃO será necessário utilizar ponto de entrada para essa finalidade.

Para isso, além de toda a configuração de mnemônicos e verbas detalhados detalhadas na documentação do endereço DRHPAG-46013 DT MP 1.046/2021 - Postergação do pagamento do 1/3 de férias e/ou abono pecuniário, foi efetuado a criação do mnemônico abaixo, onde deverá ser preenchido:

MnemônicoTipoObjetivoExemplo de preenchimento
P_MP1046QUICaracterDefine o período em que ocorrerá a quitação dos valores de 1/3 de férias e abono pecuniário postergados conforme MP 1.046/2021"202112"


No exemplo acima, foi definido que a quitação dos valores postergados conforme MP 1.046/2021 ocorrerá em 12/2021. Dessa forma, então até desde o período 12/2021 será efetuado verificação no cálculo da provisão de férias de início da postergação do pagamento dos valores de 1/3 de férias e/ou abono pecuniário até o período de 12/2021 será efetuado verificação no cálculo da provisão de férias para verificar se houve alguma férias com postergação do pagamento de 1/3 de férias e/ou abono pecuniário para que esses valores sejam retornados ao saldo da provisão de férias vencidas do funcionário.

O Ao realizar o cálculo da provisão, o sistema verificará a verba vinculada no campo RV_CODMPA de cada uma das verbas dos identificadores de cálculo abaixo e retornará o valor gerado no cálculo de férias dessas verbas para o saldo de provisão de férias vencidas do funcionário nas colunas conforme a tabela abaixo:

ID
Valor
DescriçãoColuna da provisão
Adicionais1/3 Constit.
0074 (
0074
Abono Pecun. Ferias
Valor0077
)0622 (Media Horas sobre Abono)0077 (Adicional 1/3 sobre Ferias
1/3 Constit.0078
)
0205 (Abono Mes Seguinte)0623 (Media Valor sobre Abono)0078 (Adicional 1/3 Mes Seguinte
1/3 Constit.0079
)






















0633 (Media Horas sobre Abono Mes seguinte)0079 (Adic. 1/3 Sobre Abono Pecun.
1/3 Constit.0205Abono Mes SeguinteValor0206
)
0634 (Media valor sobre Abono Mes seguinte)0206 (1/3 Abono Mes. Seg.
1/3 Constit.
)
1312 (ATS Abono Mes)





















1313 (
0622Media Horas sobre AbonoAdicionais0623Media Valor sobre AbonoAdicionais0633Media Horas sobre Abono Mes seguinteAdicionais0634Media valor sobre Abono Mes seguinteAdicionais1312ATS Abono MesAdicionais1313
ATS Abono Mês Seg.)
Adicionais
1314
(ATS Abono Mês s/verbas
Adicionais
)
1315
(ATS Abono Mês Seg. s/verbas
Adicionais
)
1316
(Periculosidade Abono Mês)
Adicionais
1317
(Periculosidade Abono Mês Seg.)
Adicionais
1318
(Periculosidade Abono Mês s/verbas)
Adicionais
1319
(Periculosidade Abono Mês Seg. s/verbas
Adicionais
)
1320
(Insalubridade Abono Mês)
Adicionais
1321
(Insalubridade Abono Mês Seg.
Adicionais
)
1322
(Insalubridade Abono Mês s/verbas
Adicionais
)
1323
(Insalubridade Abono Mês Seg. s/verbas)
Adicionais
1324
(Adic. Cargo Confiança Abonos Mes)
Adicionais
1325
(Adic. Cargo Confiança Abono Mês Seg.
Adicionais
)
1326
(Adic. Transferencia Abono Mes
Adicionais
)
1327
(Adic. Transferencia Abono Mês Seg.)
Adicionais
1330
(DSR sobre Medias Abono)
Adicionais
1331
(DSR sobre Medias Abono Mes Seguinte
Adicionais
)
1407
(Pagto Peric. Sobre Medias Abono)
Adicionais
1408
(Pagto Insalub. Sobre Medias Abono
Adicionais
)
1409
(Pagto Peric. Sobre Medias Abono Mes Seguinte)
Adicionais
1410
(Pagto Insalub. Sobre Medias Abono Mes Seguinte
Adicionais
)


No período definido no mnemônico P_MP1046QUI, também ocorrerá a busca dos valores no cálculo de folha dos funcionário para a realização da baixa do pagamento dos valores de 1/3 de férias e/ou abono pecuniário.

Obs.: no padrão, a busca pela baixa de pagamento dos valores de férias somente ocorre quando o funcionário está de férias, mas no período configurado no mnemônico P_MP1046QUI será forçado efetuado a realização da busca desses valores mesmo se o funcionário não estiver de férias.


Para Mas para a realização da baixa do pagamento dos valores de 1/3 de férias e/ou abono pecuniário , será necessário utilizar o ponto de entrada GP070COD, que será utilizado para definir as verbas onde foram realizadas a quitação dos valores postergados.Segue um arquivo de exemplo abaixo para a tratativa mencionada, devido a não haver um cadastro onde essa configuração é realizada.

Informações
titleImportanteObservação

A quitação dos valores postergados será realizado através da execução do programa PGTFER927, cuja documentação está disponível no endereço: 10397952 DRHPAG-41780 DT RDMake PgtFer927. Como não há cadastro no sistema onde é possível definir a verba onde ocorrerá a geração da quitação do pagamento, há a necessidade de utilização de ponto de entrada.


Segue um arquivo de exemplo abaixo para a tratativa mencionada.

View file
nameexemplo_v1.prw
height250


O arquivo deverá ser baixado, alterado conforme necessidade e compilado no RPO. Como cada cliente possui códigos de verbas diferenciados, é necessário alterar e adaptar o ponto de entrada conforme necessidade.

Obs.: NÃO é necessário cadastrá-lo no menu, pois o arquivo somente contém implementações de pontos de entrada.

Nota
titleHistórico de atualizações

v1 - 1920/05/2021 - Versão inicial do ponto de entrada de exemplo.



Expandirwarning
titleClique aqui para expandir a explicação do arquivo exemploImportante

O arquivo deverá ser baixado, alterado conforme necessidade e compilado no RPO. Como cada cliente possui códigos de verbas diferenciados, é necessário alterar e adaptar o ponto de entrada conforme necessidade.

Obs.: NÃO é necessário cadastrá-lo no menu, pois o arquivo somente contém implementações de pontos de entrada.



O ponto de entrada irá efetuar os seguintes procedimentos:

Linha 33: se o cálculo da provisão está entre o período inicial e período de pagamento 1/3 de férias;

Linha 35: se o período estiver em aberto, efetua busca na tabela SRC para verba de quitação de 1/3 de férias adiado, ou se o período estiver fechado, efetua a busca na tabela SRD. Se encontrar a verba, significa que não é necessário retornar o saldo de 1/3 de férias;

Linha 43: se precisa retornar o saldo de 1/3 de férias e encontrar cálculo de férias para o funcionário na tabela SRH;

Linha 45: percorre todos os registros da tabela SRH para o funcionário;

Linha 47: se o cálculo de férias iniciou entre o período inicial e período final do adiamento de 1/3 de férias;

Linha 49: se encontrou na tabela SRR pela verba de base de 1/3 de férias mês;

Linha 51: percorre todos os registros da tabela SRR da verba de base de 1/3 de férias mês para o funcionário;

Linha 52: pega o valor da verba através do campo RR_VALOR;

Linha 53: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 54: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 55: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 56: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Linha 61: se encontrou na tabela SRR pela verba de base de 1/3 de férias mês seguinte;

Linha 63: percorre todos os registros da tabela SRR da verba de base de 1/3 de férias mês seguinte para o funcionário;

Linha 64: pega o valor da verba através do campo RR_VALOR;

Linha 65: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 66: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 67: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 68: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Linha 73: se encontrou na tabela SRR pela verba de base de 1/3 de abono mês;

Linha 75: percorre todos os registros da tabela SRR da verba de base de 1/3 de abono mês para o funcionário;

Linha 76: pega o valor da verba através do campo RR_VALOR;

Linha 77: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 78: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 79: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 80: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Linha 85: se encontrou na tabela SRR pela verba de base de 1/3 de abono mês seguinte;

Linha 87: percorre todos os registros da tabela SRR da verba de base de 1/3 de abono mês seguinte para o funcionário;

Linha 88: pega o valor da verba através do campo RR_VALOR;

Linha 89: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 90: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 91: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 92: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Linha 97: se encontrou na tabela SRR pela verba de base de abono mês;

Linha 99: percorre todos os registros da tabela SRR da verba de abono mês para o funcionário;

Linha 100: pega o valor da verba através do campo RR_VALOR;

Linha 101: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 102: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 103: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 104: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Linha 109: se encontrou na tabela SRR pela verba de base de abono mês seguinte;

Linha 111: percorre todos os registros da tabela SRR da verba de base de abono mês seguinte para o funcionário;

Linha 112: pega o valor da verba através do campo RR_VALOR;

Linha 113: adiciona o valor da verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de 1/3 de férias;

Linha 114: adiciona o valor de INSS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de INSS;

Linha 115: adiciona o valor de FGTS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de FGTS;

Linha 116: adiciona o valor de PIS correspondente a verba encontrada na posição do Array de férias vencidas correspondente ao saldo atual de PIS;

Expandir
titleClique aqui para expandir a explicação do arquivo exemplo

Na parte superior do ponto de entrada, foram declaradas 4 variáveis auxiliares do tipo Static, que irão conter as definições dos códigos das verbas onde foi realizado o pagamento da quitação dos valores postergados na folha de pagamento.

Os códigos das verbas devem ser alterados conforme o código das verbas que foram cadastradas :

Bloco de código
themeEmacs
firstline3
linenumberstrue
Static cVbFerUmT    :=	"MP9"// 

Na parte superior do ponto de entrada, foram declaradas 12 variáveis auxiliares do tipo Static, que irão conter as definições de período inicial e verbas. Os valores devem ser alterados conforme o período de adiamento de 1/3 de férias e de acordo com o código das verbas que foram cadastradas no cadastro de verbas:

Bloco de código
themeEmacs
firstline3
linenumberstrue
Static cPIniMP927   :=	"202003"//Variável para definir o períodocódigo inicialda queverba começou o adiamento de de 1/3 de férias paga na folha
Static cPFimMP927cVbAboUmT    :=	"202007MPA"// Variável para definir o períodocódigo finalda do adiamentoverba de 1/3 de fériasabono paga na folha
Static cPPgtoFolcVbAbo       :=	"202012MPY"// Variável para definir o períodocódigo emda queverba ocorrede oabono pagamentopaga emna folha de 1/3 adiado
Static cVbUmTFer cVbAboAdic   :=	"MP1MPZ"// Variável para definir o código da verba de base de  adicionais sobre abono paga na folha


No exemplo acima, foi definido que a verba MP9 é a verba de provento que será gerada na folha para o pagamento do 1/3

de

férias mês Static cVbUmTFMS := "MP2"//Variável para definir o código da verba de base de 1/3 de férias mês seguinte Static cVbUmTAbo := "MP5"//Variável para definir o código da verba de base de 1/3 de abono mês Static cVbUmTAMS := "MP6"//Variável para definir o código da verba de base de 1/3 de abono mês Static cVbAboMes := "MPX"//Variável para definir o código da verba de base de abono mês Static cVbAboMS := "MPY"//Variável para definir o código da verba de base de abono mês seguinte Static cVbUmTFol := "MP9"//Variável para definir o código da verba de 1/3 de férias paga na folha Static cVbUmTAFol := "MPA"//Variável para definir o código da verba de 1/3 de abono paga na folha Static cVbAbTFol := "MPZ"//Variável para definir o código da verba de abono paga na folha

No exemplo acima, foi definido que em 03/2020 foi iniciado o adiamento de 1/3 de férias com término em 07/2020 e em 12/2020 será efetuado o pagamento em folha do valor de 1/3 adiado. As verbas MP1 e MP2 foram cadastradas como do tipo base referente ao 1/3 de férias mês e mês seguinte adiado, as verbas MP5 e MP6 foram cadastradas como do tipo base referente ao 1/3 de abono mês e mês seguinte adiado, as verbas MPX e MPY foram cadastradas como do tipo base referente ao abono mês e mês seguinte adiado e são gerados no Cálculo de Férias; já a verba MP9 é a verba de provento que será gerada na folha para o pagamento de 1/3 de férias adiado, a verba MPA é a verba de provento que será gerada na folha para o pagamento de 1/3 de abono adiado e a verba MPZ é a verba de provento que será gerada na folha para o pagamento do abono adiado.

Expandir
titleClique para expandir explicação do PE GP070P13
Bloco de código
themeEmacs
firstline16
linenumberstrue
//Ponto de entrada para alterar o valor provisionado de férias vencidas para retornar o valor de 1/3 para o saldo
User Function GP070P13()

Local aAreaSRC := SRC->( GetArea() )
Local aAreaSRD := SRD->( GetArea() )
Local aAreaSRH := SRH->( GetArea() )
Local aAreaSRR := SRR->( GetArea() )
Local lProvUmT := .T.
Local nValAbo := 0
Local nValUmT := 0

SRC->( dbSetOrder(1) )//RC_FILIAL+RC_MAT+RC_PD+RC_CC+RC_SEMANA+RC_SEQ
SRD->( dbSetOrder(1) )//RD_FILIAL+RD_MAT+RD_DATARQ+RD_PD+RD_SEMANA+RD_SEQ+RD_CC+RD_PROCES
SRH->( dbSetOrder(1) )//RH_FILIAL+RH_MAT+DTOS(RH_DATABAS)+DTOS(RH_DATAINI)
SRR->( dbSetOrder(1) )//RR_FILIAL+RR_MAT+RR_TIPO3+DTOS(RR_DATA)+RR_PD+RR_CC+RR_PROCES

//Se o cálculo da provisão estiver dentro do período do adiamento do 1/3
If cAnoMes >= cPIniMP927 .And. cAnoMes <= cPFimMP927
//Pesquisa na tabela SRC a verba de pagamento do 1/3 adiado
If SRC->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + cVbUmTFol) ) .And. SRC->RC_PERIODO == cAnoMes
lProvUmT := .F.
EndIf
//Pesquisa na tabela SRD a verba de pagamento do 1/3 adiado
If SRD->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + cAnoMes + cVbUmTFol) )
lProvUmT := .F.
EndIf
//Se não houve pagamento do 1/3 adiado realiza busca na tabela SRH para verificar se o funcionário possui férias calculadas
If lProvUmT .And. SRH->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT) )
//Pesquisa por todos os registros existentes na tabela SRH para o funcionário
While SRH->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT == SRH->RH_FILIAL+SRH->RH_MAT
//Se o cálculo das férias estiver dentro do período do adiamento do 1/3
If cAnoMes >= AnoMes(SRH->RH_DATAINI) .And. AnoMes(SRH->RH_DATAINI) >= cPIniMP927 .And. AnoMes(SRH->RH_DATAINI) <= cPFimMP927
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de 1/3 de férias mês
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbUmTFer ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbUmTFer == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValUmT := SRR->RR_VALOR
aFerVenc[_Atual,_1Ter] += nValUmT//1/3 de férias
aFerVenc[_Atual,_INSS] += NoRound(nValUmT * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValUmT * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValUmT * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de 1/3 de férias mês seguinte
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbUmTFMS ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbUmTFMS == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValUmT := SRR->RR_VALOR
aFerVenc[_Atual,_1Ter] += nValUmT//1/3 de férias
aFerVenc[_Atual,_INSS] += NoRound(nValUmT * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValUmT * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValUmT * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de 1/3 de abono mês
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbUmTAbo ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbUmTAbo == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValUmT := SRR->RR_VALOR
aFerVenc[_Atual,_1Ter] += nValUmT//1/3 de abono
aFerVenc[_Atual,_INSS] += NoRound(nValUmT * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValUmT * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValUmT * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de 1/3 de abono mês seguinte
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbUmTAMS ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbUmTAMS == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValUmT := SRR->RR_VALOR
aFerVenc[_Atual,_1Ter] += nValUmT//1/3 de abono
aFerVenc[_Atual,_INSS] += NoRound(nValUmT * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValUmT * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValUmT * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de abono mês
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbAboMes ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbAboMes == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValAbo := SRR->RR_VALOR
aFerVenc[_Atual,_Prov] += nValAbo//Abono
aFerVenc[_Atual,_INSS] += NoRound(nValAbo * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValAbo * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValAbo * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
//Pesquisa nas verbas calculadas nas férias do funcionário pela verba de base de abono mês seguinte
If SRR->( dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + "F" + dToS(SRH->RH_DATAINI) + cVbAboMS ) )
//Pesquisa por todos os registros existentes na tabela SRR para o funcionário referente à verba de base de 1/3
While SRR->( !Eof() ) .And. SRA->RA_FILIAL+SRA->RA_MAT+"F"+dToS(SRH->RH_DATAINI)+cVbAboMS == SRR->RR_FILIAL+SRR->RR_MAT+SRR->RR_TIPO3+dToS(SRR->RR_DATA)+SRR->RR_PD
nValAbo := SRR->RR_VALOR
aFerVenc[_Atual,_Prov] += nValAbo//Abono
aFerVenc[_Atual,_INSS] += NoRound(nValAbo * (nPercEmp+nPercTer+nPercAcTrab))//INSS
aFerVenc[_Atual,_FGTS] += NoRound(nValAbo * nPercFgts)//FGTS
aFerVenc[_Atual,_PIS] += NoRound(nValAbo * nPercPis)//PIS
SRR->( dbSkip() )
End
EndIf
EndIf
SRH->( dbSkip() )
End
EndIf
EndIf

RestArea( aAreaSRC )
RestArea( aAreaSRD )
RestArea( aAreaSRH )
RestArea( aAreaSRR )

Return
Expandir
titleClique para expandir explicação do PE GP070COD

Linha 136: adiciona o código da verba de quitação de 1/3 de férias adiado na folha na variável Private cCodUmTer, para que o sistema efetue a baixa na coluna de 1/3 de férias;

Linha 137: adiciona o código da verba de quitação de 1/3 de abono adiado na folha na variável Private cCodUmTer, para que o sistema efetue a baixa na coluna de 1/3 de férias;

Linha 138: adiciona o código da verba de quitação de 1/3 de abono adiado na folha na variável Private cCodAbono, para que o sistema efetue a baixa na coluna de 1/3 de férias;

Linha 139: adiciona o código da verba de quitação do abono adiado na folha na variável Private cCodAbono, para que o sistema efetue a baixa na coluna de férias;

Bloco de código
themeEmacs
firstline133
linenumberstrue
//Ponto de entrada para adicionar uma verba específica nas variáveis que irão controlar a divisão da baixa de férias
User Function GP070COD()

cCodUmTer   += cVbUmTFol+"*"
cCodAbono   += cVbUmTAFol+"*"
cCodAbono   += cVbAbTFol+"*"

Return
Expandir
titleClique para expandir explicação do PE GP070FBX

Linha 149: se o cálculo da provisão está no período de pagamento em folha de 1/3 de férias adiado;

Linha 150: atribui .T. para a variável lBaixa para que indique ao sistema que seja forçado a busca pela baixa de férias;

Bloco de código
themeEmacs
firstline143
linenumberstrue
//Ponto de entrada para forçar a busca pela baixa de férias, mesmo em mês que o funcionário não está de férias
User Function GP070FBX()

Local lBaixa := .F.

//Se o cálculo da provisão estiver no período de pagamento do 1/3 adiado em folha, força a verificação da baixa
If cAnoMes == cPPgtoFol
    lBaixa := .T.
EndIf

Return lBaixa
Dica
titleDica

férias adiado, a verba MPA é a verba de provento que será gerada na folha para o pagamento de 1/3 de abono adiado, a verba MPY é a verba de provento que será gerada na folha para o pagamento do abono pecuniário adiado e a verba MPZ é a verba de provento que será gerada na filha para o pagamento dos adicionais sobre abono pecuniário (adicionais de salário e médias).

Se houverem outras verbas, basta incluir novas variáveis com os códigos de verbas necessários.


Expandir
titleClique para expandir explicação do PE GP070COD

Linha 11: adiciona o código da verba de quitação de 1/3 de férias e o da verba de quitação de 1/3 de abono pecuniário na folha na variável Private cCodUmTer, para que o sistema efetue a baixa na coluna de 1/3 de férias;

Linha 12: adiciona o código da verba de quitação do abono pecuniário adiado na folha na variável Private cCodAbono, para que o sistema efetue a baixa na coluna de valor;

Linha 13: adiciona o código da verba de quitação do adicional de abono pecuniário adiado na folha na variável Private cCodAdiAbo, para que o sistema efetue a baixa na coluna de adicionais;


Bloco de código
themeEmacs
firstline8
linenumberstrue
//Ponto de entrada para adicionar uma verba específica nas variáveis que irão controlar a divisão da baixa de férias
User Function GP070COD()
    
cCodUmTer   += cVbFerUmT + "*" + cVbAboUmT + "*"
cCodAbono   += cVbAbo + "*" + cVbAboUmT + "*"
cCodAdiAbo  += cVbAboAdic + "*"

Return
O tratamento para retornar o 1/3 de férias para o saldo de provisão do funcionário continuará a ser realizada conforme documentação disponível no endereço: 8581039 DRHPAG-35723 DT Cálculo e baixa de 1/3 de férias na provisão quando o 1/3 não foi calculado nas férias devido MP 927.



04. DEMAIS INFORMAÇÕES

DRHPAG-46013 DT MP 1.046/2021 - Postergação do pagamento do 1/3 de férias e/ou abono pecuniário.

10397952 DRHPAG-41780 DT RDMake PgtFer927.


05. ASSUNTOS RELACIONADOS

Não há.



Templatedocumentos

...