Árvore de páginas

Ponto de Entrada é Válido a partir do Release 11.08.17 e 12.1.7 e superiores

 

Ponto de Entrada para validação do funcionário

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

Manutenção de Ativos

Rotina:

Rotina

Nome Técnico

NGUTIL

Programa de Funções Padrão

MNTUTIL01Util Genérico MNT V12

Rotina(s) envolvida(s)

Nome Técnico

MNTA435

Retorno de Ordem de Serviço Modelo 2

Chamados Relacionados

TVDUZ8

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

 

Ponto de Entrada

Descrição:

Conforme solicitado, o exemplo do ponto de entrada trata do Retorno Modelo 2 (MNTA435) especificamente, com a utilização do "IsInCallStack("MNTA435") ", substituindo as validações padrões.

Localização:

SIGAMNT: Atualizações/Retorno/Retorno Mod. 2

Eventos:

Retorno Modelo 2 (MNTA435)

Programa Fonte:

NGUTIL.PRX

MNTUTIL01.PRW

Função:

NGUTILVF()

Retorno:

Nome

Tipo

Descrição

Obrigatório

 lRetor

Lógico

Indica se as validações do Funcionário ocorreram corretamente

Sim

 

Exemplo:

#Include 'Protheus.ch'
User Function NGUTILVF()
Local cCodFunV := PARAMIXB[1]
Local lMenTela := PARAMIXB[2]
Local dDtFIM := PARAMIXB[3]
Local lValidaRH := PARAMIXB[4]
Local aAreaAtua := GetArea(),lRetor := .T.,lDtDem
Local lSai := If(lMenTela = Nil,.f.,lMenTela)
Local cDESCSX5 := Len(sx5->x5_descri)
Local cNgMntRh := AllTrim(GetMv("MV_NGMNTRH"))

DbSelectArea("ST1")
DbSetOrder(01)
If IsInCallStack("MNTA435") .And. DbSeek(xFilial("ST1")+cCodFunV)
If cNgMntRh $ "SX"
DbSelectArea("SRA")
DbSetOrder(01)
If DbSeek(xFilial("SRA")+cCodFunV)
lDtDem := If(dDtFIM == Nil,.T.,.F.)
If !lDtDem //Se for informada a data fim do insumo, será verificado se a demissão foi antes desta data
If SRA->RA_DEMISSA < dDtFIM
lDtDem := .t.
Endif
Endif
If SRA->RA_SITFOLH == "D" .and. lDtDem .and. lValidaRH
If lSait
DbSelectArea("SX5")
DbSetOrder(01)
If DbSeek(xFilial("SX5")+"31"+SRA->RA_SITFOLH)
cDESCSX5 := Alltrim(sx5->x5_descri)
#IFDEF SPANISH
cDESCSX5 := Alltrim(sx5->x5_descspa)
#ELSE
#IFDEF ENGLISH
cDESCSX5 := Alltrim(sx5->x5_desceng)
#ENDIF
#ENDIF
Endif
Help(" ",1,"NÃO CONFORMIDADE",,"Funcionario nao habilidado junto a folha"+Chr(13)+"Situacao:"+Chr(13)+cDESCSX5,4,5)
Endif
lRetor := .f.
Endif
Else
If lSait .And. cNgMntRh == "S"
Help(" ",1,"NÃO CONFORMIDADE",,"Funcionario sem disponibilidade",4,5)
lRetor := .f.
Endif
Endif
Endif
Else
If IsInCallStack("MNTA435") .And. lSait
HELP(" ",1,"REGNOIS")
lRetor := .f.
Endif
Endif
RestArea(aAreaAtua)
Return lRetor