Árvore de páginas

Versões comparadas

Chave

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

 Ponto de entrada para rotina de Retorno de Check List 


Aviso
titleAtenção

Os pontos de entrada

Alteração dos pontos

( MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358 )

de entrada do fonte MNTA735 - Retorno Check List para o novo padrão MVC. 

encontram-se descontinuados, passando a ser utilizado somente o modelo MVC que contas nesta documentação.


Características do Requisito

Cadastros IniciaisPaís(es)Banco(s) Tabelas Utilizadas

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

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

Rotina:

Rotina

Nome Técnico

MNTA735

Retorno Check List

Tickets:

Familia de Bens

Modelos

Bens

Etapas Genéricas

Serviços

7351993
Issues:DNG-8705

Países

:

Todos.

Bancos de Dados:

Todos.

Sistemas Operacionais:

TTF - CHECK LIST

TTG - DETALHES DO CHECK LIST 

Sistema(s) Operacional(is):

Windows e Linux

Descrição

Alteração dos pontos de entrada (MNTA7351, MNTA7352, MNTA7355, MNTA7356 e MNTA7358) para o padrão MVC, alterando a chamada dos pontos de entrada. 

Procedimento para Utilização

  • Entrar no modulo de Manutenção de Ativos e Gestão de Frotas(SIGAMNT).
  • Em Atualizações > Controle de Oficina > Bens > Familia de Bens. Incluir uma família de bem.
  • Em Atualizações > Controle de Oficina > Bens > Modelos. Incluir um modelo.
  • Em Atualizações > Controle de Oficina > Bens > Bens. Incluir um bem.
  • Em Atualizações > Controle de Oficina > Manutenção > Etapas Genéricas. Incluir uma etapa genérica.
  • Em Atualizações > Controle de Oficina > Manutenção > Serviços. Incluir um serviço.
  • Todos.

    Ponto de Entrada

    Descrição:

    Ponto de entrada no padrão MVC para customização da rotina de check list.

    Localização:

    SIGAMNT:

    Em

    Atualizações > Controle de Oficina > Check List  > Retorno Check List

    Padrão. Incluir um check list padrão.
  • Em Atualizações > Controle de Oficina > Check List > Geração Check List. Verificar que a rotina está funcionando corretamente.

  • Programa Fonte:

    MNTA735.prw

    Parâmetros:
    NomeTipoDescriçãoObrigatório
    ParamIXB[1]ObjetoModelo de Dados

    Sim

    ParamIXB[2]CaracterIdentificador do ponto de chamadaSim
    ParamIXB[3]CaracterIdentificador do modelo de dadosSim

    Ponto de Entrada

    FORMCOMMITTTSPRE - Inclui dados na tabela TTG
    FORMCOMMITTTSPOS - Inclui dados na tabela TTF ou em outras tabelas.
    MODELPOS - Usado para validar a geração do Check List.
    FORMLINEPOS - Utilizado para validação de linha da Grid.

    MNTA735xRet

    Descrição:

    Localização:

    Atualizações > Controle de Oficina > Check List

    Eventos:

    Geração Check List. 

    Programa Fonte:

    MNTA735

    Função:

    Retorno:

    Nome

    Tipo

    Descrição

    Obrigatório

     xRet

    Lógico

    Retorna .T. ou .F. mediante a verificações.

    Sim

     

    Indefinido

    O retorno pode se modificar, dependendo do ponto de chamada enviado pelo parâmetro PARAMIXB[2]

    Sim

    Links:Pontos de entrada padrão MVC
    Exemplo:
    Bloco de código
    languagejavasql
    titlePonto de entrada Exemplo P.E. MNTA735 padrão MVC
    linenumberstrue
    #INCLUDE "'PROTHEUS.CH"'
    #INCLUDE 'FWMVCDEF.CH'
    
    
    User Function MNTA735() //Função responsável pela chamada dos pontos de entrada da rotina MNTA735 - Retorno Check List
    
    	Local aParam    := PARAMIXB //Parâmetros passados pelo ponto de entrada.
    
    	Local aAreaTTF  := '' //Variável para gravação da área posicionada.
    {}
    	Local xRet      := .T. //Retorno da função.
    	Local oObj      := '' //Objeto que receberá o modelo.
    Nil
    	Local oGrid1    := '' //Variável de grid.
    Nil
    	Local cIdPonto  := '' //Identificador da chamada do ponto de entrada.
    
    	Local cIdModel  := '' //Identificador do modelo utilizado.
    Local cModel    := '' //Identifica o modelo utilizado e receberá o seu identificador.
    
    	Local cEtapa    := '' //Código da etapa.
    
    	Local nLinhas   := 0 //Numero de linhas.
    
    	Local nLenGrid  := 0 //Numero total de linhas.
    
    	Local nInd      := 0 //Variável de controle de linhas.
    
    	If aParam <> NIL //Identifica que foram enviado os parâmetros.
        !Empty( aParam )
    
    		oObj     := aParam[1] // Modelo ativado.
        		cIdPonto := aParam[2] // Determina o ponto de chamada.
        		cIdModel := aParam[3] // Identificador do modelo.
    
    		Do Case
    
    			// Acionado  Ifantes da gravação da tabela do formulário.
    			Case cIdPonto == 'FORMCOMMITTTSPRE' 
    
    				// Substituição do ponto de entrada MNTA7352. 
    
            
    				If cIdModel == 'MNTA735'
    
                					oGrid1  := PARAMIXB[4] //Retorna a Grid que contêm os valores da TTG.
                					nLinhas := 0
    
                					oGrid1:AddLine() //Adiciona uma nova linha.
                					nLinhas := oGrid1:Length() // Quantidade Total de linhas do oGrid1.
                					oGrid1:GoLine( nLinhas ) //Posiciona na nova linha incluída.
    
                					//Adiciona valores na Grid.
                					oGrid1:LoadValue( 'TTD_TIPMOD'," 'X")
                ' )
    					oGrid1:LoadValue( 'TTG_CHECK', oObj:GetValue( 'TTFMASTER', 'TTF_CHECK' ) )
                					oGrid1:LoadValue( 'TTG_ETAPA'," '01")
                ' )
    					oGrid1:LoadValue( 'TTG_NOMETA'," 'Nome etagaetapa 1")
                ' )
    					oGrid1:LoadValue( 'TTG_CRITIC', 'A' )
    
    				EndIf
    
    			// Acionado após a gravação da tabela do EndIf
    
        ElseIf formulário.
    			Case cIdPonto == 'FORMCOMMITTTSPOS' 
    
    				// Substituição dos ponto de entrada MNTA7351 e MNTA7358. 
    
            
    				If cIdModel == 'MNTA735'
    
                					aAreaTTF := TTF->( GetArea() ) // Salva área posicionada.
    
                dbSelectArea("TTF")
                dbSetOrder(1) //TTF_FILIAL+TTF_CHECK+TTF_CODFAM+TTF_TIPMOD+TTF_SEQFAM
                If dbSeek(xFilial("TTF")+oObj:GetValue('TTFMASTER','TTF_CHECK')) //					dbSelectArea( 'TTF' )
    					dbSetOrder( 1 )  // TTF_FILIAL + TTF_CHECK + TTF_CODFAM + TTF_TIPMOD + TTF_SEQFAM
    					If dbSeek( xFilial( 'TTF' ) + oObj:GetValue( 'TTFMASTER', 'TTF_CHECK' ) ) // Posiciona no registro adicionado.
                    RecLock("TTF",
    						RecLock( 'TTF', .F.)
                     )
    							TTF->TTF_POSCON := 100  // Realiza alteração de contador.
                    MsUnLock("TTF")
                EndIf
    
                dbSelectArea("ST9")
                dbSetOrder(1)
                If dbSeek(xFilial("ST9")+oObj:GetValue('TTFMASTER','TTF_CODBEM'))
                    RecLock("ST9",.F.)
                    						TTF->( MsUnLock() )
    
    					EndIf
    
    					dbSelectArea( 'ST9' )
    					dbSetOrder( 1 )
    					If dbSeek( xFilial( 'ST9' ) + oObj:GetValue( 'TTFMASTER', 'TTF_CODBEM' ) )
    
    						RecLock( 'ST9', .F. )
    							ST9->T9_PADRAO  := '2'
    						ST9->( MsUnlock( 'ST9'              MsUnlock("ST9")
                EndIF
    
                RestArea(aAreaTTF) )
    
    					EndIf
    
    					RestArea( aAreaTTF ) // Retorna área posicionada.
    
    				EndIf
    
    			// Acionado na validação total do   EndIf
    
        ElseIf modelo.
    			Case cIdPonto == 'MODELPOS' 
    
    				// Substituição do ponto de entrada MNTA7356. 
    
            
    				If cIdModel == 'MNTA735'
    
                					oGrid1   := oObj:GetModel( 'TTGDETAIL' ) // Posiciona no Model da Grid
                					nLenGrid := oGrid1:Length() // Pega tamanho total da grid.
                					nInd     := 0
                					cEtapa   := ""
    
                ''
    
    					If Empty( oObj:GetValue( 'TTFMASTER', 'TTF_RAMAL' ) ) // Verifica se o campo Ramal foi preenchido.
                    Help(Nil, Nil, "Atenção", Nil, "
    						Help( , , 'Atenção', , 'O campo de Ramal não foi preenchido. Favor realizar o seu preenchimento."', 1, 0)
                     )
    						xRet := .F.
                EndIf
    
                If xRet
                    
    					EndIf
    
    					If xRet
    
    						For nInd := 1 To nLenGrid
    
                        							oGrid1:GoLine( nInd ) // Posiciona na linha desejada.
                        
    							If !oGrid1:IsDeleted() // Veririfica se o registro não está delatado
    
                            								cEtapa := AllTrimTrim( oGrid1:GetValue(" 'TTG_ETAPA"' ))
                             )
    
    								If cEtapa == "'0001"
                                Help(Nil, Nil, "Atenção", Nil, "'
    
    									Help( , , 'Atenção', , 'Essa etapa não pode ser utilizada"', 1, 0)
                                 )
    									xRet := .F.
                            EndIf
    
                        EndIf
                    Next nInd
                EndIf
    
            EndIf
    
        ElseIf 
    								EndIf
    
    							EndIf
    
    						Next nInd
    
    					EndIf
    
    				EndIf
    
    			// Acionado na validação total da linha do formulário
    			Case cIdPonto == 'FORMLINEPOS' 
    
    				// Substituição do ponto de entrada MNTA7355. 
    
            
    				If cIdModel == 'MNTA735'
                
    
    					oGrid1  := oObj:GetModel( 'TTGDETAIL' ) // Posiciona no Model da Grid
    
                					If Empty( oGrid1:GetValue( 'TTG_CRITIC' ) ) // Verifica se o campo foi preenchido.
                    Help(Nil, Nil, "Atenção", Nil, "
    						Help( , , 'Atenção', , 'O campo de criticidade não foi preenchido. Favor realizar o seu preenchimento."', 1, 0 )
    						xRet := .F.
    
    					EndIf
    
    				EndIf
    
    			// Inclusão de botões em ações realacionadas da interface de edição.
    			Case cIdPonto ==  xRet := .F.
    'BUTTONBAR'
    
    				/*
    					Deve ser retornado um array bi-dimencional com as seguintes posições.
    					[1] Caracter        Titulo para o botão
    					[2]  EndIf
     Caracter        Nome do Bitmap para exibição
    					[3] Bloco de Código CodeBlock a ser executado
    					[4] Caracter       EndIf
    
        EndIf
    
     ToolTip (Opcional)
    				*/
    				xRet := { { 'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botão Salva!' } }
    
    		EndCase
    
    	EndIf
    
    Return xRet