Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Esse ponto de entrada é especialmente útil quando há necessidade de realizar operações específicas antes de listar os registros no browse, como aplicar filtros adicionais que não são contemplados pela rotina padrão.

03. DEMAIS INFORMAÇÕES

Nota
iconfalse
titleImportante!

A partir da release 12.1.2610, as rotinas compatíveis com SmartX passam a utilizar uma nova camada de renderização e gerenciamento de interface, baseada na integração entre o framework PO UI e o Protheus.

Com essa evolução, alguns Pontos de Entrada (PE) passam a possuir comportamentos específicos quando executados em rotinas SmartX

Mudança no comportamento dos Filtros Personalizados no Browse em rotinas SmartX

Devido à nova arquitetura utilizada pelo SmartX, a implementação de determinados Pontos de Entrada relacionados à Filtros Personalizados no Browse das rotinas também sofreu alterações.

Dessa forma, para que as customizações funcionem corretamente em ambientes SmartX, é necessário seguir o novo padrão de implementação descrito na documentação disponibilizada no link abaixo.

⚠️ Importante:

  • As alterações descritas nesta documentação aplicam-se exclusivamente às rotinas executadas em SmartX;
  • Rotinas que não utilizam SmartX continuam mantendo o comportamento original dos Pontos de Entrada, sem necessidade de adequações;
  • Recomenda-se a revisão das customizações existentes para garantir compatibilidade com a nova estrutura.

📌 Consulte a documentação oficial para detalhes sobre a nova forma de implementação dos Pontos de Entrada em SmartX.


Mudança no comportamento dos PE's de Filtros Personalizados do Browse em Rotinas SmartX
Bloco de código
languagecpp
themeRDark
titleManipulação de PE no sistema
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Ponto de Entrada                                             ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Default lAF020Brw := ExistBlock("AF020BRW")
If lAF020Brw
	cFilEsp := ExecBlock( "AF020BRW", .F., .F. )
	cFilPad := IIF(ValType(cFilEsp) == "C", cFilEsp, cFilPad )
Endif

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Exexuta o Filtro antes do browse                             ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
bFiltraBrw := { || FilBrowse("SN5", @aIndexFil, @cFilPad) }
dbSelectArea( "SN5" )
Eval( bFiltraBrw )EndIf
Bloco de código
languagecpp
themeRDark
titleExemplo de PE
User Function AF020BRW()
    // Retorna um filtro personalizado para a execução do browse
    Local cFiltroEspecial := "SN5->CAMPO = 'VALOR_DESEJADO'"
    
      // Implementa a lógica do filtro e retorna o valor
Return cFiltroEspecial

...