Á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 controle do sequencial de matrícula automático, na inclusão do funcionário poderá ser feito das 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.)
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})
    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.)

  Observações:

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

...