advpl-pontos-entradalisted
Install: claude install-skill JoniPraia/plugadvpl
# advpl-pontos-entrada — Customização via PE
**Ponto de Entrada (PE)** é o mecanismo oficial TOTVS para customizar comportamento de rotinas padrão **sem alterar o fonte original**. Toda rotina Protheus principal tem dezenas de PEs cadastrados em pontos estratégicos (antes de validar, antes de gravar, antes de imprimir, etc.).
O cliente implementa uma `User Function` com **nome exato e assinatura esperada** pela rotina TOTVS. Em runtime, o framework chama via `ExecBlock` se a função existir no RPO (`ExistBlock` confirma).
## Quando usar
- Usuário pede "criar ponto de entrada", "implementar PE", "customizar rotina padrão TOTVS".
- Edit em arquivo cuja função casa com pattern de PE (ver regex abaixo).
- Investigar comportamento "modificado" de rotina TOTVS — provavelmente há PE ativa.
- Antes de copiar rotina TOTVS inteira para customizar → **sempre prefira PE**.
- Customização de cadastro MVC padrão (PE STRU/MOD/VLD/COMMIT) — veja `[[advpl-mvc-avancado]]`.
## Pattern de naming
Regex que casa a esmagadora maioria dos PEs oficiais:
```
^[A-Z]{2,4}\d{2,4}[A-Z_]*$
```
Exemplos:
- `MT100LOK` — Módulo MT (Faturamento) + 100 (rotina) + LOK (linha OK).
- `M460FIM` — MATA460 — fim do processamento.
- `MA410LOK` — MATA410 — Pedido de venda, line OK.
- `MA410BUT` — MATA410 — botões adicionais.
- `FA080INC` — FINA080 — pós-inclusão.
- `SF2100I` — SF2 + 100 + I (post Insert).
- `A300STRU` — CNTA300 — estrutura MVC (model + view).
### Sufixos comuns por classe de hook
| Sufixo |