Pular para conteúdo

Pontos de Entrada (Entry Points)

Status: parcial — afirmações verificadas, com lacunas declaradas. [n · F] remete à fonte n da lista de fontes; a letra marca a procedência: F fato em fonte oficial TOTVS/TDN · S fonte secundária (blog, fórum) · unverified sem fonte que sustente.

Escopo desta seção

O que é um Ponto de Entrada, como a assinatura muda entre o modelo convencional e o MVC, o que vem dentro do PARAMIXB e o que o retorno faz com a rotina padrão.

O contrato

  • Pontos de entrada customizam rotinas padrão, recebem parâmetros pela variável PARAMIXB e retornam valores como uma função AdvPL; se o retorno for diferente do especificado na documentação, a rotina poderá ser abortada.[20 · F]
  • Assinatura canônica: User Function JURA001(), com Local aParam := PARAMIXB e Local xRet := .T., retornando xRet.[20 · F]

MVC: um único ponto de entrada

  • Em fontes MVC existe um único ponto de entrada, e o nome dele é o ID do Model definido em ModelDef — diferente do modelo convencional, com vários PEs.[20 · F]
  • O ID do Model não pode ser igual ao nome do fonte.[20 · F]

O que vem no PARAMIXB

  • PARAMIXB traz um vetor cujos três primeiros elementos são comuns a todos os IDs: o objeto do formulário ou do modelo, o ID do local de execução do ponto de entrada e o ID do formulário.[20 · F]
  • O conjunto de IDs de momento inclui MODELPRE, MODELPOS, FORMPOS, FORMLINEPRE, FORMLINEPOS, MODELCOMMITTTS, MODELCOMMITNTTS, FORMCOMMITTTSPRE, FORMCOMMITTTSPOS, MODELCANCEL e BUTTONBAR.[56 · F]
  • Exemplo completo de PE MVC com aClone(PARAMIXB), DbSeek por filial mais chave, RecLock/MsUnlock e Return .T..[54 · F]

Leia o PARAMIXB como contrato posicional

Você lê o vetor por posição, não por nome. Um PE que assume a ordem errada compila e roda — e quebra no cliente. Daí a regra de aClone(PARAMIXB) em vez de mexer no vetor original.[54]

Lacunas declaradas

Lacuna: a lista de pontos de entrada fora do MVC (por rotina padrão) não foi coletada — esta passada cobriu o PE padrão do MVC[20], o PE MVC do MATA010[56] e um PE de gravação em SD4[54].

Lacuna: como localizar PEs no RPO de um ambiente real não tem fonte coletada.

Fontes

[20] · [54] · [56] — ver lista completa.