Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Totvs custom tabs box
tabsTCF040TP, TCF040GRV
idspasso1,passo2
Totvs custom tabs box items
defaultyes
referenciapasso1

No ponto de entrada TCF040TP é passado como parâmetro o módulo que está executando a rotina, já que o filtro é definido por módulo.
O filtro padrão da rotina não será removido, o ponto de entrada permite apenas adicionar novos tipos de solicitação ao filtro já existente. O filtro da rotina é feito com base no campo RH3_TIPO.
O retorno do ponto de entrada deve ser do tipo Caracter contendo os tipos das solicitações tendo uma barra como separador entre os tipos.


Os tipos de solicitações filtrados pela rotina atualmente são:

Gestão de Pessoal GPE:

1 - Documentos;
2 - Alteração Cadastral;
4 - Transferência;
6 - Desligamento;
7 - Ação salarial;
B - Férias;
V - Subsídio acadêmico;

Recrutamento e Seleção RSP:

1 - Documentos;
2 - Alteração cadastral;
5 - Admissão;
9 - Inscrição em vaga;
H - Inscrição externa em vaga;

Treinamento TRM:

1 - Documentos;
2 - Alteração cadastral;
A - Reserva de treinamento;

Arquitetura Organizacional ORG:

1 - Documentos;
2 - Alteração cadastral;
3 - Criação / Aumento de postos;

Ponto eletrônico PON:

8 - Justificativa de horário;
Z - Marcação de ponto;

Vida Funcional VDF:

N - Alteração de jornada;
O - Saldo de Férias;
P - Férias e licença prêmio;
Q - Diárias;
R - Licenças e Afastamentos
S - Certidão Funcional;
T - Dias de Folga;


Todos os tipos de solicitações presentes no sistema podem ser visualizados na tabela SX5 tabela (X5_TABELA) JQ


Exemplo:

Nesse exemplo foram criados os novos tipo de solicitações X e Y, quero que no módulo gestão de pessoal (GPE) seja apresentado os dois tipo e que no Ponto eletrônico apenas o tipo X. Para esse cenário o ponto de entrada ficaria assim:



Totvs custom tabs box items
defaultno
referenciapasso2

Para o ponto de entrada TCF040GRV é passado dois três parâmetros o Status (Tipo Caracter) da solicitação e , um parâmetro lógico indicando o momento que o ponto de entrada foi chamado , tendo os seguintes valores possíveis:e o modelo da rotina TCFA040 com as informações da solicitação.

Status (PARAMIXB[1])

1 - Em processo de aprovação;
2 - Atendida;
3 - Reprovada;
4 - Aguardando Efetivação do RH;

lGravacao (PARAMIXB[2])

Quando verdadeiro (.T.) a solicitação já foi aprovada e será gravada, o ponto de entrada foi chamado antes da gravação.

Quando falso (.F.) o ponto de entrada foi chamado ao clicar no botão Aprovar ou Reprovar, para os tipos de solicitação customizados, definidos no ponto de entrada TCF040TP.
Nessa situação um retorno é esperando, indicando se será realizada a gravação.

oModel (PARAMIXB[3])

Modelo da rotina TCFA040 com as informações da solicitação.

Esse modelo possui dois submodelos: TCFA040_RH3 e TCFA040_RH4

Exemplo:

Nesse exemplo tem a estrutura esperada para o ponto de entrada.

Bloco de código
languagejava
firstline1
titleExemplo de estrutura do ponto de entrada
linenumberstrue
#INCLUDE "PROTHEUS.CH" 

User Function TCF040GRV()
	
	Local cStatus 	:= PARAMIXB[1] // "2" = Aprovação / "3" = Reprovação
	Local lGravacao := PARAMIXB[2] // .T. = Antes da gravação / .F. = Aprovação/Reprovação para tipos customizados
	Local oModel	:= PARAMIXB[2] // Modelo da rotina TCFA040
	Local xRetorno	:= NIL
	
	If cStatus == "2" // Aprovação
		If lGravacao
			/*
				Quando o lGravacao for .T. o ponto de entrada foi chamado 
				antes da gravação independente do tipo da solicitação.
				Nessa condição não é esperado nenhum retorno.
			*/
		Else
			/*
				Quando o lGravacao for .F. o ponto de entrada foi chamado ao clicar no botão Atender
				apenas para tipos de solicitação customizados. 
				Nessa condição é esperado um retorno, xReturn, 
				com qualquer conteúdo diferente de NIL será realizada a gravação.
			*/
			If oModel:GetModel("TCFA040_RH3"):GetValue("RH3_TIPO") == "X"
				/*
				Tratamentos para o tipo de solicitação X
				*/
			EndIf
			xRetorno := "1"
		EndIf
	ElseIf cStatus == "3" // Reprovação
		/*
		Tudo que precise ser feito quando a solicitação for reprovada
		*/
		If ! lGravacao
			/*
			Ações para Reprovação tipos de solicitação customizados
			*/
		EndIf
		
	EndIf
	
Return xRetorno


...