Árvore de páginas

Versões comparadas

Chave

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

...

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 '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
Anterior a [
id2
labelVersão Antiga
Aviso

Os detalhes abaixo aplicam-se às versões anteriores à

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. 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