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

Retornos e validações em pontos de entrada

Alinha tipo e efeito do retorno ao chamador real.

Retornos e validações em pontos de entradaAdvPL
01 · VISÃO GERAL

Visão geral

Antes de escolher Return, leia como a rotina Master usa a resposta: pode ser um lógico de validação, array de botões, texto substituto ou retorno descartado. Em MVC, BUTTONBAR tem estrutura de array, enquanto eventos de validação têm retorno lógico; isso não é uma regra para todos os PEs. Confirme também momento transacional e possibilidade de repetição do evento. O laboratório é um consumidor sintético que aceita apenas lógico; não implementa um PE nem fornece .T. como retorno universal. (Fontes: refs. 1–2.)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed626()
    Local xResposta := .T.
    Local lAceito := .F.
    // Consumidor sintetico: contrato deste laboratorio exige logico.
    If ValType(xResposta) == "L"
        lAceito := xResposta
    EndIf
    ConOut(lAceito)
Return Nil
Resultado esperado

Produz .T. para a entrada lógica. Strings e arrays seriam rejeitados por este consumidor específico. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Não dispare integrações irreversíveis numa validação que pode ocorrer mais de uma vez.
  • 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. Pontos de entrada MVC: eventos e contratos. Consulta em 2026-10-27.
  2. Atilio. dan-atilio/AdvPL. Exemplos/Vídeo Aulas/023 - Pontos de Entrada em MVC/MATA070_pe.prw. Arquivo completo consultado; adaptação editorial. 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