Árvore de páginas

Versões comparadas

Chave

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

Produto:

Microsiga Protheus

Ocorrência:

Como fazer o execauto do GPEA010 com numeração automática quando o MV_MATRICU esta configurado com 1, 2 ou 3 ?

Passo a passo:



O execauto de controle do sequencial de matrícula automático, na inclusão do funcionário poderá ser feito conforme o exemplo abaixodas seguintes formas:

Deck of Cards
startHiddenfalse
historyfalse
idexemplos
Card
defaulttrue
idmanual
labelControle de Numeração Manual
titleControle de Numeração Manual

Nesse exemplo o controle de numeração fica a cargo do fonte que faz o execauto:

Bloco de código
languagejs
#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" ,
Card
defaulttrue
idbranco
labelControle a cargo da rotina padrão.
titleControle a cargo da rotina padrão, não havendo necessidade de informar a matricula no array.

Controle de numeração a cargo da rotina GPEA010.

Informações
titleAtenção

Requer gpea010.prx igual ou superior a .


Não informar a matricula no array aCabec

Bloco de código
languagejs
#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"

    // 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})
   
 , "9B"                 , Nil})
    aAdd(aCabec, {"RA_HRSMES"
 
  ,
200                  , Nil})
   
 200                  , Nil})
    aAdd(aCabec, {"RA_HRSEMAN" ,
40                   , Nil})
   
 40                   , Nil})
    aAdd(aCabec, {"RA_HRSDIA"
 
  , 6.6667
              , Nil})
   
               , Nil})
    aAdd(aCabec, {"RA_CATFUNC" , "M"
                 , Nil})
   
                  , Nil})
    aAdd(aCabec, {"RA_TIPOPGT" , "M"
                 , Nil})
   
                  , Nil})
    aAdd(aCabec, {"RA_CATEFD"
 
  , "101"
               , Nil})
   
                , Nil})
    aAdd(aCabec, {"RA_VIEMRAI"
, "10"                 , Nil})
   
 , "10"                 , Nil})
    aAdd(aCabec, {"RA_SINDICA" , "01"
                , Nil})
   
                 , Nil})
    aAdd(aCabec, {"RA_SALARIO" ,
10000                , Nil})
   
 10000                , Nil})
    aAdd(aCabec, {"RA_NOME"
   ,
    , "TESTE
EXECAUTO                ", Nil})
   
 EXECAUTO                ", Nil})
    aAdd(aCabec, {"RA_SEXO"
   , "M"                  , Nil})
   
    , "M"                  , Nil})
    aAdd(aCabec, {"RA_RACACOR" , "8"
                 , Nil})
   
                  , Nil})
    aAdd(aCabec, {"RA_NASC"
   ,
    , CTOD("01/01/1990")
 
   , Nil})

   

    aAdd(aCabec, {"RA_ESTCIVI" , "C"
                 , Nil})
   
                  , Nil})
    aAdd(aCabec, {"RA_CPAISOR" , "01058"
             , Nil})
   
              , Nil})
    aAdd(aCabec, {"RA_NACIONA" , "10"
                , Nil})
   
                 , Nil})
    aAdd(aCabec, {"RA_NACIONC" , "01058"
             , Nil})
   
              , Nil})
    aAdd(aCabec, {"RA_NATURAL" , "MG"
                , Nil})
   
                 , Nil})
    aAdd(aCabec, {"RA_CODMUNN" , "06200"
             , Nil})
   
              , Nil})
    aAdd(aCabec, {"RA_GRINRAI" , "55"
                , Nil})
   
                 , Nil})
    aAdd(aCabec, {"RA_PROCES"
 
  , "00001"
             , Nil})
   
              , Nil})
    aAdd(aCabec, {"RA_CIC"
    ,
     , "79885094032"
       ,
        , Nil})

   

    aAdd(aCabec, {"RA_PIS"
    ,
     , "15136785610"
       ,
        , Nil})

   

    aAdd(aCabec, {"RA_RG"
     , "192305062"          , Nil})   
      , "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
       
 rotina
    If lMsErroAuto
        MostraErro()
    Else
		CONOUT("Processo finalizado com sucesso.")

    EndIf

    EndIf

Return(.T.)

  Observações:

Documentação de apoio para criação da Outros exemplos de rotina automática do GPEA010:

Exemplo de Rotina Automática - Cadastro de Funcionários - GPEA010

GPEA010 - Exemplo Rotina Automática / Execauto - (Inclusão) Estagiário

GPEA010 - Exemplo Rotina Automática / Execauto - (Alteração) Nome do Funcionário