Ponto de entrada criado antes da montagem dos arrays dos tipos de médias para que seja possível alterar a quantidade de avos considerados para divisão das médias.
Exemplo: Rescisão com aviso prévio indenizado. Por padrão o Protheus não considerará o avo do aviso na divisão para encontrar o valor da média, sendo assim, se o valor total para médias for de 2000 reais, o trabalhador for admitido em 01/01/2017 e a rescisão de for em 31/03/2017, a média de férias proporcionais será 2000 / 3, resultando em 666,66. Para que seja considerado um avo a mais na divisão, referente ao aviso, será necessário alterar a respectiva posição no array de férias proporcionais de 3 para 4.
Segue o que representa cada posição do array passado como parâmetro para o ponto de entrada cujos valores podem ser alterados:
- Posição 1: Férias Vencidas;
- Posição 2: Férias Proporcionais;
- Posição 3: 13° salário;
- Posição 4: Rescisão - Aviso Prévio;
- Posição 5: Licença Maternidade.
Segue o trecho do fonte que chama o ponto de entrada:
-------------------------------------------------------------------------------------------------
//--Carrega verbas com incidencia para Media
IF ( SRA->RA_CATFUNC == "H" .AND. SRA->(COLUMNPOS( "RA_HOJORVA" )) > 0 .AND. SRA->RA_HOJORVA == "1" )
Pd := {}
Endif
//Ponto de entrada para alterar a quantidade de avos para divisão das médias
If ExistBlock("GPAVOSMED")
nQualMedPE := Execblock("GPAVOSMED",.F.,.F.,nQualMed)
If ValType(nQualMedPE) == "A" .And. Len(nQualMedPE) == 6
nQualMed := nQualMedPE
EndIf
EndIf
If cFilPd != FwxFilial("SRV") .OR. Empty(Pd)
cFilPd := FwxFilial("SRV") //#SRA->RA_FILIAL
Pd := {}
fCargaPro(cFilPd,@Pd,acodfol)
EndIf
-------------------------------------------------------------------------------------------------
IMPORTANTE:
O ponto de entrada deve SEMPRE retornar um array que contenha os dados já existentes no array nQualMed sem alterar o seu tamanho, apenas seu conteúdo se necessário. O array retornado deve SEMPRE retornar as 6 posições já existentes no parâmetro passado como referência, não podendo ser retirada nem adicionada nenhuma posição.