Árvore de páginas

Ponto de Entrada dentro da função PutMarcAut antes da verificação das marcações obrigatórias.

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

SIGAPON(Ponto Eletrônico)

Rotina:

Rotina

Nome Técnico

PutMarcAut

PONXFUN.PRW

Ponto de Entrada:

MarcAut2

Chamados Relacionados

TVQOOL

Descrição

Implementado ponto de entrada que ocorre antes da verificação das marcações obrigatórias, possibilitando a modificação desse comportamento.

Ponto de Entrada

Eventos:

 Antes da verificação das marcações obrigatórias durante a geração das marcações automáticas.

Programa Fonte:

PONXFUN.PRW

Função:

MarcAut2

Retorno:

Nome

Tipo

Descrição

Obrigatório

cNewMarcAut

C

Marcações que serão feitas de forma automática.

X

cMarcsObriga

C

Marcações Obrigatórias

X

cMarcsEfe

C

Marcações Efetivadas pelo funcionário

X
nMarcsGerNNúmero de Marcações GeradasX
lMarcsObrigaLDeve gerar marcações caso as obrigatórias não estejam preenchidas?X
MarcAut2
#INCLUDE 'PROTHEUS.CH'
/*/{Protheus.doc} MarcAut2(U_MARCAUT2)
	Exemplo de implementação do P.E no qual é possível modificar
	as marcações automáticas que devem ser geradas.
@author Mauricio Madureira
@since 16/08/2016
@version P12.1.7
@return aResult, vetor que contem as variáveis modificadas.
/*/
User Function MarcAut2()	
	Local cNewMarcAut 	:= ParamIxb[1] /*Armazena marcações que serão feitas de forma automática*/ 
	Local cMarcsObriga	:= ParamIxb[2] /*Armazena marcações obrigatórias(todas que não são automáticas)*/
	Local cMarcsEfe		:= ParamIxb[3] /*Armazena marcações feitas pelo funcionário*/
	Local nMarcsGer		:= ParamIxb[4] /*Número de marcações que devem ser geradas*/
	Local lMarcsObriga	:= ParamIxb[5] /*Deve gerar caso as marc. obrig. não existam?*/
	Local cRstMarcAuto 	:= ""
	Local nMarc 			:= 0
	    		
	For nMarc := 1 To Len( cMarcsObriga ) Step 3
		IF !( lMarcsObriga := ( SubStr( cMarcsObriga , nMarc , 3 ) $ cMarcsEfe ) )
			cRstMarcAuto	:= SubStr( cMarcsObriga , nMarc , 1 )+IIF(SubStr( cMarcsObriga , nMarc+1 , 1 )=="S","E","S")+"-"
			cNewMarcAut	:= StrTran( cNewMarcAut , cRstMarcAuto , "" ) 
			cMarcsObriga	:= StrTran( cMarcsObriga , SubStr( cMarcsObriga , nMarc , 3 ) , "" ) 
			nMarcsGer--       				
			lMarcsObriga	:= .T. 
		EndIF
	Next nMarc
	
Return({cNewMarcAut,cMarcsObriga,cMarcsEfe,nMarcsGer,lMarcsObriga})