Home

Linha Microsiga Protheus

Páginas filhas
  • PNMTABHE - Alterar a tabela de tipos de hora extra -- 92996

Ponto-de-Entrada: PNMTABHE - Alterar a tabela de tipos de hora extra

 

Abrangências:Microsiga Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos

 

Descrição:
O ponto de entrada permite alterar a tabela que contém dados dos tipos de hora extra cadastrados, através da rotina PONA070 (Tipo de Horas Extras). A partir do cadastro padrão, é possível alterar, por exemplo, o percentual de valorização de acordo com o sindicato do funcionário
Programa Fonte
PONXAPO.PRX
Sintaxe

PNMTABHE - Alterar a tabela de tipos de hora extra ( [ Paramixb[1] ], [ Paramixb[2] ] ) --> aTabExtra

Parâmetros:

 

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 Paramixb[1]  Lógico  Carrega todos tipos de hora extra          
 Paramixb[2]  Array of Record  Dados dos tipos de hora extra          

 

Retorno
aTabExtra
    (array_of_record)
  • Dados dos tipos de hora extra
Observações

O ponto de entrada passa dois parâmetros. O primeiro é uma variável lógica que indica o formato do array e o segundo é um array que contém os dados dos tipos de hora extra.

Se a variável lógica for .T. (verdadeiro) o array será tridimensional. Se a variável for .F. (falso) o array será bidimensional.

A estrutura do array é: (bidimensional)

aArray[nCont][1] - Tipo de Hora Extra

aArray[nCont][2] - Qtde de horas mínima da faixa

aArray[nCont][3] - Qtde de horas máxima da faixa

aArray[nCont][4] - Evento autorizado

aArray[nCont][5] - Evento não autorizado

aArray[nCont][6] - Percentual de valorização

 

O ponto de entrada deve retornar um array com a mesma estrutura.

Exemplos
User Function PNMTABHE()Local aArea 	:= GetArea()Local lTodas	:= Paramixb[1]Local aTabExtra	:= Paramixb[2]Local nCont 	:= 0Local nTipoHE	:= 1Local nPercent	:= 6If lTodas	For nCont := 1 to Len(aTabExtra[1])	    If SRA->RA_SINDICA == "01"//Sindicato X			Do Case		    	Case aTabExtra[1][nCont][nTipoHE] == "1"//HE Normal		    		aTabExtra[1][nCont][nPercent] := 50.00		    	Case aTabExtra[1][nCont][nTipoHE] == "2"//HE DSR		    		aTabExtra[1][nCont][nPercent] := 100.00		    	Case aTabExtra[1][nCont][nTipoHE] == "3"//HE Compensado		    		aTabExtra[1][nCont][nPercent] := 70.00		       	Case aTabExtra[1][nCont][nTipoHE] == "4"//HE Compensado		    		aTabExtra[1][nCont][nPercent] := 100.00    	    			    	Otherwise		    		aTabExtra[1][nCont][nPercent] := 75.00	    	EndCase    	    		    ElseIf SRA->RA_SINDICA == "02"//Sindicato Y    	    	//....	    EndIf	Next nContElse	For nCont := 1 to Len(aTabExtra)	    If SRA->RA_SINDICA == "01"//Sindicato X	    	Do Case		    	Case aTabExtra[nCont][nTipoHE] == "1"//HE Normal		    		aTabExtra[nCont][nPercent] := 50.00		    	Case aTabExtra[nCont][nTipoHE] == "2"//HE DSR		    		aTabExtra[nCont][nPercent] := 100.00		    	Case aTabExtra[nCont][nTipoHE] == "3"//HE Compensado		    		aTabExtra[nCont][nPercent] := 70.00		       	Case aTabExtra[nCont][nTipoHE] == "4"//HE Feriado		    		aTabExtra[nCont][nPercent] := 100.00		    	Otherwise		    		aTabExtra[nCont][nPercent] := 75.00	    	EndCase	    ElseIf SRA->RA_SINDICA == "02"//Sindicato Y    	    	//....	    EndIf	Next nContEndIF//Alert("Passou pelo PE PNMTABHE")RestArea(aArea)Return(aTabExtra)
Variáveis

 

 Nome  Tipo  Escopo  Pode Alterar  descrição 
    Array of Record  Global  Não