Pontos de entrada em rotinas MVC
PARAMIXB = {oObject,cEvent,cForm,...}Despacha eventos pelo ID recebido e respeita o retorno de cada evento.
Visão geral
O PE padrão MVC é uma User Function com o ID do Model e recebe um array: objeto em [1], evento em [2] e formulário/submodelo em [3]. Os complementos variam por evento. MODELPOS exige lógico; BUTTONBAR exige array estruturado. MODELCOMMITTTS ocorre após a gravação total dentro da transação; MODELCOMMITNTTS ocorre após a gravação fora dela, sem retorno esperado. A TOTVS informa que MODELPOS pode ser chamado na validação e no evento: não presumir execução única. O exemplo comunitário mostra o dispatch, mas contém descrição de commit diferente da tabela oficial; prevalece esta última. (Fontes: refs. 1–3.)
Sintaxe
PARAMIXB = {oObject,cEvent,cForm,...}Exemplo comentado
#Include "Protheus.ch"
User Function Ed573()
Local aEnvelope := {Nil,"MODELPOS","EDMASTER"}
// Envelope sintetico: nao e uma implementacao universal de PE.
If Len(aEnvelope) >= 3
If ValType(aEnvelope[2]) == "C"
ConOut(aEnvelope[2])
EndIf
EndIf
Return NilImprime MODELPOS. Não valida um modelo real nem executa commit. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Tratar todos os eventos que exigem retorno e conferir posições adicionais antes de lê-las. Não inferir grid apenas por Len > 3. Manter validações sem efeitos externos e tornar integrações idempotentes.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.