Á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
labelVersão Atual
Aviso

Os detalhes abaixo aplicam-se às versões posteriores ou igual à  do fonte MNTA985.PRX

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
Totvs.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
labelVersão Antiga
Aviso

Os detalhes abaixo aplicam-se às versões anteriores à  do fonte MNTA985.PRX

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(ParamIXB)
 
    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 Nil