Retornos e validações em pontos de entrada
Alinha tipo e efeito do retorno ao chamador real.
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.)
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 NilProduz .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.
- 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.

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