Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

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

Rotina:

Rotina

Nome Técnico

MNTA985

Portaria

Rotina(s) envolvida(s)

Nome Técnico

MNTA9852

Ponto de Entrada

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos


Deck of Cards
startHiddenfalse
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
defaulttrue
id1
labelAtual

Ponto de Entrada

Descrição:

Ponto de entrada executado na rotina de Controle de Portaria (MNTA985) que permite que seja realizado tratamento de variáveis de montagem de tela de entrada e saída. (Ex.: aRelac, aVarNao)

Programa Fonte:

MNTA985.prw
Localização:SIGAMNT: Atualizações/Controle de Oficina/Controle de Portaria/Portaria

Função:

MNTA9852()
Parâmetros:
NomeTipoDescrição
ParamIXB[1]LógicoIndica se é entrada (.T.)
ParamIXB[2]LógicoIndica se é saída (.T.)
ParamIXB[3]Array

Informações referentes ao veículo selecionado, sendo:

[1] - Empresa;

[2] - Filial;

[3] - Código.

Bloco de código
languagesql
titleExemplo do Ponto de Entrada MNTA9852()
#Include 'Protheus.ch'
#Include 'RwMake.ch'

/*
Função MNTA9852
Autor Felipe Nathan Welter
Data 16/02/10
Descrição PE para tratamento de variaveis de montagem da tela ( ex.: aRELAC, aVARNAO)
Parametros aParamIxb [1] - lEnt (indica se é entrada)
					 [2] - lSai (indica se é saida)
					 [3] - aInf (vetor com informacoes do veiculo)
					 [3][1] - Empresa
					 [3][2] - Filial
					 [3][3] - Codigo Veiculo
Retorno Nil
Uso MNTA985
*/

User Function MNTA9852()

	Local aArea := GetArea()
	Local lENT := lSAI := .F.
	Local aInf := Array(3)
	Local lIntTMS := If(GetNewPar("MV_NGMNTMS","N") == "S",.T.,.F.)

	//Integracao com TMS
	//Carrega variaveis de Entrada e Saida
	If ValType(ParamIxb) == "A"
		lENT  := ParamIXB[1]
		lSAI  := ParamIXB[2]
		aInf  := aClone(ParamIXB[3])
	EndIf

	//Prepara campos de usuario para apresentacao em tela (Entrada/Saida)
	If lENT	aAdd(aVARNAO,'TTI_SITSAI')
		aAdd(aVARNAO,'TTI_MTVSAI')
		aAdd(aVARNAO,'TTI_DESMTV')
	ElseIf lSAI
		aAdd(aVARNAO,'TTI_SITENT')
	EndIf

	//Carrega o campo motorista
	If lIntTMS
		If aInf[1] == SM0->M0_CODIGO
			dbSelectArea("ST9")
			dbSetOrder(01)
			If dbSeek(aInf[2]+aInf[3]) .And. ST9->T9_CATBEM == "2"
				dbSelectArea("DA3")
				dbSetOrder(01)
				If dbSeek(NGTROCAFILI("DA3",aInf[2],aInf[1])+ST9->T9_CODTMS)
					If !Empty(DA3->DA3_MOTORI) .And. ((NGSX2MODO("DA3") == "C") .Or. (NGSX2MODO("DA3") == "E" .And. DA3->DA3_FILIAL == SM0->M0_CODFIL))
						If lENT
							aAdd(aRELAC,{"TTI_MOTENT",'"'+DA3->DA3_MOTORI+'"'})
						ElseIf lSAI
							aAdd(aRELAC,{"TTI_MOTSAI",'"'+DA3->DA3_MOTORI+'"'})
						EndIf
							aAdd(aRELAC,{"TTI_NOMMOT",'"'+NGSEEK("DA4",DA3->DA3_MOTORI,01,"DA4_NOME",SM0->M0_CODFIL,SM0->M0_CODIGO)+'"'})
					EndIf
				EndIf
			EndIf
		EndIf
	EndIf

	RestArea(aArea)

