Árvore de páginas

Versões comparadas

Chave

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

...

Informações
titleFuncionamento

O SELECT principal da busca de beneficiários é baseado na tabela BA1.
Portanto, dentro da expressão SQL retornada, é possível utilizar:

  • CASE WHEN

  • campos da BA1

  • lógicas condicionais por tipo, situação, categoria etc.

Isso permite definir ações diferentes por beneficiário.
Exemplo:

  • Titulares podem ter edit e block

  • Dependentes podem ter apenas block

Exemplo simples de uso:

Bloco de código
languagec#
themeRDark
linenumberstrue
#include "protheus.ch"  

user function PTBENANXPTBENACT()

	    local oAttachmentscActions as object

	oAttachments := JsonObject():new()
	oAttachments["enabled"] := .T.
	oAttachments["required"] := .T.
	oAttachments["informationMessage"] := "Esta mensagem foi alterado via ponto de entrada"

return oAttachments:= "'edit,block'"

return cActions

Exemplo completo com CASE WHEN:

Bloco de código
languagec#
themeRDark
linenumberstrue
#include "protheus.ch"

user function PTBENACT()

    local cQuery as character
	local cHolderType := getNewPar("MV_PLCDTIT", "T") as character
	
	cQuery := " CASE "
	cQuery += "		WHEN BA1.BA1_TIPUSU = '" + cHolderType + "' THEN 'edit,block' "
	cQuery += "		ELSE 'block' "
	cQuery += " END "

return cQuery

04. ASSUNTOS RELACIONADOS

    Não se aplica,

...