Passo a passo:
| O execauto de inclusão do funcionário poderá ser feito conforme o exemplo abaixo:
#INCLUDE "Protheus.CH"
#Include "TBICONN.CH"
#Include 'FWMVCDef.ch'
User Function GP010AUT()
Local aCabec := {}
Local cRaFil := "D MG 01 "
Local cRaMat := ""
Local cMvMatricu := ""
Private lMsErroAuto := .F.
RESET ENVIRONMENT
RPCSetType(3)
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cRaFil TABLES "SRA " MODULO "GPE"
// Tratamento para sequencia de matricula automatica conforme MV_MATRICU
cMvMatricu := StrTran(SuperGetMv("MV_MATRICU",NIL,"0"), '"', '')
If !Empty(cMvMatricu) .And. cMvMatricu != "0"
If cMvMatricu == "1" // 1-Numeração automática por Filial
cRaMat := GetSx8Num("SRA", "RA_MAT")
ElseIf cMvMatricu == "2" // 2-Numeração automática por Empresa
cRaMat := GetSx8Num("SRA", "RA_MAT", FwCodEmp("SRA") + "\SRA\RA_MAT")
Else //3-Numeração automática por Grupo de Empresas
cRaMat := GetSx8Num("SRA", "RA_MAT", FWGrpCompany() + "\GRPEMP\SRA\RA_MAT")
EndIf
EndIf
// Informações do Funcionario
aAdd(aCabec, {"RA_FILIAL" , cRaFil , Nil})
aAdd(aCabec, {"RA_MAT" , cRaMat , Nil})
aAdd(aCabec, {"RA_CC" , "000000001" , Nil})
aAdd(aCabec, {"RA_CODFUNC" , "00001" , Nil})
aAdd(aCabec, {"RA_TNOTRAB" , "001" , Nil})
aAdd(aCabec, {"RA_REGRA" , "01" , Nil})
aAdd(aCabec, {"RA_SEQTURN" , "01" , Nil})
aAdd(aCabec, {"RA_SERCP" , "00010" , Nil})
aAdd(aCabec, {"RA_UFCP" , "MG" , Nil})
aAdd(aCabec, {"RA_RGEXP" , "SSP" , Nil})
aAdd(aCabec, {"RA_RGUF" , "MG" , Nil})
aAdd(aCabec, {"RA_TIPENDE" , "2" , Nil})
aAdd(aCabec, {"RA_ESTADO" , "MG" , Nil})
aAdd(aCabec, {"RA_CEP" , "30710560" , Nil})
aAdd(aCabec, {"RA_LOGRTP" , "R" , Nil})
aAdd(aCabec, {"RA_LOGRDSC" , "XXX" , Nil})
aAdd(aCabec, {"RA_LOGRNUM" , "123" , Nil})
aAdd(aCabec, {"RA_CODMUN" , "06200" , Nil})
aAdd(aCabec, {"RA_BAIRRO" , "CENTRO" , Nil})
aAdd(aCabec, {"RA_ADMISSA" , CTOD("01/01/2025") , Nil})
aAdd(aCabec, {"RA_OPCAO" , CTOD("01/01/2025") , Nil})
aAdd(aCabec, {"RA_TIPOADM" , "9B" , Nil})
aAdd(aCabec, {"RA_HRSMES" , 200 , Nil})
aAdd(aCabec, {"RA_HRSEMAN" , 40 , Nil})
aAdd(aCabec, {"RA_HRSDIA" , 6.6667 , Nil})
aAdd(aCabec, {"RA_CATFUNC" , "M" , Nil})
aAdd(aCabec, {"RA_TIPOPGT" , "M" , Nil})
aAdd(aCabec, {"RA_CATEFD" , "101" , Nil})
aAdd(aCabec, {"RA_VIEMRAI" , "10" , Nil})
aAdd(aCabec, {"RA_SINDICA" , "01" , Nil})
aAdd(aCabec, {"RA_SALARIO" , 10000 , Nil})
aAdd(aCabec, {"RA_NOME" , "TESTE EXECAUTO ", Nil})
aAdd(aCabec, {"RA_SEXO" , "M" , Nil})
aAdd(aCabec, {"RA_RACACOR" , "8" , Nil})
aAdd(aCabec, {"RA_NASC" , CTOD("01/01/1990") , Nil})
aAdd(aCabec, {"RA_ESTCIVI" , "C" , Nil})
aAdd(aCabec, {"RA_CPAISOR" , "01058" , Nil})
aAdd(aCabec, {"RA_NACIONA" , "10" , Nil})
aAdd(aCabec, {"RA_NACIONC" , "01058" , Nil})
aAdd(aCabec, {"RA_NATURAL" , "MG" , Nil})
aAdd(aCabec, {"RA_CODMUNN" , "06200" , Nil})
aAdd(aCabec, {"RA_GRINRAI" , "55" , Nil})
aAdd(aCabec, {"RA_PROCES" , "00001" , Nil})
aAdd(aCabec, {"RA_CIC" , "79885094032" , Nil})
aAdd(aCabec, {"RA_PIS" , "15136785610" , Nil})
aAdd(aCabec, {"RA_RG" , "192305062" , Nil})
U_Envia(aCabec)
Return(.T.)
User Function Envia(aCabec)
MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec, 3) // 3-Inclusão
//-- Retorno de erro na execução da rotina
If lMsErroAuto
MostraErro()
Else
CONOUT("Processo finalizado com sucesso.")
EndIf
Return(.T.) |
#INCLUDE "Protheus.CH" #Include "TBICONN.CH" #Include 'FWMVCDef.ch' User Function GP010AUT() Local aCabec := {} Local cRaFil := "D MG 01 " Local cRaMat := "" Local cMvMatricu := "" Private lMsErroAuto := .F. RESET ENVIRONMENT RPCSetType(3) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL cRaFil TABLES "SRA " MODULO "GPE" // Tratamento para sequencia de matricula automatica conforme MV_MATRICU cMvMatricu := StrTran(SuperGetMv("MV_MATRICU",NIL,"0"), '"', '') If !Empty(cMvMatricu) .And. cMvMatricu != "0" If cMvMatricu == "1" // 1-Numeração automática por Filial cRaMat := GetSx8Num("SRA", "RA_MAT") ElseIf cMvMatricu == "2" // 2-Numeração automática por Empresa cRaMat := GetSx8Num("SRA", "RA_MAT", FwCodEmp("SRA") + "\SRA\RA_MAT") Else //3-Numeração automática por Grupo de Empresas cRaMat := GetSx8Num("SRA", "RA_MAT", FWGrpCompany() + "\GRPEMP\SRA\RA_MAT") EndIf EndIf // Informações do Funcionario aAdd(aCabec, {"RA_FILIAL" , cRaFil , Nil}) aAdd(aCabec, {"RA_MAT" , cRaMat , Nil}) aAdd(aCabec, {"RA_CC" , "000000001" , Nil}) aAdd(aCabec, {"RA_CODFUNC" , "00001" , Nil}) aAdd(aCabec, {"RA_TNOTRAB" , "001" , Nil}) aAdd(aCabec, {"RA_REGRA" , "01" , Nil}) aAdd(aCabec, {"RA_SEQTURN" , "01" , Nil}) aAdd(aCabec, {"RA_SERCP" , "00010" , Nil}) aAdd(aCabec, {"RA_UFCP" , "MG" , Nil}) aAdd(aCabec, {"RA_RGEXP" , "SSP" , Nil}) aAdd(aCabec, {"RA_RGUF" , "MG" , Nil}) aAdd(aCabec, {"RA_TIPENDE" , "2" , Nil}) aAdd(aCabec, {"RA_ESTADO" , "MG" , Nil}) aAdd(aCabec, {"RA_CEP" , "30710560" , Nil}) aAdd(aCabec, {"RA_LOGRTP" , "R" , Nil}) aAdd(aCabec, {"RA_LOGRDSC" , "XXX" , Nil}) aAdd(aCabec, {"RA_LOGRNUM" , "123" , Nil}) aAdd(aCabec, {"RA_CODMUN" , "06200" , Nil}) aAdd(aCabec, {"RA_BAIRRO" , "CENTRO" , Nil}) aAdd(aCabec, {"RA_ADMISSA" , CTOD("01/01/2025") , Nil}) aAdd(aCabec, {"RA_OPCAO" , CTOD("01/01/2025") , Nil}) aAdd(aCabec, {"RA_TIPOADM" , "9B" , Nil}) aAdd(aCabec, {"RA_HRSMES" , 200 , Nil}) aAdd(aCabec, {"RA_HRSEMAN" , 40 , Nil}) aAdd(aCabec, {"RA_HRSDIA" , 6.6667 , Nil}) aAdd(aCabec, {"RA_CATFUNC" , "M" , Nil}) aAdd(aCabec, {"RA_TIPOPGT" , "M" , Nil}) aAdd(aCabec, {"RA_CATEFD" , "101" , Nil}) aAdd(aCabec, {"RA_VIEMRAI" , "10" , Nil}) aAdd(aCabec, {"RA_SINDICA" , "01" , Nil}) aAdd(aCabec, {"RA_SALARIO" , 10000 , Nil}) aAdd(aCabec, {"RA_NOME" , "TESTE EXECAUTO ", Nil}) aAdd(aCabec, {"RA_SEXO" , "M" , Nil}) aAdd(aCabec, {"RA_RACACOR" , "8" , Nil}) aAdd(aCabec, {"RA_NASC" , CTOD("01/01/1990") , Nil}) aAdd(aCabec, {"RA_ESTCIVI" , "C" , Nil}) aAdd(aCabec, {"RA_CPAISOR" , "01058" , Nil}) aAdd(aCabec, {"RA_NACIONA" , "10" , Nil}) aAdd(aCabec, {"RA_NACIONC" , "01058" , Nil}) aAdd(aCabec, {"RA_NATURAL" , "MG" , Nil}) aAdd(aCabec, {"RA_CODMUNN" , "06200" , Nil}) aAdd(aCabec, {"RA_GRINRAI" , "55" , Nil}) aAdd(aCabec, {"RA_PROCES" , "00001" , Nil}) aAdd(aCabec, {"RA_CIC" , "79885094032" , Nil}) aAdd(aCabec, {"RA_PIS" , "15136785610" , Nil}) aAdd(aCabec, {"RA_RG" , "192305062" , Nil}) U_Envia(aCabec) Return(.T.) User Function Envia(aCabec) MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec, 3) // 3-Inclusão //-- Retorno de erro na execução da rotina If lMsErroAuto MostraErro() Else CONOUT("Processo finalizado com sucesso.") EndIf Return(.T.)
|