| Produto: | TOTVS Medicina e Segurança do Trabalho |
|---|---|
| Linha de Produto: | Linha Protheus |
| Segmento: | Serviços |
| Módulo: | Medicina e Segurança do Trabalho (SIGAMDT) |
| Função: | Questionário Prod. (MDTA056) |
| País: | Brasil |
Este documento informa as funções de Pontos de Entrada já prontas da rotina Questionário Prod. (MDTA056) por se tratar de uma rotina em MVC. Para entender melhor os conceitos de Ponto de Entrada em rotinas MVC basta acessar a seguinte documentação: Pontos de Entrada para fontes Advpl desenvolvidos utilizando o conceito MVC
Exemplo
#Include 'Protheus.ch'
User Function Mdta056()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := ''
Local cIdModel := ''
Local lIsGrid := .F.
Local oModel := FWModelActive()
If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
lIsGrid := ( Len( aParam ) > 3 )
//Valida a abertura da tela
If cIdPonto == "MODELVLDACTIVE"
nOper := oObj:nOperation
//Pré configurações do Formulário de Dados
ElseIf cIdPonto == "FORMPRE"
nOper := oObj:GetModel(cIdPonto):nOperation
cTipo := aParam[4]
cCampo := aParam[5]
M->TIC_PERG := oModel:LoadValue( "TICDETAIL", "TIC_PERG", "TESTE" )
ElseIf cIdPonto == 'MODELPOS'
cMsg := 'Chamada na validação total do modelo (MODELPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O MODELPOS retornou .F.', 1, 0 )
EndIf
ElseIf cIdPonto == 'FORMPOS'
cMsg := 'Chamada na validação total do formulário (FORMPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If cClasse == 'FWFORMGRID'
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF
ElseIf cClasse == 'FWFORMFIELD'
cMsg += 'É um FORMFIELD' + CRLF
EndIf
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMPOS retornou .F.', 1, 0 )
EndIf
ElseIf cIdPonto == 'FORMLINEPRE'
If aParam[5] == 'DELETE'
cMsg := 'Chamada na pre validação da linha do formulário (FORMLINEPRE).' + CRLF
cMsg += 'Onde esta se tentando deletar uma linha' + CRLF
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) +;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) +;
CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMLINEPRE retornou .F.', 1, 0 )
EndIf
EndIf
ElseIf cIdPonto == 'FORMLINEPOS'
Msg := 'Chamada na validação da linha do formulário (FORMLINEPOS).' +;
CRLF
cMsg += 'ID ' + cIdModel + CRLF
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMLINEPOS retornou .F.', 1, 0 )
EndIf
ElseIf cIdPonto == 'MODELCOMMITTTS'
ApMsgInfo('Chamada apos a gravação total do modelo e dentro da transação (MODELCOMMITTTS).' + CRLF + 'ID ' + cIdModel )
ElseIf cIdPonto == 'MODELCOMMITNTTS'
ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)
//ElseIf cIdPonto == 'FORMCOMMITTTSPRE'
ElseIf cIdPonto == 'FORMCOMMITTTSPOS'
ApMsgInfo('Chamada apos a gravação da tabela do formulário (FORMCOMMITTTSPOS).' + CRLF + 'ID ' + cIdModel)
ElseIf cIdPonto == 'MODELCANCEL'
cMsg := 'Chamada no Botão Cancelar (MODELCANCEL).' + CRLF + 'Deseja Realmente Sair ?'
If !( xRet := ApMsgYesNo( cMsg ) )
Help( ,, 'Help',, 'O MODELCANCEL retornou .F.', 1, 0 )
EndIf
ElseIf cIdPonto == 'BUTTONBAR'
ApMsgInfo('Adicionando Botao na Barra de Botoes (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
xRet := { {'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botao Salva' } }
EndIf
EndIf
Return xRet |