Árvore de páginas

Ponto de entrada que permite personalizar a tela de cadastro de Bens Padrão (MNTA170)

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTA170

Bens Padrão


Rotina(s) envolvida(s)

Nome Técnico

MNTA1701

Ponto de Entrada

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos


Ponto de Entrada

Descrição:

Ponto de entrada executado na rotina de Bens Padrão (MNTA170) que permite personalizar a tela de cadastro da rotina 

Localização:SIGAMDI: Atualizações/Controle de Oficina/Bens/Bens Padrão

Programa Fonte:

MNTA170.prx

Função:

MNTA1701()

Retorno:

.T.
Exemplo do Ponto de Entrada MNTA1701()
#INCLUDE "MNTA170.CH"
#INCLUDE "FOLDER.CH"
#INCLUDE "PROTHEUS.CH"

/*/ Fun‡…o MNTA1701
Autor Vitor Emanuel Batista
Data 04/09/08
Descri‡…o Retorna aCols e aHeader quando se foca a GETDADOS
Uso MNTA170
/*/

User Function MNTA1701()

	Local nCONTROL  := 0
	Local nOK       := 0
	Local aPAGES    := {}
	Local aTITLES   := {}
	Local aVAR      := {}
	Local cPRIMEIRO := ""
	Local NI,oFONT,oGET,cGET,lGETD := .F.,mx
	Local aNoFields := {}

	AADD(aTITLES,OEMTOANSI(STR0012))
	AADD(aPAGES,"HEADER 1")
	nCONTROL++
	AADD(aTITLES,OEMTOANSI(STR0016))
	AADD(aPAGES,"HEADER 2")
	nCONTROL++

	If nOPCAO # 2 .OR. nOPCAO # 5 // Visual
		lGETD := .T.
	EndIf

	DEFINE MSDIALOG oDLG TITLE cCADASTRO FROM 6.5,0 TO 26.5,80 OF oMAINWND
	oFOLDER := TFOLDER():New(1,0,aTITLES,aPAGES,oDLG,,,,.F.,.F.,320,200,)
	oFOLDER:aDIALOGS[1]:oFONT := oDLG:oFONT
	oFOLDER:aDIALOGS[2]:oFONT := oDLG:oFONT

	//³ Enchoice 01
	aTELA    := {}
	aGETS    := {}

	dbSelectArea("TP9")
	RegToMemory("TP9",(nOPCAO == 3))
	oENC01:= MsMGet():New("TP9",_nREG,nOPCAO,,,,,{0,0,125,315},,,,,,oFOLDER:aDIALOGS[1],,,.F.,"aSVATELA")
	oENC01:oBOX:bGOTFOCUS := {||  NGENTRAENC("TP9")}
	oFOLDER:bSETOPTION    := {|x| M170SAIFOLD("TP9",x)}
	aSVATELA := aCLONE(aTELA)
	aSVAGETS := aCLONE(aGETS)

	//³ GetDados 01
	aAdd(aNoFields, 'TPB_CODFAM')

	#IFDEF TOP
	cQuery := "SELECT * FROM " + RetSqlName("TPB") + " TPB WHERE TPB.TPB_FILIAL = '" + xFilial("TPB") + "' AND TPB.TPB_CODFAM = '" + TP9->TP9_CODFAM + "'"
	cQuery += " AND TPB.D_E_L_E_T_ = ' '"

	FillGetDados( _nOpcx, "TPB", 4, xFilial("TPB")+TP9->TP9_CODFAM, {|| "TPB->TPB_FILIAL + TPB->TPB_CODFAM"}, ;
	{|| .T.},aNoFields,,,cQuery)

	#ELSE
	cKEYTPB  := "TP9->TP9_CODFAM"
	cGETALTPB := "TPB"
	cGETWHTPB := "TPB->TPB_FILIAL == xFILIAL('TPB') .AND. TPB->TPB_CODFAM == TP9->TP9_CODFAM"
	FillGetDados( _nOpcx, cGETALTPB, 4, cKEYTPB, {|| }, {|| .T.},aNoFields,,,, ;
	{|| NGMontaAcols(cGETALTPB,&cKEYTPB,cGETWHTPB)})

	#ENDIF

	DbSelectArea("TPB")
	DbSetOrder(1)
	Dbgobottom()
	Dbskip()

	IF EMPTY(aCOLS) .OR. nOPCAO == 3
		aCOLS := BLANKGETD(aHEADER)
	ELSE
		aTPBACOL := aCLONE(aCOLS)
	ENDIF

	aSVHEADER[1] := aCLONE(aHEADER)
	aSVCOLS[1]	 := aCLONE(aCOLS)
	n            := LEN(aCOLS)
	oGET01 := MSGETDADOS():New(0,0,125,315,nOPCAO,"NG170LINOK()","AllWaysTrue()",,lGETD,,1,,500,,,,, ;
	oFOLDER:aDIALOGS[2])
	oGET01:oBrowse:Align := CONTROL_ALIGN_ALLCLIENT
	oGET01:oBROWSE:bGOTFOCUS  :={|| ENTRAGET(1)}
	oGET01:oBROWSE:bLOSTFOCUS :={|| NGSAIGET(1)}
	oGET01:oBROWSE:DEFAULT()
	oGET01:oBROWSE:REFRESH()

	ACTIVATE DIALOG oDLG ON INIT (ENCHOICEBAR(oDLG,{|| lOK:=.T.,IF(oGET01:TUDOOK(),IF(MNT170CHK(),oDLG:END(),lOK := .F.) ;
	,lOK := .F.)},{|| nOK:= 0,oDLG:END()}),,AlignObject(oDlg,{oFolder},1))
	dbSelectArea("SX1")
	dbSetOrder(1)
	If dbSeek("MNT170    "+"01")
		RecLock("SX1",.F.)
		SX1->X1_PRESEL := 2
		SX1->(MsUnlock())
	EndIf

	If dbSeek("MNT170    "+"02")
		RecLock("SX1",.F.)
		SX1->X1_PRESEL := 2
		SX1->X1_VALID  := ""
		If(MV_PAR02 == 2,.T.,.F.) .And. naovazio()"
			SX1->(MsUnlock())
		EndIf
		If lOK .AND. STR(nOPCAO,1) $ "345"
			NG170GRAVA(nOPCAO)
		EndIf
	dbSelectArea("TP9")
	dbSetOrder(1)
	dbGoTo(RECNO())

