Histórico da Página
ÍNDICE
Índice |
---|
01. VISÃO GERAL
Este documento de referência tem como objetivo exemplificar a utilização do MsExecAuto da rotina de Leitura e Apontamento (PONM010). Em alguns caso existe a necessidade de inclusão ou exclusão de marcações para um ou mais funcionários, para isso existe o
...
MsExecAuto do PONM010.
Aviso | ||
---|---|---|
| ||
O MsExecAuto do PONM010 é de utilização apenas para inclusão ou exclusão de marcações. A rotina PONM010 não deverá ser executada pelo Schedule, para isso temos o PONSCHEDULER ou o MsExecAuto do PONM010. Para isso deve ser utilizado o PONSCHEDULER. Para mais informações acesse o link: PONSCHEDULER |
02. EXEMPLO DE UTILIZAÇÃO
...
Para utilização do MsExecAuto teremos que criar uma função de usuário e informar 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 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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#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
/*/
// 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 |
Aviso | ||
---|---|---|
| ||
Caso o ExecAuto seja executado sem interface, é necessário colocar o PREPARE ENVIRONMENT EMPRESA ("T1") FILIAL ("D MG 01") e RESET ENVIRONMENT. Se o ExecAuto for executado dentro do Protheus, chamando a rotina pelo Menu, não é necessário colocar o PREPARE ENVIRONMENT e RESET ENVIRONMENT. |
Após a execução do MsExecAuto, veremos no console log a mensagem que foi incluída no programa "ExecAuto PONM010 Finalizado" para os dois funcionários.
Ao consultar a tabela de marcações (SP8), poderemos ver que as 8 marcações foram incluidas com sucesso.
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |