Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Pontos de entrada em rotinas MVC

PARAMIXB = {oObject,cEvent,cForm,...}

Despacha eventos pelo ID recebido e respeita o retorno de cada evento.

Pontos de entrada em rotinas MVCAdvPL
01 · VISÃO GERAL

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.)

02 · SINTAXE

Sintaxe

PARAMIXB = {oObject,cEvent,cForm,...}
03 · EXEMPLO PRÁTICO

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 Nil
Resultado esperado

Imprime 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.

BOAS PRÁTICAS
  • 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.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. Ponto de Entrada Padrão do MVC. Consulta em 2026-10-27.
  2. TOTVS. MODELPOS executa duas vezes. Central de Atendimento, 2024. Consulta em 2026-10-27.
  3. Atilio. MATA070_pe.prw; exemplo comunitário, commit 7d275a7. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha