Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Solucoes_totvs
SolucaoTOTVS Saúde Planos

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoSaúde

Módulo:

PORTAL DA EMPRESA

Função:GERENCIAR BENEFICIÁRIOS
País:Brasil
Ticket:
Story:DSAUBE-2689828654

02. DESCRIÇÃO

Este ponto de entrada permite definir, via expressão SQL, quais ações estarão disponíveis para cada beneficiário no processo de consulta na tela de gerenciar beneficiários.

...

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,

...