Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como utilizar o ponto de entrada GP110SRZ (GPEM110)?
Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - A partir da versão 12.1.17
Solução
CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Parâmetros
- Variáveis de retorno
01. VISÃO GERAL
Ponto de Entrada para manipulação do conteúdo dos vetores aTotFunFer, a13Salar e a14Salar de forma que seja permitido o rateio dos mesmos por Item e Classe de valor.
O retorno deve ser um array tridimensional onde cada nível representará o rateio efetuado.
Nesses níveis devem ser inclusas duas novas posições no final do vetor: uma para o código de Item e outra para o código de Classe de Valor.
Os vetores aTotFunfer,a13Salar e a14Salar possuem a mesma estrutura.
Cada nível terá essa mesma estrutura composta por:
10 Linhas ou Elementos.
8 Colunas para cada Linha ou Elemento.
Sendo cada Coluna correspondente a valores ref. a :
1- Provisão de Férias ou Décimo Terceiro Salário.
2- Avos de 13º Salário.
3- Média Salário Provisão de Férias (posição liberada para mercado internacional - Uruguai).
4- Adicionais.
5- Um Terço de Férias.
6- INSS.
7- FGTS.
8- PIS.
Utilizar parâmetros:
MV_RATPROV com conteúdo igual a 'N'.
MV_ITMCLVL com conteúdo igual a '1'.
Contabilizar por Matrícula.
Programa fonte: GPEM110.PRW
02. EXEMPLO DE UTILIZAÇÃO
#INCLUDE "Protheus.ch"
#INCLUDE "RWMAKE.CH"
User Function GP110SRZ()
Local aRateio := {}
Local aCpy := {}
Local cItem := "000000001"
Local cClVl1 := "900000001"
Local cClVl2 := "123456789"
Local nParam1 := PARAMIXB[1] // String referente ao Roteiro de Calculo
Local nParam2 := PARAMIXB[2] // Data de Referencia
Local nX := 0
If nParam1 == "FER"
// Tratamento de Rateio para Ferias
// RATEIO 1
// Copia estrutura
aCpy := aClone(aTotFunFer)
// Inclusao de Item e Classe de Valor 1
For nX := 1 to Len(aTotFunFer)
AADD(aTotFunFer[nX],cItem) // Item
AADD(aTotFunFer[nX],cClVl1) // Classe de Valor 1
Next nX
aTotFunFer[3][2] := 1150
aTotFunfer[3][4] := 416.66
aTotFunfer[3][5] := 479.99
aTotFunfer[3][6] := 133.33
// Inclusao dos arrays rateados por Item
AADD(aRateio,aTotFunfer)
// RATEIO 2
// Copia estrutura
aTotFunfer := aClone(aCpy)
For nX := 1 to Len(aTotFunFer)
AADD(aTotFunFer[nX],cItem) // Item
AADD(aTotFunFer[nX],cClVl2) // Classe de Valor
Next nX
aTotFunFer[3][2] := 1350
aTotFunfer[3][4] := 416.66
aTotFunfer[3][5] := 479.99
aTotFunfer[3][6] := 133.33
// Inclusao dos arrays rateados por Item
AADD(aRateio,aTotFunfer)
EndIf
Return ( aRateio )
03. PARÂMETROS
Outras Ações / Ações relacionadas
Nome
|
Tipo
|
Descrição
|
Obrigatório
|
---|---|---|---|
PARAMIXB[1] | Caracter | correspondente ao código identificador do roteiro de cálculo, sendo as opções válidas:
"FER" - Roteiro de Férias (vetor aTotFunFer) "13" - Décimo Terceiro Salário (vetor a13Salar) "14" - Décimo Quarto Salário (vetor a14Salar) |
|
PARAMIXB[2] | Data | correspondente ao conteúdo da variável dDataRef (Data de Referência) |
04. VARIÁVEIS DE RETORNO
Principais Campos e Parâmetros
Nome
|
Tipo
|
Escopo
|
Pode Alterar
|
---|---|---|---|
aRateio | Array of Record | Local |
0 Comentários