Páginas filhas
  • Dados Protegidos em Consulta Padrão


Alguns campos de código possuem consultas padrão (Lookup ou F3) com exibição de conteúdo que precisam ser restringidos. Em condições padrões estas colunas recebem o código de um campo como: A1_NOME, A3_NOME e US_NOME.

Contudo, para alguns casos específicos o conteúdo a ser exibido é resultado de uma função combinando campos.


A ofuscação de dados nas consultas seguirá o padrão do browse, procurando por associações dos nomes das colunas, com o cadastro dos campos nos Dados Protegidos.

Portanto, para os casos de consulta padrão, que sigam a convenção de código do campo para montagem de conteúdo para as colunas, nada precisará ser alterado no sistema, após ter sido feita a configuração dos acessos nos grupos e usuários e a configuração dos campos para Dados Protegidos.

Esta melhoria depende da atualização do appserver e smartclient, disponibilizados junto a release 12.1.27 do Protheus (64 bits)

Para criar os recursos fundamentais no sistema é necessário a aplicação da lib, atualizada com label mínimo 20200214, e atualização do sistema com upddistr.

A aplicação do UPDDISTR pode acontecer com:

    • pacote diferencial de upgrade para o Release 12.1.27;
    • pacote específico para Dados Protegidos, nos Releases 12.1.17, 12.1.23 e 12.1.25.

    Release 12.1.17 somente para clientes com garantia estendida

Nos casos em que as colunas a serem exibidas nas consultas padrões tenham expressões como SubStrAlltrim ou Posicione, foi adicionado um recurso que irá avaliar antes da exibição do conteúdo; na existência de algum dado restrito será realizada a ofuscação.

Exemplos:

Alltrim(A1_NOME) 
Posicione("SUS", 1, xFilial("SUS")+X1_COD, "US_NOME") 
SubStr("A3_NOME", 1, 20) 


As demais situações precisarão de alteração do dicionário de consulta padrão para inserir uma função, que fará a avaliação da existência de conteúdo restrito e a ofuscação quando necessário. A função disponibilizada é FwPdLookupContudo o uso dessa função exige cuidados, como esta função existe a partir da lib com label 20200214 é necessário fazer a proteção de seu uso.

Exemplo de uso:

  • Conteúdo antes da alteração => MyFuncCol()
  • Conteúdo após alteração => iif(FindFunction("FwPdLookup"),FWPdLookup("#!#A2_NOME,A2_NOMEREDUZ#!#","FunctionXPTO()"), FunctionXPTO()) 

O conteúdo informado como parâmetro para a função FWPdLookup("#!#A2_NOME,A2_NOMEREDUZ#!#","FunctionXPTO()"),tem o seguinte objetivo:
- parâmetro 1: identificar a lista de campos utilizados na função FunctionXPTO() e, assim, avaliar se deve ofuscar o conteúdo.
- parâmetro 2: ter a função para chamar devidamente a função que constrói o conteúdo para a coluna.