01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:SIGAGPE
Função:GPEA020
País:Brasil
Ticket:11243315
Requisito/Story/Issue (informe o requisito relacionado) :DRHESOCP-21547


02. SITUAÇÃO/REQUISITO

ExecAuto da rotina GPEA020 não permite inclusão de dependentes quando há outro dependente com Plano de Saúde ativo.

03. SOLUÇÃO

Identificado uso de versão legado do execauto para a rotina de Cadastro de Dependentes GPEA020.

Disponibilizado exemplo de utilização da rotina automática utilizando a estrutura MVC.

04. DEMAIS INFORMAÇÕES


#INCLUDE "Protheus.CH"
#iNCLUDE 'TBICONN.CH'
#Include 'FWMVCDef.ch'

//MVC
User Function GP20INCMVC()

	Local oModel
	Local oMdlSRB
	Local aLog		:= {}
	Local cFili		:= "D MG 01 "
	Local cMat		:= "215470"
	Local nCod		:= 0

	RpcSetType(3)
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFili MODULO "GPE"
	aEval({'SRA','SRB'},{|x|CHKFILE(x)})
	SRA->(DbSetOrder(1))

	If SRA->(DbSeek(cFili + cMat))
		oModel := FWLoadModel("GPEA020")
		oModel:SetOperation(MODEL_OPERATION_UPDATE)

		//Inclusão de novo registro
		If (oModel:Activate())
			oMdlSRB := oModel:GetModel("GPEA020_SRB")
			if(oMdlSRB:Length() > 1)
				nCod := oMdlSRB:AddLine()
			else
				if(oMdlSRB:IsInserted())
					nCod := 1
				else
					nCod := oMdlSRB:AddLine()
				endIf
			endIf

			oMdlSRB:SetValue("RB_COD"		, StrZero(nCod,2))
			oMdlSRB:SetValue("RB_NOME"		, "INCLU PRIMEIRODEP")
			oMdlSRB:SetValue("RB_TPDEP"		, "03")
			oMdlSRB:SetValue("RB_DTNASC"	, Ctod("20/03/2010"))
			oMdlSRB:SetValue("RB_SEXO"		, "M")
			oMdlSRB:SetValue("RB_GRAUPAR"	, "F")
			oMdlSRB:SetValue("RB_TIPIR"		, "1")
			oMdlSRB:SetValue("RB_TIPSF"		, "1")
			oMdlSRB:SetValue("RB_LOCNASC"	, "SP")
			oMdlSRB:SetValue("RB_CIC"		, "80645187925")

			If(oModel:VldData())
				If (oModel:CommitData())
					ConOut("Dependente Incluido")
				Else
					aLog := oModel:GetErrorMessage()
				EndIf
			Else
				aLog := oModel:GetErrorMessage()
			EndIf
			If Len(aLog) > 0
				aEval(aLog, {|x|conOut(x)})
			EndIf
		EndIf
	Else
		ConOut("Funcionario nao encontrado")
	EndIf

	RESET ENVIRONMENT

Return(.T.)

//Alteracao existente
User Function GP20ALTMVC()

	Local oModel
	Local oMdlSRB
	Local aLog		:= {}
	Local cFili		:= "D MG 01 "
	Local cMat		:= "215470"

	RpcSetType(3)
	PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cFili MODULO "GPE"
	aEval({'SRA','SRB'},{|x|CHKFILE(x)})
	SRA->(DbSetOrder(1))

	If SRA->(DbSeek(cFili + cMat))
		oModel := FWLoadModel("GPEA020")
		oModel:SetOperation(MODEL_OPERATION_UPDATE)

		//Inclusão de novo registro
		If (oModel:Activate())
			oMdlSRB := oModel:GetModel("GPEA020_SRB")

			if(oMdlSRB:Length() > 3)
				oMdlSRB:GoLine(3) //Registro a ser alterado
			endIf
			//Campos a serem alterados
			oMdlSRB:SetValue("RB_NOME"		, "ALTER EXECAUTO COMLGP")

			If(oModel:VldData())
				If (oModel:CommitData())
					ConOut("Alteracao concluida")
				Else
					aLog := oModel:GetErrorMessage()
				EndIf
			Else
				aLog := oModel:GetErrorMessage()
			EndIf
			If Len(aLog) > 0
				aEval(aLog, {|x|conOut(x)})
			EndIf
		EndIf
	Else
		ConOut("Funcionário nao encontrado")
	EndIf

	RESET ENVIRONMENT

Return(.T.)


05. ASSUNTOS RELACIONADOS

N/A.