Histórico da Página
Aviso | ||
---|---|---|
| ||
|
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: |
| ||||||||||
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: |
|
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