Árvore de páginas

Ponto de entrada que realiza tratamento de variáveis de montagem de tela na rotina de Controle de Portaria (MNTA985)

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

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


    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:
    Nome Tipo Descrição
    ParamIXB[1] Lógico Indica se é entrada (.T.)
    ParamIXB[2] Lógico Indica se é saída (.T.)
    ParamIXB[3] Array

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

    [1] - Empresa;

    [2] - Filial;

    [3] - Código.

    Exemplo 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

    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:
    Nome Tipo Descrição
    ParamIXB[1] Lógico Indica se é entrada (.T.)
    ParamIXB[2] Lógico Indica se é saída (.T.)
    ParamIXB[3] Array

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

    [1] - Empresa;

    [2] - Filial;

    [3] - Código.

    Exemplo 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