Árvore de páginas

Pontos de Entrada MVC na P12

Produto:

Protheus ADVPL

Versões:

P12

Ocorrência:

Pontos de entrada MVC na P12 ?

Ambiente:

P12

Passo a passo:

Não Temos ainda uma Lista completa de Pontos de entrada na P12, mas esse documento estará sempre em atualização informando algumas rotina com ponto de entrada No Padrão MVC

MATA131FATA300FATA600OMSA010CNTA300MATA094TECA930TECA890JURA109
MATA311TECA440
FINM010
ATFA010
ATFA012
GPEA240MNTA080GPEA020ATFA030
ATFA036
FINA460
FINA460A

MATA010

ITEM

MATA020

CUSTOMERVENDOR

GPEA020MATA014FISA010CNTA300EECAT140 

EXPP013

MATA960

MATA960MOD



Obs. o nome do arquivo.prw não poderá ser o mesmo da user function

Segue exemplo

#INCLUDE 'PROTHEUS.CH'

#INCLUDE 'FWMVCDEF.CH'

User Function MATA311()//Nome o ID do Modelo de Dados (Model) ou Nome da rotina


Local aParam := PARAMIXB

Local xRet := .T.

Local oObj := ''

Local cIdPonto := ''

Local cIdModel := ''

Local lIsGrid := .F.


Local nLinha := 0

Local nQtdLinhas := 0

Local cMsg := ''


If aParam <> NIL


oObj := aParam[1]

cIdPonto := aParam[2]

cIdModel := aParam[3]

lIsGrid := ( Len( aParam ) > 3 )


//If lIsGrid

// nQtdLinhas := oObj:GetQtdLine()

// nLinha := oObj:nLine

//EndIf


If cIdPonto == 'MODELPOS'

cMsg := 'Chamada na validação total do modelo.' + CRLF

cMsg += 'ID ' + cIdModel + CRLF


xRet := ApMsgYesNo( cMsg + 'Continua ?' )


ElseIf cIdPonto == 'FORMPOS'

cMsg := 'Chamada na validação total do formulário.' + CRLF

cMsg += 'ID ' + cIdModel + CRLF


If lIsGrid

cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF

cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

Else

cMsg += 'É um FORMFIELD' + CRLF

EndIf


xRet := ApMsgYesNo( cMsg + 'Continua ?' )


ElseIf cIdPonto == 'FORMLINEPRE'

If aParam[5] == 'DELETE'

cMsg := 'Chamada na pre validação da linha do formulário. ' + CRLF

cMsg += 'Onde esta se tentando deletar a linha' + CRLF

cMsg += 'ID ' + cIdModel + CRLF

cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF

cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

xRet := ApMsgYesNo( cMsg + 'Continua ?' )

EndIf


ElseIf cIdPonto == 'FORMLINEPOS'

cMsg := 'Chamada na validação da linha do formulário.' + CRLF

cMsg += 'ID ' + cIdModel + CRLF

cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF

cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

xRet := ApMsgYesNo( cMsg + 'Continua ?' )


ElseIf cIdPonto == 'MODELCOMMITTTS'

ApMsgInfo('Chamada apos a gravação total do modelo e dentro da transação.')


ElseIf cIdPonto == 'MODELCOMMITNTTS'

ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação.')


ElseIf cIdPonto == 'FORMCOMMITTTSPRE'

ApMsgInfo('Chamada apos a gravação da tabela do formulário.')


ElseIf cIdPonto == 'FORMCOMMITTTSPOS'

ApMsgInfo('Chamada apos a gravação da tabela do formulário.')


ElseIf cIdPonto == 'MODELCANCEL'

cMsg := 'Deseja Realmente Sair ?'

xRet := ApMsgYesNo( cMsg )


ElseIf cIdPonto == 'BUTTONBAR'

xRet := { {'Salvar', 'SALVAR', { || u_TESTEX() } } }

EndIf

EndIf

Return xRet


User Function TESTEX()

ALert ("passou")

Return


Mais Detalhes
Todos os pontos de entrada terão seu legado mantido, salvo pontos que consideramos como pontos padrões como validação após a gravação e botões que serão substituídos, os pontos que trazem conteúdo do sistema por paramixb esses serão mantidos com sua particularidades.



Observações: