Passo a passo:
| Na inclusão do funcionário da categoria ESTAGIÁRIO é necessário implementar a execução da rotina automática das INFORMAÇÕES EXCLUSIVAS DO ESTÁGIO após a inclusão do funcionário conforme exemplo abaixo:
#INCLUDE "Protheus.CH" User Function GP10ESTG() Local aCabec := {} Private lMsErroAuto := .F.
//### Primeiro Funcionario Estagiário ######################################### aCabec := {} aadd(aCabec,{"RA_FILIAL" ,"D MG 01 " ,Nil }) aadd(aCabec,{"RA_MAT" ,"000195" ,Nil }) aadd(aCabec,{'RA_NOME' ,'FUNCIONARIO EXECAUTO ESTAG' ,Nil }) aadd(aCabec,{'RA_SEXO' ,'F' ,Nil }) aadd(aCabec,{'RA_ESTCIVI' ,'C' ,Nil }) aadd(aCabec,{'RA_NATURAL' ,'SP' ,Nil }) aadd(aCabec,{'RA_NACIONA' ,'10' ,Nil }) aadd(aCabec,{'RA_NASC' ,Stod('19731215') ,Nil }) aadd(aCabec,{'RA_CC' ,'000000001' ,Nil }) aadd(aCabec,{'RA_ADMISSA' ,Stod('20210505') ,Nil }) aadd(aCabec,{'RA_OPCAO' ,Stod('20210505') ,Nil }) aadd(aCabec,{'RA_BCDPFGT' ,'34100' ,Nil }) aadd(aCabec,{'RA_CTDPFGT' ,'222285' ,Nil }) aadd(aCabec,{'RA_HRSMES' ,220 ,Nil }) aadd(aCabec,{'RA_HRSEMAN' ,44 ,Nil }) aadd(aCabec,{'RA_CODFUNC' ,'00001' ,Nil }) aadd(aCabec,{'RA_CATFUNC' ,'E' ,Nil }) aadd(aCabec,{'RA_TIPOPGT' ,'M' ,Nil }) aadd(aCabec,{'RA_TIPOADM' ,'9A' ,Nil }) aadd(aCabec,{'RA_VIEMRAI' ,'90' ,Nil }) aadd(aCabec,{'RA_GRINRAI' ,'50' ,Nil }) aadd(aCabec,{'RA_HOPARC' ,'1' ,Nil }) aadd(aCabec,{'RA_COMPSAB' ,'1' ,Nil }) aadd(aCabec,{'RA_NUMCP' ,'1234567' ,Nil }) aadd(aCabec,{'RA_SERCP' ,'150' ,Nil }) aadd(aCabec,{'RA_TNOTRAB' ,'001' ,Nil }) aadd(aCabec,{'RA_ADTPOSE' ,'***N**' ,Nil }) aadd(aCabec,{'RA_PROCES' ,'00001' ,Nil }) aadd(aCabec,{'RA_CATEFD' ,'901' ,Nil }) aadd(aCabec,{'RA_TPCONTR' ,'2' ,Nil }) aadd(aCabec,{'RA_DTFIMCT' ,Stod('20211231') ,Nil }) aadd(aCabec,{'RA_CLAURES' ,'2' ,Nil })
// Grava dados do funcionário ESTAGIÁRIO U_Envia(aCabec)
// Grava dados dAS INF. EXCLUSIVAS ESTÁGIO U_GP920AUT(aCabec)
Return(.T.)
/*------------------------------------------------------------------------ GRAVACAO DO FUNCIONARIO ESTAGIARIO ------------------------------------------------------------------------*/ USER Function Envia(aCabec)
// Faz a chamada da rotina de cadastro de funcionários (opção 3 - Inclusão) MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec,3)
If !lMsErroAuto Conout("Dados de funcionario incluido com sucesso!") Else MostraErro() EndIf
Return(.T.)
/*------------------------------------------------------------------------ GRAVACAO DAS INFORMACOES EXCLUSIVAS DE ESTAGIO ------------------------------------------------------------------------*/ User Function GP920AUT(aCabec) Local aErro := {} Local cArqErrAuto := "" Local oModel := Nil Local lRet := .T.
oModel := FwLoadModel("GPEA920") oModel:SetOperation(3) oModel:Activate()
oModel:LoadValue("SRATITLE" , "RA_MAT" , aCabec[2][2] ) oModel:LoadValue("SRATITLE" , "RA_NOME" , aCabec[3][2]) oModel:LoadValue("SRATITLE" , "RA_ADMISSA" , aCabec[10][2])
oModel:SetValue("RFSMASTER","RFS_FILIAL" ,aCabec[1][2]) oModel:SetValue("RFSMASTER","RFS_MAT" ,aCabec[2][2]) oModel:SetValue("RFSMASTER","RFS_NATUR" ,"2") oModel:SetValue("RFSMASTER","RFS_NIVEL" ,"4") oModel:SetValue("RFSMASTER","RFS_ATUA" ,"TECNOLOGIA") oModel:SetValue("RFSMASTER","RFS_DTFIM" ,StoD("20211231")) oModel:SetValue("RFSMASTER","RFS_ENTIDA" ,"0003") oModel:SetValue("RFSMASTER","RFS_AGENTE" ,"0001") oModel:SetValue("RFSMASTER","RFS_COORD" ,"000002")
If oModel:VldData() oModel:CommitData() conout("Dados de INF. EXCL. ESTAGIO do funcionario incluidos com sucesso!!") Else aErro := oModel:GetErrorMessage()
cArqErrAuto := "Id do formulario de origem:"+ ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Id do formulario de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Mensagem da solucao: " + ' [' + AllToChar( aErro[7] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Valor atribuido: " + ' [' + AllToChar( aErro[8] ) + ']' + Chr(13) + Chr(10) cArqErrAuto += "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' + Chr(13) + Chr(10)
Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)
EndIf
oModel:DeActivate() oModel:Destroy() oModel := NIL
Return(.T.)
|