Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS RH

Linha de Produto:

Linha Protheus

Segmento:

RH

Módulo:GESTÃO DE PESSOAS (SIGAGPE)
Função:GPEA133
Ticket:17693922
Issue:DRHROTPRT-11655


02. 
SITUAÇÃO/REQUISITO

Verificada necessidade de ajuste na pré-validação do modelo GPEA133 no instanciamento MVC sem interface.

03. SOLUÇÃO

Efetuado tratamento conforme uso de interface na função de pré-validação do modelo principal, ao manipular os submodelos sem uso do método GetModel.

04. DEMAIS INFORMAÇÕES

A rotina de Atualização e Cálculo de Benefícios - VT, VR e VA segue arquitetura MVC, possibilitando uso de rotina automática e PEs padrão vide exemplo e links abaixo:

Exemplos Rotina Automática MVC para GPEA133
#INCLUDE "FWMBROWSE.CH"
#INCLUDE "FWMVCDEF.CH"

User Function MyTest133()
 Local oModel
 Local oSubMdl
 Local cMatric := "000044" //matrícula SRA para posicionamento

	RpcSetEnv("T1","M PR 01 ")

	dbSelectArea("SRA")
	dbSetOrder(1)
	If SRA->(MsSeek(xFilial() + cMatric))
		
		CONOUT("Inicio: "+TIME())
		oModel := FWLoadModel("GPEA133")
		oModel:SetOperation(MODEL_OPERATION_UPDATE)
		oModel:Activate()

		oSubMdl := oModel:GetModel("GPEA133_MSM70")	//Substituir Id do subModelo utilizado para tabela SM7 conforme necessidade
		/*---nomenclatura conforme as opções do tipo de vale (M7_TPVALE)
			GPEA133_MSM70: Vale Transporte
			GPEA133_MSM71: Vale Refeição
			GPEA133_MSM72: Vale Alimentação ---*/


			//Para inclusão de nova linha quando já houver dados
			oSubMdl:Addline()	//devido ao uso da operação UPDATE, sem este método, atualizará linha atual

			//Para inclusão/alteração informar campos SM7 e respectivos conteúdos
			oSubMdl:SetValue("M7_QDIAINF", 2) 		//-- Quantidade vales dia útil
			oSubMdl:SetValue("M7_CODIGO", "001")	//-- Código


			//Para exclusão, posicionar na linha desejada
			oSubMdl:SeekLine({{"M7_CODIGO", "002"}})
			oSubMdl:DeleteLine()



		If oModel:VldData()
			oModel:CommitData()
		Else
			VarInfo("",oModel:GetErrorMessage())
		EndIf

		oModel:DeActivate()
		CONOUT("Fim: "+TIME())
	EndIf
	RpcClearEnv()
Return


05. ASSUNTOS RELACIONADOS