Histórico da Página
...
Aviso | ||
---|---|---|
| ||
O MsExecAuto do PONM010 é de utiliazação 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 . Para isso deve ser utilizado o PONSCHEDULER. Para mais informações acesse o link abaixo: |
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#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ã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}}) // MatricuaMatricula e Filial o funciinário. Aadd(aAutoCab,{{"RA_FILIAL","D MG 01 "},{"RA_MAT","005022"},aSP8}) // Marcações que serã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}}) // MatricuaMatricula 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 |
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.
E ao Ao consultar a tabela de marcações (SP8), poderemos ver que as 8 marcações foram incluidas com sucesso.
...