Return
Card
id2
labelAnterior a [DATA_EXPEDIÇÃO]
Aviso
titleMudança nos argumentos da User Function

Nesse caso, os parâmetros são passados pelo argumento da User Function. Ao contrário do código Atual, que faz utilização do Array de parâmetros ParamIXB.

Ponto de Entrada

Descrição:

Ponto de entrada executado na rotina de Controle de Portaria (MNTA985) que permite que seja realizado tratamento de variáveis de montagem de tela de entrada e saída. (Ex.: aRelac, aVarNao)

Programa Fonte:

MNTA985.prw
Localização:SIGAMNT: Atualizações/Controle de Oficina/Controle de Portaria/Portaria

Função:

MNTA9852()
Parâmetros:
NomeTipoDescrição
ParamIXB[1]LógicoIndica se é entrada (.T.)
ParamIXB[2]LógicoIndica se é saída (.T.)
ParamIXB[3]Array

Informações referentes ao veículo selecionado, sendo:

[1] - Empresa;

[2] - Filial;

[3] - Código.

Bloco de código
languagesql
titleExemplo do Ponto de Entrada MNTA9852()
#Include 'Protheus.ch'
#Include 'RwMake.ch'

/*
Função MNTA9852
Autor Felipe Nathan Welter
Data 16/02/10
Descrição PE para tratamento de variaveis de montagem da tela ( ex.: aRELAC, aVARNAO)
Parametros aParamIxb [1] - lEnt (indica se é entrada)
					 [2] - lSai (indica se é saida)
					 [3] - aInf (vetor com informacoes do veiculo)
					 [3][1] - Empresa
					 [3][2] - Filial
					 [3][3] - Codigo Veiculo
Retorno Nil
Uso MNTA985
*/

User Function MNTA9852()

	Local aArea := GetArea(ParamIXB)
	Local lENT := lSAI := .F.
	Local aInf := Array(3)
	Local lIntTMS := If(GetNewPar("MV_NGMNTMS","N") == "S",.T.,.F.)

	//Integracao com TMS
	//Carrega variaveis de Entrada e Saida
	If ValType(ParamIxb) == "A"
		lENT  := ParamIXB[1]
		lSAI  := ParamIXB[2]
		aInf  := aClone(ParamIXB[3])
	EndIf

	//Prepara campos de usuario para apresentacao em tela (Entrada/Saida)
	If lENT	aAdd(aVARNAO,'TTI_SITSAI')
		aAdd(aVARNAO,'TTI_MTVSAI')
		aAdd(aVARNAO,'TTI_DESMTV')
	ElseIf lSAI
		aAdd(aVARNAO,'TTI_SITENT')
	EndIf

	//Carrega o campo motorista
	If lIntTMS
		If aInf[1] == SM0->M0_CODIGO
			dbSelectArea("ST9")
			dbSetOrder(01)
			If dbSeek(aInf[2]+aInf[3]) .And. ST9->T9_CATBEM == "2"
				dbSelectArea("DA3")
				dbSetOrder(01)
				If dbSeek(NGTROCAFILI("DA3",aInf[2],aInf[1])+ST9->T9_CODTMS)
					If !Empty(DA3->DA3_MOTORI) .And. ((NGSX2MODO("DA3") == "C") .Or. (NGSX2MODO("DA3") == "E" .And. DA3->DA3_FILIAL == SM0->M0_CODFIL))
						If lENT
							aAdd(aRELAC,{"TTI_MOTENT",'"'+DA3->DA3_MOTORI+'"'})
						ElseIf lSAI
							aAdd(aRELAC,{"TTI_MOTSAI",'"'+DA3->DA3_MOTORI+'"'})
						EndIf
							aAdd(aRELAC,{"TTI_NOMMOT",'"'+NGSEEK("DA4",DA3->DA3_MOTORI,01,"DA4_NOME",SM0->M0_CODFIL,SM0->M0_CODIGO)+'"'})
					EndIf
				EndIf
			EndIf
		EndIf
	EndIf

	RestArea(aArea)

Return