Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Manutenção de Ativos

Linha de Produto:

Linha Protheus

Segmento:

Manufatura

Módulo:

TOTVS Manufatura (Linha Protheus) - Manutenção de ativos (SIGAMNT)

Função:MNTA735()
País:Brasil


02. DESCRIÇÃO

Descrição:

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

Localização:

SIGAMNT: Atualizações > Controle de Oficina > Check List  > Retorno Check List
Programa Fonte:MNTA735.prx

Função:

MNTA735

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

Retorno:

NomeTipoDescriçãoObrigatório

xRet

Indefinido

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

Sim

03. DEMAIS INFORMAÇÕES

Exemplo MNTA735()
#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'FWMVCDEF.CH'
 
User Function MNTA735()
 
    Local aParam    := PARAMIXB
    Local aAreaTTF  := {}
    Local xRet      := .T.
    Local oObj      := Nil
    Local oGrid1    := Nil
    Local cIdPonto  := ''
    Local cIdModel  := ''
    Local cEtapa    := ''
    Local nLinhas   := 0
    Local nLenGrid  := 0
    Local nInd      := 0
 
    If !Empty( aParam )
 
        oObj     := aParam[1] // Modelo ativado.
        cIdPonto := aParam[2] // Determina o ponto de chamada.
        cIdModel := aParam[3] // Identificador do modelo.
 
        Do Case
 
            // Acionado antes 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 etapa 1' )
                    oGrid1:LoadValue( 'TTG_CRITIC', 'A' )
 
                EndIf
 
            // Acionado após a gravação da tabela do 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' ) ) // Posiciona no registro adicionado.
 
                        RecLock( 'TTF', .F. )
                            TTF->TTF_POSCON := 100  // Realiza alteração de contador.
                        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' ) )
 
                    EndIf
 
                    RestArea( aAreaTTF ) // Retorna área posicionada.
 
                EndIf
 
            // Acionado na validação total do 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( , , 'Atenção', , 'O campo de Ramal não foi preenchido. Favor realizar o seu preenchimento.', 1, 0 )
                        xRet := .F.
 
                    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 := Trim( oGrid1:GetValue( 'TTG_ETAPA' ) )
 
                                If cEtapa == '0001'
 
                                    Help( , , 'Atenção', , 'Essa etapa não pode ser utilizada', 1, 0 )
                                    xRet := .F.
 
                                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( , , '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 == 'BUTTONBAR'
 
                /*
                    Deve ser retornado um array bi-dimencional com as seguintes posições.
                    [1] Caracter        Titulo para o botão
                    [2] Caracter        Nome do Bitmap para exibição
                    [3] Bloco de Código CodeBlock a ser executado
                    [4] Caracter        ToolTip (Opcional)
                */
                xRet := { { 'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botão Salva!' } }
 
        EndCase
 
    EndIf
 
Return xRet


04. ASSUNTOS RELACIONADOS