Pessoal o TDN e muito confuso sobre este ponto de entrada. Começa com uma variável com valor lógico e depois atribui uma expressão e retorna esta expressão. Podem me ajudar ? Preciso apenas filtrar os contatos, trazer apenas os ativos na tela do call center em tele vendas.
Fonte é bem simples, deveria ser simples.
URL do TDN: https://tdn.totvs.com/display/public/PROT/TKFILCONT+-+Filtrar+os+Contatos
User Function TKFILCONT()
Local _lRet := .T.
_lRet := U5_ATIVO = '1'
Alert("Passou pelo PE: TKFILCONT")
Return _lRet
Olá,
O ponto de entrada retorna um booleano.
O exemplo do TDN atribui uma expressão ADVPL que tem como retorno um valor booleano, a ideia é exemplificar que você pode retornar esse valor como .T. ou como .F. conforme certas condições:
User Function TKFILCONT()
Local _lRet := .F.
Alert("Passou pelo PE: TKFILCONT")// Irá filtrar somente os contatos da cidade do Rio de Janeiro e do Sexo feminino.
_lRet := U5_EST = 'RJ' .AND. U5_SEXO = '2'
Return _lRet
Ou seja, no exemplo do TDN, o ponto de entrada retornará verdadeiro somente caso o estado seja RJ e o sexo 2.
Seu exemplo também está correto:
User Function TKFILCONT()
Local _lRet := .T.
_lRet := U5_ATIVO = '1'
Alert("Passou pelo PE: TKFILCONT")
Return _lRet
A diferença que você vai retornar verdadeiro somente conforme o registro estar ativo. Dê preferência a comparar strings usando dois sinais de igualdade:
_lRet := U5_ATIVO == '1'
Dessa forma a comparação é feita "por completo" e não existem a possibilidade de retornar verdadeiro conforme uma string estar contida em outra.
Caso o ponto de entrada não for chamado, significa que o trecho que você deseja efetuar esse filtro, não chama esse ponto de entrada, aí você poderia verificar a utilização de outro ponto de entrada ou solicitar uma melhoria para que esse PE seja chamado nesse novo trecho.