01. DADOS GERAIS
Produto: | |
---|
Linha de Produto: | Linhas_totvs |
---|
Segmento | Distribuição |
---|
Region | Construção Projetos |
---|
Linha | Linha Protheus |
---|
|
|
---|
Segmento: | |
---|
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ônico | Tipo | Objetivo | Exemplo de preenchimento |
---|
P_MP1046QUI | Caracter | Define 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:
IDDescrição | Coluna da provisão | Adicionais | 1/3 Constit. |
---|
0074 ( |
0074 | Valor | 0077 | ) | 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. | 0205 | Abono Mes Seguinte | Valor |
0206 | ) |
0634 (Media valor sobre Abono Mes seguinte) | 0206 (1/3 Abono Mes. Seg. |
1/3 Constit. | ) |
1312 (ATS Abono Mes) |
|
1313 ( |
0622 | Media Horas sobre Abono | Adicionais |
0623 | Media Valor sobre Abono | Adicionais |
0633 | Media Horas sobre Abono Mes seguinte | Adicionais |
0634 | Media valor sobre Abono Mes seguinte | Adicionais |
1312 | ATS Abono Mes | Adicionais |
1313 | Adicionais | Adicionais (ATS Abono Mês Seg. s/verbas |
Adicionais (Periculosidade Abono Mês) |
Adicionais | (Periculosidade Abono Mês Seg.) |
Adicionais | (Periculosidade Abono Mês s/verbas) |
Adicionais | (Periculosidade Abono Mês Seg. s/verbas |
Adicionais (Insalubridade Abono Mês) |
Adicionais | (Insalubridade Abono Mês Seg. |
Adicionais (Insalubridade Abono Mês s/verbas |
Adicionais (Insalubridade Abono Mês Seg. s/verbas) |
Adicionais | (Adic. Cargo Confiança Abonos Mes) |
Adicionais | (Adic. Cargo Confiança Abono Mês Seg. |
Adicionais (Adic. Transferencia Abono Mes |
Adicionais (Adic. Transferencia Abono Mês Seg.) |
Adicionais | Adicionais | (DSR sobre Medias Abono Mes Seguinte |
Adicionais (Pagto Peric. Sobre Medias Abono) |
Adicionais | (Pagto Insalub. Sobre Medias Abono |
Adicionais (Pagto Peric. Sobre Medias Abono Mes Seguinte) |
Adicionais | (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 |
---|
title | Importante | Observaçã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 |
---|
name | exemplo_v1.prw |
---|
height | 250 |
---|
|
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 |
---|
title | Histórico de atualizações |
---|
|
v1 - 1920/05/2021 - Versão inicial do ponto de entrada de exemplo. |
Expandirwarning |
---|
title | Clique aqui para expandir a explicação do arquivo exemplo | | Importante |
---|
|
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. |
Expandir |
---|
title | Clique 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 |
---|
theme | Emacs |
---|
firstline | 3 |
---|
linenumbers | true |
---|
| 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 |
---|
theme | Emacs |
---|
firstline | 3 |
---|
linenumbers | true |
---|
| 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 folhaNo 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 |
---|
|
title | Clique para expandir explicação do PE GP070P13 |
---|
|
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;
Bloco de código |
---|
theme | Emacs |
---|
firstline | 16 |
---|
linenumbers | true |
---|
|
//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 |
---|
title | Clique 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 |
---|
theme | Emacs |
---|
firstline | 133 |
---|
linenumbers | true |
---|
|
//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 |
---|
title | Clique 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 |
---|
theme | Emacs |
---|
firstline | 143 |
---|
linenumbers | true |
---|
|
//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 |
---|
|
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 |
---|
title | Clique 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 |
---|
theme | Emacs |
---|
firstline | 8 |
---|
linenumbers | true |
---|
| //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á.
...