Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: pequenas correções e formatação do código

...

Aviso
titleImportante

O MsExecAuto do PONM010 é de utiliazação utilização apenas para inclusão ou exclusão de marcações.
As inclusões das marcações serão incluidas incluídas como marcação manualInformada, ou seja, essa marcação será considerada como se fosse incluída manualmente por um usuário do Protheus.
As marcações só serão excluídas se as mesmas não tiverem sido apontadas ou não for uma marcação original forem marcações originais (originada por um REP).

A rotina PONM010 não deverá ser executada pelo Schedule, para isso temos . Para isso deve ser utilizado o PONSCHEDULER. Para mais informações acesse o link abaixo:
PONSCHEDULER

02. EXEMPLO DE UTILIZAÇÃO

Para utilização do MsExecAuto teremos que criar uma função de usuário e informar em um Array onde as duas primeiras posições serão Filial e Matrícula que receberá as marcações e a 3º posição um outro Array com todas as marcações que precisam serão incluídas ou excluídas. Abaixo está um exemplo de como deverá ser preenchido e enviado para o MsExecAuto do PONM010:

Bloco de código
languagejava
themeEclipse
firstline1
titlePONMARC
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOPCONN.CH"
#INCLUDE "TBICONN.CH"

//-------------------------------------------------------------------
/*/{Protheus.doc}
@author     fabio.gimenez
@version    1.0
/*/
//-------------------------------------------------------------------
User Function PONMARC()
Local aAutoCab          := {}
Local aSP8              := {}
Local nI                := 0

Private lMsErroAuto     := .F.

// Marcações que serão incluídas ou excluídas para a Matrícua 005022 Filial D MG 01
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005022"},{"P8_DATA",sToD("20230707")},{"P8_HORA",9}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005022"},{"P8_DATA",sToD("20230707")},{"P8_HORA",12}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005022"},{"P8_DATA",sToD("20230707")},{"P8_HORA",13}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005022"},{"P8_DATA",sToD("20230707")},{"P8_HORA",18}})

// Matricula e Filial o funciinário.
Aadd(aAutoCab,{{"RA_FILIAL","D MG 01 "},{"RA_MAT","005022"},aSP8})

// Marcações que serão incluídas ou excluídas para a Matrícua 005023 Filial D MG 01
aSP8 := {}
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005023"},{"P8_DATA",sToD("20230707")},{"P8_HORA",8.49}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005023"},{"P8_DATA",sToD("20230707")},{"P8_HORA",12.01}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005023"},{"P8_DATA",sToD("20230707")},{"P8_HORA",12.59}})
Aadd(aSP8,{{"P8_FILIAL","D MG 01 "},{"P8_MAT","005023"},{"P8_DATA",sToD("20230707")},{"P8_HORA",18.11}})

// Matricula e Filial o funciinário.
Aadd(aAutoCab,{{"RA_FILIAL","D MG 01 "},{"RA_MAT","005023"},aSP8})

/*/ Parâmetros PONM010
    lWork		,;	//01 -> Se o "Start" foi via WorkFlow
    lUserDef 	,;	//02 -> Não utilizado para o ExecAuto
    lLimita		,;	//03 -> Não utilizado para o ExecAuto
    cProcFil	,;	//04 -> Não utilizado para o ExecAuto
    lProcFil	,;	//05 -> Não utilizado para o ExecAuto
    lApoNLidas	,;	//06 -> Não utilizado para o ExecAuto
    lForceR		,;	//07 -> Não utilizado para o ExecAuto
    xAutoCab	,;  //08 -> Identificação dos Funcionários para o ExecAuto
    xAutoItens	,;  //09 -> Marcações dos funcionários que serão incluídas ou excluídas
    nOpcAuto    ,;  //10 -> Exclusão ou inclsuão da marcação - 1 - Exclusão, 3 Inclusão
/*/

// Inicialização do ambiente
PREPARE ENVIRONMENT EMPRESA ("T1") FILIAL ("D MG 01")

// Laço de repetições para a chamada do MsExecAuto por funcionário
For nI := 1 To Len(aAutoCab)
    MSExecAuto({|a,b,c,d,e,f,g,h,i,j| PONM010(a,b,c,d,e,f,g,h,i,j)},.T.,"","","","","","",aAutoCab[nI],aAutoCab[nI,3],3)
    If lMsErroAuto
        MostraErro()
    Else
        Conout("ExecAuto PONM010 Finalizado")
    EndIf
Next

Return

...