![]()
Esta rotina gera o arquivo de movimento acumulado para os processamentos de folha de pagamento, atualizando os dados a fim de preparar o processamento da folha do mês seguinte, baseado nos dados do mês calculado.
A rotina de Fechamento Mensal executa as seguintes operações nos arquivos:
Movimentos de Folha (SRC)
Períodos (RCH)
Acumulados (RG7)
Arquivo de Acumulados (SRD)
Dias Direito (SRF):
Se RC_PD tem RV_CODFOL = '0072' Férias Legais ou RV_CODFOL = '1383' Férias Progressivas no catálogo de verbas SRV.
RF_DFERVAT = RF_DIASDIR
RF_DFERAAT = RF_DIASDIR
RF_DIASANT = 0
Sendo:
RF_FILIAL = RC_FILIAL
RF_MAT = RC_MAT
RF_PD = RC_PD
RF_DATABAS + mais um ano entre a data de início e fim do período.
É possível encontrar até 2 registros, que são atualizados do mesmo modo.
Calcula o tempo de serviço do funcionário, onde o tempo de serviço são os anos com decimais desde a data de férias do funcionário até a data final do período.
Data para férias: RA_FECVAC
Data final do período: RCH_DTFIM
Tempo de Serviço = Ano(RCH_DTFIM) - Ano(RA_FECVAC)
Calcula decimais:
Se Mês/dia(RCH_DTFIM) <= Mês/dia(RA_FECVAC)
Tempo de Serviço = Tempo de Serviço + (Mês/dia(RCH_DTFIM) - Mês/dia(RA_FECVAC)) / 365
Se não
Tempo de Serviço = Tempo de Serviço - (Mês/dia(RA_FECVAC) - Mês/dia(RCH_DTFIM)) / 365
Com o tempo de serviço, busca na tabela S008-Férias até que a coluna TEMPO DE SERVIÇO seja maior que o tempo de serviço do funcionário.
Considera se o funcionário trabalha em Zona Extrema, que está definida no centro de trabalho atribuído ao funcionário.
Zona Extrema = RGC_EXTREM em que RGC_KEYLOC = RA_KEYLOC.
Exemplo de configuração de tabela S008 - Férias:
Sequência | ZONA EXTREMA | TEMPO DE SERVIÇO | DÍAS DE FÉRIAS | DIAS PROGRESSIVOS |
|---|---|---|---|---|
001 | S | 5.9999 | 15 | 1 |
002 | S | 11.9999 | 15 | 2 |
003 | S | 15.9999 | 15 | 3 |
004 | N | 12.9999 | 15 | 1 |
005 | N | 15.9999 | 15 | 2 |
006 | N | 20.9999 | 15 | 3 |
Caso o dia e o mês de admissão (Arquivo de Funcionários) estejam dentro do período a ser fechado e o ano de admissão seja diferente do ano do período que está sendo fechado, a rotina verifica se algum dos registros com status '1' vence, considerando o campo de vigência das férias (RCJ->RCJ_VIGVAC), em caso afirmativo, o status é mudado (RF_STATUS='2').
Funcionários (SRA)
Incidências (RGB)
Faltas (SR8)