Return .T.

/*Fun‡…o  ENTRAGET
Autor Vitor Emanuel Batista
Data 04/09/08
Descri‡…o Retorna aCols e aHeader quando se foca a GETDADOS
Uso MNTA170 /*/
Static Function ENTRAGET(nG)

	Local cVAR := "oGET"+Strzero(nG,2)

	aHEADER    := aCLONE(aSVHEADER[nG])
	aCOLS	   := aCLONE(aSVCOLS[nG])
	n          := Len(aCOLS)

	oFOLDER:REFRESH()
	lRefresh := .t.

	If Type(cVAR) == "O"
		&cVAR:oBROWSE:REFRESH()
		If cVar = "oGET01"
			oGet01:oBrowse:Refresh()
		ElseIf Type(cVAR) == "O"
			oGet02:oBrowse:Refresh()
		EndIf
	EndIf

	nCONTROGD := nG

Return

/*/Fun‡…o M170SAIFOLD
Autor Vitor Emanuel Batista
Data 04/09/08
Descri‡…o Guarda aTela e aGets na saida do foco na enchoice para a tabela ST9
Uso GENERICO
/*/

Static Function M170SAIFOLD(cALIAS,x)

	Local lRETURN := .T.

	If nOPCAO == 3 .OR. nOPCAO == 4
		If !EXISTCPO('ST6',M->TP9_CODFAM)
			Return .F.
		EndIf
		NGSAIENC("TP9",x)
	EndIf

Return lReturn